/* Options: Date: 2026-08-17 10:08:33 Version: 6.10 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://stubbur-app.azurewebsites.net //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: WebshopOrderPurchaseRequest.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* @Route(Path="/Webshop/Order/Purchase", Verbs="POST") open class WebshopOrderPurchaseRequest : IReturn { var ownerId:Int? = null var externalId:String? = null var lines:ArrayList = ArrayList() var buyerName:String? = null var buyerEmail:String? = null var buyerPhone:String? = null var deliveryType:String? = null var droppLocationId:String? = null var address:String? = null var city:String? = null var zipCode:String? = null var country:String? = null var idempotencyKey:String? = null var discountCode:String? = null var tenders:ArrayList = ArrayList() var paymentMethodId:String? = null var paymentId:String? = null var cardInfo:PaymentRequestCreditCard? = null var borgun3DFinalInfo:Borgun3DFinalRequest? = null var applePayInfo:BorgunApplePayFinalInfo? = null companion object { private val responseType = WebshopOrderResult::class.java } override fun getResponseType(): Any? = WebshopOrderPurchaseRequest.responseType } open class WebshopOrderResult { var success:Boolean? = null var reason:String? = null var message:LocalizedMessage? = null var orderReference:String? = null var order:WebshopOrderSummary? = null var statusCode:Int? = null } open class Borgun3DFinalRequest { var transactionType:String? = null var amount:Int? = null var currency:String? = null var transactionDate:Date? = null var orderId:String? = null var paymentMethod:Borgun3DFinalPaymentMethodInfo? = null var threeDSecure:Borgun3DFinal3DSecureInfo? = null } open class PaymentRequestCreditCard { var paymentMethod:PaymentMethodCreditCardInfo? = null var amount:BigDecimal? = null var currency:String? = null var orderId:String? = null var transActionDate:Date? = null var saveCardToToken:Boolean? = null } open class BorgunApplePayFinalInfo { var orderId:String? = null var threeDSecure:BorgunApplePayThreeDSecureInfo? = null } open class WebshopPurchaseLine { var variantId:Int? = null var quantity:Int? = null } open class OrderTender { var kind:String? = null var code:String? = null var amountMinor:Int? = null var idempotencyKey:String? = null var holdId:Int? = null var appliedMinor:Int? = null } open class LocalizedMessage { @SerializedName("is") var Is:String? = null var en:String? = null } open class WebshopOrderSummary { var id:Int? = null var orderReference:String? = null var ownerId:Int? = null var status:String? = null var totalMinor:Int? = null var deliveryFeeMinor:Int? = null var totalDiscountMinor:Int? = null var currency:String? = null var buyerName:String? = null var buyerEmail:String? = null var buyerPhone:String? = null var address:String? = null var city:String? = null var zipCode:String? = null var country:String? = null var deliveryType:String? = null var droppOrderId:String? = null var droppLocationId:String? = null var needsDeliveryAttention:Boolean? = null var paymentMethodId:String? = null var paymentId:String? = null var paymentReference:String? = null var discountCode:String? = null var giftPaidMinor:Int? = null var createdAt:Date? = null var updatedAt:Date? = null var lines:ArrayList = ArrayList() } open class Borgun3DFinalPaymentMethodInfo { var paymentType:String? = null var token:String? = null var virtualNumber:String? = null var expYear:String? = null var expMonth:String? = null var panLastFour:String? = null } open class Borgun3DFinal3DSecureInfo { var dataType:String? = null var mpiToken:String? = null } open class PaymentMethodCreditCardInfo { var paymentType:String? = null var token:String? = null var pan:String? = null var expYear:String? = null var expMonth:String? = null var cvc:String? = null } open class BorgunApplePayThreeDSecureInfo { var dataType:String? = null var securityLevelInd:String? = null var cavv:String? = null var ucaf:String? = null } open class WebshopOrderLineSummary { var id:Int? = null var productId:Int? = null var variantId:Int? = null var productName:String? = null var size:String? = null var color:String? = null var unitPriceMinor:Int? = null var quantity:Int? = null var lineTotalMinor:Int? = null var status:String? = null var payoutInfoId:Int? = null var payoutTag:String? = null }