/* Options: Date: 2025-05-30 09:43:51 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: C2BGetInstrumentInfoRequest.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* /** * C2BGetInstrumentInfoRequires active-e Contracts Service. */ @Route(Path="/C2BGetInstrumentInfo", Verbs="POST, GET") @DataContract open class C2BGetInstrumentInfoRequest : BaseSecureRequest(), IReturn<C2BGetInstrumentInfoResponse> { /** * ID of the Teacher/Instrument record. */ @DataMember @ApiMember(DataType="integer", Description="ID of the Teacher/Instrument record.", Format="int64", Name="RsiPk", ParameterType="query") var RsiPk:Long? = null /** * ID of the Teacher record. */ @DataMember @ApiMember(DataType="integer", Description="ID of the Teacher record.", Format="int64", Name="TeacherId", ParameterType="query") var TeacherId:Long? = null /** * Optional Plan Code Override. If not sent, plancode from the school will be used. */ @DataMember @ApiMember(DataType="string", Description="Optional Plan Code Override. If not sent, plancode from the school will be used.", Name="PlanCode", ParameterType="query") var PlanCode:String? = null /** * If set to false, less details will be sent. Defaults to True. */ @DataMember @ApiMember(DataType="boolean", Description="If set to false, less details will be sent. Defaults to True.", Name="GetDetails", ParameterType="query") var GetDetails:Boolean? = null /** * If set to true, Out of Stock items will be included. */ @DataMember @ApiMember(DataType="boolean", Description="If set to true, Out of Stock items will be included.", Name="IncludeOutOfStockItems", ParameterType="query") var IncludeOutOfStockItems:Boolean? = null /** * If set to true, each instrument will include a list of accessory options. Defaults to False. */ @DataMember @ApiMember(DataType="boolean", Description="If set to true, each instrument will include a list of accessory options. Defaults to False.", Name="IncludeAccessoryOptions", ParameterType="query") var IncludeAccessoryOptions:Boolean? = null /** * If set to true, each instrument will include a list of delivery options. Defaults to False. */ @DataMember @ApiMember(DataType="boolean", Description="If set to true, each instrument will include a list of delivery options. Defaults to False.", Name="IncludeDeliveryOptions", ParameterType="query") var IncludeDeliveryOptions:Boolean? = null /** * If set to true, each instrument will include a list of maintenance options. Defaults to False. */ @DataMember @ApiMember(DataType="boolean", Description="If set to true, each instrument will include a list of maintenance options. Defaults to False.", Name="IncludeMaintenanceOptions", ParameterType="query") var IncludeMaintenanceOptions:Boolean? = null companion object { private val responseType = C2BGetInstrumentInfoResponse::class.java } override fun getResponseType(): Any? = C2BGetInstrumentInfoRequest.responseType } @DataContract open class C2BGetInstrumentInfoResponse : BaseResponse() { @DataMember var Instruments:ArrayList<C2BInstrumentGeneric> = ArrayList<C2BInstrumentGeneric>() } @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 C2BInstrumentGeneric { @DataMember var InstrumentName:String? = null @DataMember var Sku:String? = null @DataMember var Topic:String? = null @DataMember var Image:String? = null @DataMember var Level:Int? = null @DataMember var RentPrice:BigDecimal? = null @DataMember var CashPrice:BigDecimal? = null @DataMember var Token:String? = null @DataMember var InstrumentId:Long? = null @DataMember var InstrumentTeacherId:Long? = null @DataMember var GradeList:ArrayList<C2BGradeGeneric> = ArrayList<C2BGradeGeneric>() @DataMember var HasGrades:Boolean? = null @DataMember var DisplayOrder:Int? = null @DataMember var AccessoryList:ArrayList<C2BAccessoryGeneric> = ArrayList<C2BAccessoryGeneric>() @DataMember var DeliveryList:ArrayList<C2BAccessoryGeneric> = ArrayList<C2BAccessoryGeneric>() @DataMember var MaintenanceList:ArrayList<C2BAccessoryGeneric> = ArrayList<C2BAccessoryGeneric>() } @DataContract open class C2BGradeGeneric { @DataMember var Level:Int? = null @DataMember var Grade:String? = null @DataMember var DownPay:BigDecimal? = null @DataMember var DownMaint:BigDecimal? = null @DataMember var MoPay:BigDecimal? = null @DataMember var MoMaint:BigDecimal? = null @DataMember var Id:Long? = null @DataMember var OutOfStock:Boolean? = null @DataMember var RentPrice:BigDecimal? = null @DataMember var CashPrice:BigDecimal? = null @DataMember var DownPayTax:BigDecimal? = null @DataMember var DownMaintTax:BigDecimal? = null @DataMember var MoPayTax:BigDecimal? = null @DataMember var MoMaintTax:BigDecimal? = null @DataMember var RentPricePlusTax:BigDecimal? = null @DataMember var RentPricePlusTaxLessDownpay:BigDecimal? = null @DataMember var Months:Int? = null } @DataContract open class C2BAccessoryGeneric { @DataMember var AccessoryDesc:String? = null @DataMember var Price:BigDecimal? = null @DataMember var Required:Boolean? = null @DataMember var Default:Boolean? = null @DataMember var RequiresLocation:Boolean? = null @DataMember var Type:String? = null @DataMember var Topic:String? = null @DataMember var Id:Long? = null @DataMember var DisplayOrder:Int? = null @DataMember var Sku:String? = null @DataMember var TaxAmount:BigDecimal? = null @DataMember var CatNum:Int? = null } @DataContract open class BaseResponse { /** * */ @DataMember @ApiMember(DataType="BaseResponseResult", Description="", Name="Status", ParameterType="body") var Status:BaseResponseResult? = null }