(* Options: Date: 2025-08-04 00:08:05 Version: 8.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://active-ewebservice.biz/aeServices30/api //GlobalNamespace: //MakeDataContractsExtensible: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //ExportValueTypes: False IncludeTypes: C2BPostContractRequest.* //ExcludeTypes: //InitializeCollections: True //AddNamespaces: *) namespace AIM.WebService open System open System.Collections open System.Collections.Generic open System.Runtime.Serialization open ServiceStack open ServiceStack.DataAnnotations [] [] type BaseRequest() = /// ///This is your AIM API Key provided by Tri-Tech /// [] [] member val ApiKey:String = null with get,set /// ///The OAuthToken token return by AeServices30 /// [] [] member val OAuthToken:String = null with get,set /// ///The Device ID of the Mobile Device. Not used for non-mobile devices. /// [] [] member val DeviceId:String = null with get,set /// ///An identifier for your integration /// [] [] member val AppId:String = null with get,set [] [] type BaseSecureRequest() = inherit BaseRequest() /// ///The Login Token return by the Security API. Required for secured calls. /// [] [] member val Token:String = null with get,set [] [] type Accessory() = /// ///The description to be used for the Accessory /// [] [] member val Desc:String = null with get,set /// ///The price to be used for the Accessory /// [] [] member val Price:Decimal = new Decimal() with get,set /// ///The type of Accessory. A is Accessory, D is Delivery Option, and M is Maintenance /// [] [] member val Type:String = null with get,set /// ///The category # in AIM to be linked to this accessory. /// [] [] member val CatNum:Int32 = new Int32() with get,set /// ///A SKU or Package Deal package SKU can be sent here to link the accessory to that SKU or package. /// [] [] member val Sku:String = null with get,set /// ///Internal Use Only /// [] [] member val Report:Nullable = new Nullable() with get,set [] [] type FormInput() = /// ///Field name of the Input Field. If linking to an Attribute, this should match the Tag value. /// [] [] member val Key:String = null with get,set /// ///Value of the Input Field. /// [] [] member val Value:String = null with get,set /// ///Whether or not the field is encryped with the C2B encryption key. /// [] [] member val Encrypted:Boolean = new Boolean() with get,set [] [] type Rate() = /// ///Plan Code to be used for the contract /// [] [] member val PlanCode:String = null with get,set /// ///Level to be used for the contract /// [] [] member val Level:Nullable = new Nullable() with get,set /// ///Grade to be used for the contract /// [] [] member val Grade:String = null with get,set /// ///Down Payment to be collected. Does not include maintenance or lease fees. /// [] [] member val DownPay:Nullable = new Nullable() with get,set /// ///Monthly amount to be collected for the contract. Does not include maintenance or lease fees. /// [] [] member val MoPay:Nullable = new Nullable() with get,set /// ///Down Payment to be collected for maintenance. /// [] [] member val DownMaint:Nullable = new Nullable() with get,set /// ///Monthly amount to be collected for the maintenance. /// [] [] member val MoMaint:Nullable = new Nullable() with get,set /// ///If sent, the first Contract Default with this rental type will be used. Not used if ContractDefaultId is sent. Valid values are EW: Extended Warranty, RO: Rent to Rent, RF: Rent to Own, SF: Sales Contract, RV: Simple Intrst: Rent, SV: Simple Intrst: Sales /// [] [] member val RdfType:String = null with get,set /// ///The ID of the contract default to be used for this contract. /// [] [] member val ContractDefaultId:Nullable = new Nullable() with get,set /// ///The Number of Months covered by the downpayment /// [] [] member val Months:Nullable = new Nullable() with get,set /// ///Down Payment to be collected for Lease Fees. /// [] [] member val DownLease:Nullable = new Nullable() with get,set /// ///Monthly amount to be collected for lease fees. /// [] [] member val MoLease:Nullable = new Nullable() with get,set [] [] type CcInfo() = /// ///Token returned from processor /// [] [] member val TokenStr:String = null with get,set /// ///Card Type (VISA, MCARD, AMEX, DSCVR) /// [] [] member val CardType:String = null with get,set /// ///Last four of the card /// [] [] member val LastFour:String = null with get,set /// ///Expiration Date of the Card. (MM/YY) /// [] [] member val Expiration:String = null with get,set /// ///Reason the card is on file. /// [] [] member val ReasonOnFile:String = null with get,set /// ///ID of the existing Token Record in AIM, if applicable /// [] [] member val TokenPk:Nullable = new Nullable() with get,set /// ///Is this the customer's primary card? Defaults to false. /// [] [] member val Primary:Nullable = new Nullable() with get,set [] [] type CustomerInfo() = /// ///The WebId of the customer. Optional. /// [] [] member val WebId:Nullable = new Nullable() with get,set /// ///Name of the customer. /// [] [] member val Name:String = null with get,set /// ///Address line 1 of the customer /// [] [] member val Addr1:String = null with get,set /// ///Address line 2 of the customer /// [] [] member val Addr2:String = null with get,set /// ///City of the customer /// [] [] member val City:String = null with get,set /// ///State/Province of the customer /// [] [] member val St:String = null with get,set /// ///Zip code of the customer /// [] [] member val Zip:String = null with get,set /// ///Country of the customer /// [] [] member val Country:String = null with get,set /// ///Phone number of the customer /// [] [] member val Phone:String = null with get,set /// ///Email address of the customer. Required. /// [] [] member val Email:String = null with get,set [] [] type BaseResponse() = /// /// /// [] [] member val Status:BaseResponseResult = null with get,set [] [] type C2BPostContractResponse() = inherit BaseResponse() [] member val PaymentRequired:Boolean = new Boolean() with get,set [] member val Topic:String = null with get,set [] member val WebRef:String = null with get,set [] member val BaseUrl:String = null with get,set /// ///C2BPostContractRequires active-e Contracts Service. /// [] [] [] type C2BPostContractRequest() = inherit BaseSecureRequest() interface IReturn /// ///ID of the teacher to associate the contract with. /// [] [] member val TeacherId:Nullable = new Nullable() with get,set /// ///Used to associate the contract with a school by school name. /// [] [] member val SchoolName:String = null with get,set /// ///Used to associate the contract with a school by the AIM School ID /// [] [] member val AIMSchoolId:Nullable = new Nullable() with get,set /// ///Used to associate the contract with a location by location code. /// [] [] member val Stloc:String = null with get,set /// ///ID of the instrument to associate the contract with. /// [] [] member val InstrumentId:Nullable = new Nullable() with get,set /// ///SKU to associate the contract with. Don't send if you send InstrumentId. /// [] [] member val Sku:String = null with get,set /// ///Description to associate the contract with if a SKU is sent. Don't send if you send InstrumentId. /// [] [] member val Desc:String = null with get,set /// ///The ID from the C2BGradeGeneric object /// [] [] member val RateId:Nullable = new Nullable() with get,set /// ///Rate object if you're not sending RateId. Don't send both. /// [] [] member val Rate:Rate = null with get,set /// ///List of Accessory/Delivery/Maintenance IDs. /// [] [] member val AccessoryIdList:ResizeArray = new ResizeArray() with get,set /// ///List of Accessory/Delivery/Maintenance objects. This is for items not defined in AIM. /// [] [] member val AccessoryList:ResizeArray = new ResizeArray() with get,set /// ///List of Key/Value pairs containing additional information about the customer. If the Key matches an attribute tag within AIM it will populate that attribute. The following Keys are also handled specially: RENTALNOTES, ONLINESIGNATURE, ATTENTION, EMPLOYER, SOCIALSECURITY, WORKPHONE, EXTENSION, EXTENSION2, CELLPHONE, FAX, BANKROUTINGNUMBER, BANKACCOUNTNUMBER, BANKTRANSACTIONTYPE, DRIVERSLICENSENUMBER, DRIVERSLICENSESTATE, BIRTHDAY, SIGCAPTURE, WORKPHONE_EXT, CELLPHONE_EXT, FAX_EXT, CREDITCHECKNAMEOVERRIDE, DELIVERYDATE /// [] [] member val FormInputList:ResizeArray = new ResizeArray() with get,set /// ///Credit Card Information /// [] [] member val CcInfo:CcInfo = null with get,set /// ///Customer Information if the a CusAcct is not being passed in. /// [] [] member val CustomerInfo:CustomerInfo = null with get,set /// ///AIM Customer Acct# to be linked to this contract. Do not pass in CustomerInfo if using CusAcct. /// [] [] member val CusAcct:Nullable = new Nullable() with get,set /// ///Used to associate a contract with a Cat/Sub rather then a SKU. Don't send if you send InstrumentId or SKU. /// [] [] member val Cat:Nullable = new Nullable() with get,set /// ///Used to associate a contract with a Cat/Sub rather then a SKU. Don't send if you send InstrumentId or SKU. /// [] [] member val Sub:Nullable = new Nullable() with get,set /// ///If TRUE is sent, a Topic will be returned with information from AIM. Usually not used. /// [] [] member val ReturnTopic:Nullable = new Nullable() with get,set /// ///If sent, the Contract will have the specified status in AIM upon creation. Use ContractStatusListing to get the desired Id. Usually not used. /// [] [] member val StatusId:Nullable = new Nullable() with get,set /// ///Internal Use Only. Do not use. /// [] [] member val CardTerminalId:String = null with get,set