/* Options: Date: 2025-05-10 02:05:36 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: GetPOSTotalsRequest.* //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="/GetPOSTotals", Verbs="POST") @DataContract open class GetPOSTotalsRequest : BaseSecureRequest(), IReturn { @DataMember var Acct:Int? = null @DataMember var LocId:Long? = null @DataMember var TaxId:Long? = null @DataMember var Items:ArrayList = ArrayList() /** * MANUAL, BLANKET_PERCENT, BLANKET_AMOUNT, BACK_INTO_TOTAL, or BACK_INTO_TOTAL_WITH_TAX. Defaults to Manual. No line item discounts can be set unless this is MANUAL. */ @DataMember @ApiMember(Description="MANUAL, BLANKET_PERCENT, BLANKET_AMOUNT, BACK_INTO_TOTAL, or BACK_INTO_TOTAL_WITH_TAX. Defaults to Manual. No line item discounts can be set unless this is MANUAL.", Name="DiscountMode", ParameterType="query") var DiscountMode:String? = null @DataMember var DiscountDetail:BigDecimal? = null companion object { private val responseType = GetPOSTotalsResponse::class.java } override fun getResponseType(): Any? = GetPOSTotalsRequest.responseType } @DataContract open class GetPOSTotalsResponse : BaseResponse() { @DataMember var SubTotal:BigDecimal? = null @DataMember var TaxTotal:BigDecimal? = null @DataMember var Total:BigDecimal? = null @DataMember var Items: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 }