/* Options: Date: 2025-05-10 02:25:42 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: C2BPostContractRequest.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* /** * C2BPostContractRequires active-e Contracts Service. */ @Route(Path="/C2BPostContract", Verbs="POST, GET") @DataContract open class C2BPostContractRequest : BaseSecureRequest(), IReturn { /** * ID of the teacher to associate the contract with. */ @DataMember @ApiMember(DataType="integer", Description="ID of the teacher to associate the contract with.", Format="int64", Name="TeacherId", ParameterType="query") var TeacherId:Long? = null /** * Used to associate the contract with a school by school name. */ @DataMember @ApiMember(DataType="string", Description="Used to associate the contract with a school by school name.", Name="SchoolName", ParameterType="query") var SchoolName:String? = null /** * Used to associate the contract with a school by the AIM School ID */ @DataMember @ApiMember(DataType="string", Description="Used to associate the contract with a school by the AIM School ID", Name="AIMSchoolId", ParameterType="query") var AIMSchoolId:Long? = null /** * Used to associate the contract with a location by location code. */ @DataMember @ApiMember(DataType="string", Description="Used to associate the contract with a location by location code.", Name="Stloc", ParameterType="query") var Stloc:String? = null /** * ID of the instrument to associate the contract with. */ @DataMember @ApiMember(DataType="integer", Description="ID of the instrument to associate the contract with.", Format="int64", Name="InstrumentId", ParameterType="query") var InstrumentId:Long? = null /** * */ @DataMember @ApiMember(DataType="string", Description="", Name="Sku", ParameterType="query") var Sku:String? = null /** * */ @DataMember @ApiMember(DataType="string", Description="", Name="Desc", ParameterType="query") var Desc:String? = null /** * The ID from the C2BGradeGeneric object */ @DataMember @ApiMember(DataType="integer", Description="The ID from the C2BGradeGeneric object", Format="int64", Name="RateId", ParameterType="query") var RateId:Long? = null /** * */ @DataMember @ApiMember(DataType="object", Description="", Name="Rate", ParameterType="query") var Rate:Rate? = null /** * */ @DataMember @ApiMember(DataType="array", Description="", Name="AccessoryIdList", ParameterType="query") var AccessoryIdList:ArrayList = ArrayList() /** * */ @DataMember @ApiMember(DataType="array", Description="", Name="AccessoryList", ParameterType="query") var AccessoryList:ArrayList = ArrayList() /** * */ @DataMember @ApiMember(DataType="array", Description="", Name="FormInputList", ParameterType="query") var FormInputList:ArrayList = ArrayList() /** * */ @DataMember @ApiMember(DataType="object", Description="", Name="CcInfo", ParameterType="query") var CcInfo:CcInfo? = null /** * */ @DataMember @ApiMember(DataType="object", Description="", Name="CustomerInfo", ParameterType="query") var CustomerInfo:CustomerInfo? = null /** * */ @DataMember @ApiMember(DataType="integer", Description="", Format="int32", Name="CusAcct", ParameterType="query") var CusAcct:Int? = null /** * */ @DataMember @ApiMember(DataType="int", Description="", Name="Cat", ParameterType="query") var Cat:Int? = null /** * */ @DataMember @ApiMember(DataType="int", Description="", Name="Sub", ParameterType="query") var Sub:Int? = null @DataMember var ReturnTopic:Boolean? = null @DataMember var StatusId:Long? = null @DataMember var CardTerminalId:String? = null companion object { private val responseType = C2BPostContractResponse::class.java } override fun getResponseType(): Any? = C2BPostContractRequest.responseType } @DataContract open class C2BPostContractResponse : BaseResponse() { @DataMember var PaymentRequired:Boolean? = null @DataMember var Topic:String? = null @DataMember var WebRef:String? = null @DataMember var BaseUrl:String? = null } @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(Name="Accessory") open class Accessory { @DataMember var Desc:String? = null @DataMember var Price:BigDecimal? = null @DataMember var Type:String? = null @DataMember var CatNum:Int? = null @DataMember var Sku:String? = null @DataMember var Report:Boolean? = null } @DataContract(Name="FormInput") open class FormInput { /** * Field Name of the Input Field */ @DataMember @ApiMember(DataType="string", Description="Field Name of the Input Field", IsRequired=true, Name="Key", ParameterType="query") var Key:String? = null /** * Value of the Input Field. */ @DataMember @ApiMember(DataType="string", Description="Value of the Input Field.", IsRequired=true, Name="Value", ParameterType="query") var Value:String? = null /** * Whether or not the field is encryped with the C2B encryption key. */ @DataMember @ApiMember(DataType="boolean", Description="Whether or not the field is encryped with the C2B encryption key.", IsRequired=true, Name="Encrypted", ParameterType="query") var Encrypted:Boolean? = null } @DataContract(Name="Rate") open class Rate { @DataMember var PlanCode:String? = null @DataMember var Level:Int? = null @DataMember var Grade:String? = null @DataMember var DownPay:BigDecimal? = null @DataMember var MoPay:BigDecimal? = null @DataMember var DownMaint:BigDecimal? = null @DataMember var MoMaint:BigDecimal? = null @DataMember var RdfType:String? = null @DataMember var ContractDefaultId:Long? = null /** * The Number of Months covered by the downpayment */ @DataMember @ApiMember(DataType="int", Description="The Number of Months covered by the downpayment", Name="Months") var Months:Int? = null @DataMember var DownLease:BigDecimal? = null @DataMember var MoLease:BigDecimal? = null } @DataContract(Name="CCInfo") open class CcInfo { /** * Token returned from processor */ @DataMember @ApiMember(DataType="string", Description="Token returned from processor", IsRequired=true, Name="TokenStr", ParameterType="query") var TokenStr:String? = null /** * Card Type (VISA, MCARD, AMEX, DSCVR) */ @DataMember @ApiMember(DataType="string", Description="Card Type (VISA, MCARD, AMEX, DSCVR)", IsRequired=true, Name="CardType", ParameterType="query") var CardType:String? = null /** * Last four of the card */ @DataMember @ApiMember(DataType="string", Description="Last four of the card", IsRequired=true, Name="LastFour", ParameterType="query") var LastFour:String? = null /** * Expiration Date of the Card. (MM/YY) */ @DataMember @ApiMember(DataType="string", Description="Expiration Date of the Card. (MM/YY)", Name="Expiration", ParameterType="query") var Expiration:String? = null /** * Reason the card is on file. */ @DataMember @ApiMember(DataType="string", Description="Reason the card is on file.", Name="ReasonOnFile", ParameterType="query") var ReasonOnFile:String? = null /** * ID of the existing Token Record in AIM, if applicable */ @DataMember @ApiMember(DataType="integer", Description="ID of the existing Token Record in AIM, if applicable", Format="int64", Name="TokenPk", ParameterType="query") var TokenPk:Long? = null /** * Is this the customer's primary card? Defaults to false. */ @DataMember @ApiMember(DataType="boolean", Description="Is this the customer's primary card? Defaults to false.", Name="Primary", ParameterType="query") var Primary:Boolean? = null } @DataContract(Name="CustomerInfo") open class CustomerInfo { /** * The WebId of the customer. Optional. */ @DataMember @ApiMember(DataType="integer", Description="The WebId of the customer. Optional.", Format="int32", IsRequired=true, Name="WebId", ParameterType="query") var WebId:Int? = null /** * Name of the customer. */ @DataMember @ApiMember(DataType="string", Description="Name of the customer.", IsRequired=true, Name="Name", ParameterType="query") var Name:String? = null /** * Address line 1 of the customer */ @DataMember @ApiMember(DataType="string", Description="Address line 1 of the customer", Name="Addr1", ParameterType="query") var Addr1:String? = null /** * Address line 2 of the customer */ @DataMember @ApiMember(DataType="string", Description="Address line 2 of the customer", Name="Addr2", ParameterType="query") var Addr2:String? = null /** * City of the customer */ @DataMember @ApiMember(DataType="string", Description="City of the customer", Name="City", ParameterType="query") var City:String? = null /** * State/Province of the customer */ @DataMember @ApiMember(DataType="string", Description="State/Province of the customer", Name="St", ParameterType="query") var St:String? = null /** * Zip code of the customer */ @DataMember @ApiMember(DataType="string", Description="Zip code of the customer", Name="Zip", ParameterType="query") var Zip:String? = null /** * Country of the customer */ @DataMember @ApiMember(DataType="string", Description="Country of the customer", Name="Country", ParameterType="query") var Country:String? = null /** * Phone number of the customer */ @DataMember @ApiMember(DataType="string", Description="Phone number of the customer", Name="Phone", ParameterType="query") var Phone:String? = null /** * Email address of the customer. Required. */ @DataMember @ApiMember(DataType="string", Description="Email address of the customer. Required.", IsRequired=true, Name="Email", ParameterType="query") var Email:String? = null } @DataContract open class BaseResponse { /** * */ @DataMember @ApiMember(DataType="BaseResponseResult", Description="", Name="Status", ParameterType="body") var Status:BaseResponseResult? = null }