/* Options: Date: 2025-05-10 04:03:15 Version: 8.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://active-ewebservice.biz/aeservices30/api //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: SubmitPOSTransactionRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; // @DataContract class BaseRequest implements IConvertible { /** * 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") String? ApiKey; // @DataMember // @ApiMember(DataType="string", Name="OAuthToken", ParameterType="header") String? OAuthToken; BaseRequest({this.ApiKey,this.OAuthToken}); BaseRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ApiKey = json['ApiKey']; OAuthToken = json['OAuthToken']; return this; } Map toJson() => { 'ApiKey': ApiKey, 'OAuthToken': OAuthToken }; getTypeName() => "BaseRequest"; TypeContext? context = _ctx; } // @DataContract class BaseSecureRequest extends BaseRequest implements IConvertible { /** * */ // @DataMember // @ApiMember(DataType="string", Description="", Name="Token", ParameterType="Header") String? Token; /** * */ // @DataMember // @ApiMember(DataType="string", Description="", Name="DeviceId", ParameterType="Header") String? DeviceId; /** * */ // @DataMember // @ApiMember(DataType="string", Description="", IsRequired=true, Name="AppId", ParameterType="Header") String? AppId; BaseSecureRequest({this.Token,this.DeviceId,this.AppId}); BaseSecureRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); Token = json['Token']; DeviceId = json['DeviceId']; AppId = json['AppId']; return this; } Map toJson() => super.toJson()..addAll({ 'Token': Token, 'DeviceId': DeviceId, 'AppId': AppId }); getTypeName() => "BaseSecureRequest"; TypeContext? context = _ctx; } // @DataContract class ExceptionInfo implements IConvertible { // @DataMember String? Barcode; // @DataMember String? Description; // @DataMember String? Base64Image; // @DataMember int? Category; // @DataMember int? SubCategory; ExceptionInfo({this.Barcode,this.Description,this.Base64Image,this.Category,this.SubCategory}); ExceptionInfo.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Barcode = json['Barcode']; Description = json['Description']; Base64Image = json['Base64Image']; Category = json['Category']; SubCategory = json['SubCategory']; return this; } Map toJson() => { 'Barcode': Barcode, 'Description': Description, 'Base64Image': Base64Image, 'Category': Category, 'SubCategory': SubCategory }; getTypeName() => "ExceptionInfo"; TypeContext? context = _ctx; } // @DataContract class PosLineItem implements IScanItem, IConvertible { // @DataMember int? SkuPk; // @DataMember int? SasPk; // @DataMember String? Sku; // @DataMember String? Serial; // @DataMember double? Quantity; // @DataMember ExceptionInfo? ExceptionInfo; // @DataMember double? Discount; // @DataMember int? NicsCat; // @DataMember int? NicsSub; // @DataMember double? PriceOverride; // @DataMember bool? AllowPriceOverrideToIgnoreMinPrice; // @DataMember String? Notes; PosLineItem({this.SkuPk,this.SasPk,this.Sku,this.Serial,this.Quantity,this.ExceptionInfo,this.Discount,this.NicsCat,this.NicsSub,this.PriceOverride,this.AllowPriceOverrideToIgnoreMinPrice,this.Notes}); PosLineItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { SkuPk = json['SkuPk']; SasPk = json['SasPk']; Sku = json['Sku']; Serial = json['Serial']; Quantity = JsonConverters.toDouble(json['Quantity']); ExceptionInfo = JsonConverters.fromJson(json['ExceptionInfo'],'ExceptionInfo',context!); Discount = JsonConverters.toDouble(json['Discount']); NicsCat = json['NicsCat']; NicsSub = json['NicsSub']; PriceOverride = JsonConverters.toDouble(json['PriceOverride']); AllowPriceOverrideToIgnoreMinPrice = json['AllowPriceOverrideToIgnoreMinPrice']; Notes = json['Notes']; return this; } Map toJson() => { 'SkuPk': SkuPk, 'SasPk': SasPk, 'Sku': Sku, 'Serial': Serial, 'Quantity': Quantity, 'ExceptionInfo': JsonConverters.toJson(ExceptionInfo,'ExceptionInfo',context!), 'Discount': Discount, 'NicsCat': NicsCat, 'NicsSub': NicsSub, 'PriceOverride': PriceOverride, 'AllowPriceOverrideToIgnoreMinPrice': AllowPriceOverrideToIgnoreMinPrice, 'Notes': Notes }; getTypeName() => "PosLineItem"; TypeContext? context = _ctx; } // @DataContract class PosResponseItem extends PosLineItem implements IConvertible { // @DataMember double? PriceEach; // @DataMember double? Price; // @DataMember bool? Discountable; // @DataMember String? ErrorMessage; PosResponseItem({this.PriceEach,this.Price,this.Discountable,this.ErrorMessage}); PosResponseItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); PriceEach = JsonConverters.toDouble(json['PriceEach']); Price = JsonConverters.toDouble(json['Price']); Discountable = json['Discountable']; ErrorMessage = json['ErrorMessage']; return this; } Map toJson() => super.toJson()..addAll({ 'PriceEach': PriceEach, 'Price': Price, 'Discountable': Discountable, 'ErrorMessage': ErrorMessage }); getTypeName() => "PosResponseItem"; TypeContext? context = _ctx; } abstract class IScanItem { int? SkuPk; int? SasPk; String? Sku; String? Serial; double? Quantity; ExceptionInfo? ExceptionInfo; } // @DataContract class BaseResponse implements IConvertible { /** * */ // @DataMember // @ApiMember(DataType="BaseResponseResult", Description="", Name="Status", ParameterType="body") BaseResponseResult? Status; BaseResponse({this.Status}); BaseResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Status = JsonConverters.fromJson(json['Status'],'BaseResponseResult',context!); return this; } Map toJson() => { 'Status': JsonConverters.toJson(Status,'BaseResponseResult',context!) }; getTypeName() => "BaseResponse"; TypeContext? context = _ctx; } // @DataContract class SubmitPOSTransactionResponse extends BaseResponse implements IConvertible { // @DataMember String? RefNumber; // @DataMember List? ErrorItems; SubmitPOSTransactionResponse({this.RefNumber,this.ErrorItems}); SubmitPOSTransactionResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); RefNumber = json['RefNumber']; ErrorItems = JsonConverters.fromJson(json['ErrorItems'],'List',context!); return this; } Map toJson() => super.toJson()..addAll({ 'RefNumber': RefNumber, 'ErrorItems': JsonConverters.toJson(ErrorItems,'List',context!) }); getTypeName() => "SubmitPOSTransactionResponse"; TypeContext? context = _ctx; } /** * In development, not yet for public use. */ // @Route("/SubmitPOSTransaction", "POST") // @DataContract class SubmitPOSTransactionRequest extends BaseSecureRequest implements IReturn, IConvertible, IPost { // @DataMember int? Acct; // @DataMember int? LocId; // @DataMember int? TaxId; // @DataMember List? Items; /** * 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") String? TenderType; /** * 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") int? OtherTenderCategory; // @DataMember String? CardToken; // @DataMember String? CardExpiration; // @DataMember int? TokenPk; // @DataMember bool? SaveCard; // @DataMember String? PONumber; /** * 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") String? TransactionMode; /** * Only valid for Approvals and Orders. */ // @DataMember // @ApiMember(DataType="decimal", Description="Only valid for Approvals and Orders.", Name="Deposit", ParameterType="query") double? Deposit; // @DataMember String? Notes; /** * Do Not Send This Parameter */ // @DataMember // @ApiMember(Description="Do Not Send This Parameter", Name="OnlineContractRef", ParameterType="query") String? OnlineContractRef; // @DataMember int? ShipId; // @DataMember String? CardTerminalId; SubmitPOSTransactionRequest({this.Acct,this.LocId,this.TaxId,this.Items,this.TenderType,this.OtherTenderCategory,this.CardToken,this.CardExpiration,this.TokenPk,this.SaveCard,this.PONumber,this.TransactionMode,this.Deposit,this.Notes,this.OnlineContractRef,this.ShipId,this.CardTerminalId}); SubmitPOSTransactionRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); Acct = json['Acct']; LocId = json['LocId']; TaxId = json['TaxId']; Items = JsonConverters.fromJson(json['Items'],'List',context!); TenderType = json['TenderType']; OtherTenderCategory = json['OtherTenderCategory']; CardToken = json['CardToken']; CardExpiration = json['CardExpiration']; TokenPk = json['TokenPk']; SaveCard = json['SaveCard']; PONumber = json['PONumber']; TransactionMode = json['TransactionMode']; Deposit = JsonConverters.toDouble(json['Deposit']); Notes = json['Notes']; OnlineContractRef = json['OnlineContractRef']; ShipId = json['ShipId']; CardTerminalId = json['CardTerminalId']; return this; } Map toJson() => super.toJson()..addAll({ 'Acct': Acct, 'LocId': LocId, 'TaxId': TaxId, 'Items': JsonConverters.toJson(Items,'List',context!), 'TenderType': TenderType, 'OtherTenderCategory': OtherTenderCategory, 'CardToken': CardToken, 'CardExpiration': CardExpiration, 'TokenPk': TokenPk, 'SaveCard': SaveCard, 'PONumber': PONumber, 'TransactionMode': TransactionMode, 'Deposit': Deposit, 'Notes': Notes, 'OnlineContractRef': OnlineContractRef, 'ShipId': ShipId, 'CardTerminalId': CardTerminalId }); createResponse() => SubmitPOSTransactionResponse(); getResponseTypeName() => "SubmitPOSTransactionResponse"; getTypeName() => "SubmitPOSTransactionRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'active_ewebservice.biz', types: { 'BaseRequest': TypeInfo(TypeOf.Class, create:() => BaseRequest()), 'BaseSecureRequest': TypeInfo(TypeOf.Class, create:() => BaseSecureRequest()), 'ExceptionInfo': TypeInfo(TypeOf.Class, create:() => ExceptionInfo()), 'PosLineItem': TypeInfo(TypeOf.Class, create:() => PosLineItem()), 'PosResponseItem': TypeInfo(TypeOf.Class, create:() => PosResponseItem()), 'IScanItem': TypeInfo(TypeOf.Interface), 'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()), 'BaseResponseResult': TypeInfo(TypeOf.Class, create:() => BaseResponseResult()), 'SubmitPOSTransactionResponse': TypeInfo(TypeOf.Class, create:() => SubmitPOSTransactionResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'SubmitPOSTransactionRequest': TypeInfo(TypeOf.Class, create:() => SubmitPOSTransactionRequest()), 'List': TypeInfo(TypeOf.Class, create:() => []), });