/* Options: Date: 2026-05-19 09:53:09 Version: 8.22 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://dev-api-booster.richemont.com //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateBasket.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* @Route(Path="/purchase/basket", Verbs="POST") open class CreateBasket : IReturn { /** * Brand Trigram of the intended order */ @ApiMember(Description="Brand Trigram of the intended order", IsRequired=true) var brand:String? = null /** * Pos Code for the intended order e.g. ES03-10415-01 */ @ApiMember(Description="Pos Code for the intended order e.g. ES03-10415-01", IsRequired=true) var posCode:String? = null /** * Customer Reference */ @ApiMember(Description="Customer Reference", IsRequired=true) var customerReference:String? = null /** * Additional Notes regarding the order */ @ApiMember(Description="Additional Notes regarding the order", IsRequired=true) var notes:String? = null /** * List of Articles to be added in the basket */ @ApiMember(Description="List of Articles to be added in the basket") var orderItems:ArrayList = ArrayList() /** * Brand Context ID */ @ApiMember(Description="Brand Context ID") var boosterContextId:String? = null companion object { private val responseType = CreateBasketResponse::class.java } override fun getResponseType(): Any? = CreateBasket.responseType } open class CreateBasketResponse { /** * ID of the newly created Purchase Order / Basket */ @ApiMember(Description="ID of the newly created Purchase Order / Basket", IsRequired=true) var purchaseOrderId:Int? = null /** * Validation results of each basket item */ @ApiMember(Description="Validation results of each basket item") var validationResults:ArrayList = ArrayList() } open class BasketItem { /** * Reference ID of the article/product */ @ApiMember(Description="Reference ID of the article/product", IsRequired=true) var articleCode:String? = null /** * Desired quantity of the article */ @ApiMember(Description="Desired quantity of the article") var quantity:Int? = null /** * Strap definition */ @ApiMember(Description="Strap definition") var strap:BasketStrapItem? = null } open class BasketItemResponse { /** * Line number of the article */ @ApiMember(Description="Line number of the article") var line:Int? = null /** * Reference ID of the article/product */ @ApiMember(Description="Reference ID of the article/product") var articleCode:String? = null /** * Old reference ID of the article/product */ @ApiMember(Description="Old reference ID of the article/product") var oldArticleCode:String? = null /** * Quantity of the article */ @ApiMember(Description="Quantity of the article") var quantity:Int? = null /** * Delivery date of the article */ @ApiMember(Description="Delivery date of the article") var deliveryDate:Date? = null /** * Strap definition */ @ApiMember(Description="Strap definition") var strap:BasketStrapItem? = null /** * Errors for the article */ @ApiMember(Description="Errors for the article") var errors:ArrayList = ArrayList() /** * Warnings for the article */ @ApiMember(Description="Warnings for the article") var warnings:ArrayList = ArrayList() } open class BasketStrapItem { /** * Article reference */ @ApiMember(Description="Article reference") var speakingArticleCode:String? = null /** * Buckle type Description */ @ApiMember(Description="Buckle type Description") var buckleTypeDescription:String? = null /** * Buckle type */ @ApiMember(Description="Buckle type") var buckleTypeCode:String? = null /** * watch 6 Length */ @ApiMember(Description="watch 6 Length") var watch6Length:Int? = null /** * watch 12 Length */ @ApiMember(Description="watch 12 Length") var watch12Length:Int? = null /** * Article Material Code */ @ApiMember(Description="Article Material Code") var materialCode:String? = null /** * Article Material Description */ @ApiMember(Description="Article Material Description") var materialDescription:String? = null /** * Article Color Code */ @ApiMember(Description="Article Color Code") var colorCode:String? = null /** * Article Color Description */ @ApiMember(Description="Article Color Description") var colorDescription:String? = null /** * Buckle Witdh */ @ApiMember(Description="Buckle Witdh") var buckleWidth:String? = null /** * Article Lining Code */ @ApiMember(Description="Article Lining Code") var liningCode:String? = null /** * Article Lining Description */ @ApiMember(Description="Article Lining Description") var liningDescription:String? = null /** * Article Stitching Code */ @ApiMember(Description="Article Stitching Code") var stitchingCode:String? = null /** * Article Stitching Description */ @ApiMember(Description="Article Stitching Description") var stitchingDescription:String? = null /** * Article Edge Code */ @ApiMember(Description="Article Edge Code") var edgeCode:String? = null /** * Article Edge Description */ @ApiMember(Description="Article Edge Description") var edgeDescription:String? = null /** * Article Padding Code */ @ApiMember(Description="Article Padding Code") var paddingCode:String? = null /** * Article Padding Description */ @ApiMember(Description="Article Padding Description") var paddingDescription:String? = null /** * Article Speciality Code */ @ApiMember(Description="Article Speciality Code") var specialtyCode:String? = null /** * Article Speciality Description */ @ApiMember(Description="Article Speciality Description") var specialtyDescription:String? = null /** * Nuancier Code */ @ApiMember(Description="Nuancier Code") var nuancierCode:String? = null /** * Strap Vip Order */ @ApiMember(Description="Strap Vip Order") var isStrapVipOrder:Boolean? = null }