/* Options: Date: 2025-05-10 02:09:13 Version: 8.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://active-ewebservice.biz/aeservices30/api //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: SubmitPOSTransactionRequest.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* /** * In development, not yet for public use. */ @Route(Path="/SubmitPOSTransaction", Verbs="POST") @DataContract open class SubmitPOSTransactionRequest : BaseSecureRequest(), IReturn { @DataMember var Acct:Int? = null @DataMember var LocId:Long? = null @DataMember var TaxId:Long? = null @DataMember var Items:ArrayList = ArrayList() /** * Can be CARD, CARD_DEVICE, CASH, CHARGE, SUSPEND, ONFILE, or OTHER */ @DataMember @ApiMember(DataType="string", Description="Can be CARD, CARD_DEVICE, CASH, CHARGE, SUSPEND, ONFILE, or OTHER", Name="TenderType", ParameterType="query") var TenderType:String? = null /** * Only applicable for Tender Type of OTHER. Send the Payment Category # */ @DataMember @ApiMember(DataType="string", Description="Only applicable for Tender Type of OTHER. Send the Payment Category #", Name="OtherTenderCategory", ParameterType="query") var OtherTenderCategory:Int? = null @DataMember var CardToken:String? = null @DataMember var CardExpiration:String? = null @DataMember var TokenPk:Long? = null @DataMember var SaveCard:Boolean? = null @DataMember var PONumber:String? = null /** * Can be INVOICE, PROPOSAL, APPROVAL, ORDER, or LOANER. Defaults to INVOICE is not sent. */ @DataMember @ApiMember(DataType="string", Description="Can be INVOICE, PROPOSAL, APPROVAL, ORDER, or LOANER. Defaults to INVOICE is not sent.", Name="TransactionMode", ParameterType="query") var TransactionMode:String? = null /** * Only valid for Approvals and Orders. */ @DataMember @ApiMember(DataType="decimal", Description="Only valid for Approvals and Orders.", Name="Deposit", ParameterType="query") var Deposit:BigDecimal? = null @DataMember var Notes:String? = null /** * Do Not Send This Parameter */ @DataMember @ApiMember(Description="Do Not Send This Parameter", Name="OnlineContractRef", ParameterType="query") var OnlineContractRef:String? = null @DataMember var ShipId:Long? = null @DataMember var CardTerminalId:String? = null companion object { private val responseType = SubmitPOSTransactionResponse::class.java } override fun getResponseType(): Any? = SubmitPOSTransactionRequest.responseType } @DataContract open class SubmitPOSTransactionResponse : BaseResponse() { @DataMember var RefNumber:String? = null @DataMember var ErrorItems:ArrayList = ArrayList() } @DataContract open class BaseRequest { /** * This is your AIM API Key provided by Tri-Tech */ @DataMember @ApiMember(DataType="string", Description="This is your AIM API Key provided by Tri-Tech", IsRequired=true, Name="ApiKey", ParameterType="header") var ApiKey:String? = null @DataMember @ApiMember(DataType="string", Name="OAuthToken", ParameterType="header") var OAuthToken:String? = null } @DataContract open class BaseSecureRequest : BaseRequest() { /** * */ @DataMember @ApiMember(DataType="string", Description="", Name="Token", ParameterType="Header") var Token:String? = null /** * */ @DataMember @ApiMember(DataType="string", Description="", Name="DeviceId", ParameterType="Header") var DeviceId:String? = null /** * */ @DataMember @ApiMember(DataType="string", Description="", IsRequired=true, Name="AppId", ParameterType="Header") var AppId:String? = null } @DataContract open class PosLineItem : IScanItem { @DataMember var SkuPk:Long? = null @DataMember var SasPk:Long? = null @DataMember var Sku:String? = null @DataMember var Serial:String? = null @DataMember var Quantity:BigDecimal? = null @DataMember var ExceptionInfo:ExceptionInfo? = null @DataMember var Discount:BigDecimal? = null @DataMember var NicsCat:Int? = null @DataMember var NicsSub:Int? = null @DataMember var PriceOverride:BigDecimal? = null @DataMember var AllowPriceOverrideToIgnoreMinPrice:Boolean? = null @DataMember var Notes:String? = null } @DataContract open class PosResponseItem : PosLineItem() { @DataMember var PriceEach:BigDecimal? = null @DataMember var Price:BigDecimal? = null @DataMember var Discountable:Boolean? = null @DataMember var ErrorMessage:String? = null } @DataContract open class ExceptionInfo { @DataMember var Barcode:String? = null @DataMember var Description:String? = null @DataMember var Base64Image:String? = null @DataMember var Category:Int? = null @DataMember var SubCategory:Int? = null } open interface IScanItem { var SkuPk:Long? var SasPk:Long? var Sku:String? var Serial:String? var Quantity:BigDecimal? var ExceptionInfo:ExceptionInfo? } @DataContract open class BaseResponse { /** * */ @DataMember @ApiMember(DataType="BaseResponseResult", Description="", Name="Status", ParameterType="body") var Status:BaseResponseResult? = null }