/* Options: Date: 2024-11-21 11:53:08 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CalculateTotalPriceOnService.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* @Route(Path="/services/{Id}/calculateprice", Verbs="PUT") open class CalculateTotalPriceOnService : IReturn, ICompany { /** * The company id, if empty will use the company id for the user you are logged in with. */ @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.") var CompanyId:UUID? = null /** * Id of the service */ @ApiMember(Description="Id of the service", IsRequired=true, ParameterType="path") var Id:Int? = null /** * The price interval to be used for calculations */ @ApiMember(Description="The price interval to be used for calculations", IsRequired=true) var Interval:PriceInterval? = null /** * Rebate codes applied to booking */ @ApiMember(Description="Rebate codes applied to booking") var RebateCodeIds:ArrayList = ArrayList() /** * If you have selected to include the prices, here you can include the quantities to book to get the correct total price. */ @ApiMember(Description="If you have selected to include the prices, here you can include the quantities to book to get the correct total price.") var Quantities:ArrayList? = null /** * */ @ApiMember(Description="") var CustomerEmail:String? = null companion object { private val responseType = TotalPriceInformationResponse::class.java } override fun getResponseType(): Any? = CalculateTotalPriceOnService.responseType } open class TotalPriceInformationResponse { var PriceSign:String? = null var CurrencyId:String? = null var TotalPrice:Double? = null var TotalVatAmount:Double? = null var TotalPriceBeforeRebate:Double? = null var AppliedCodes:ArrayList = ArrayList() var PriceDetails:ArrayList = ArrayList() } open interface ICompany { var CompanyId:UUID? } open class PriceInterval { /** * The start date and time for the price to be calculated. Normally the booking start datetime. */ @ApiMember(Description="The start date and time for the price to be calculated. Normally the booking start datetime.", IsRequired=true) var From:Date? = null /** * The end date and time for the price to be calculated.Normally the booking end datetime. If nothing entered it will use the service length. */ @ApiMember(Description="The end date and time for the price to be calculated.Normally the booking end datetime. If nothing entered it will use the service length.") var To:Date? = null } open class RebateCodeTypeResponse { var Id:Int? = null var Name:String? = null var Description:String? = null } open class AppliedRebateCodesResponse { var RebateCodeSign:String? = null var RebateCodeValue:Int? = null var RebateCodeType:RebateCodeTypeResponse? = null var RebateCodeId:Int? = null var RebateAmount:Double? = null } open class TotalPricePriceDetail { var Quantity:Int? = null var Price:Double? = null var VatAmount:Double? = null var Description:String? = null }