/* Options: Date: 2025-09-13 18:35:09 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bookmore.com //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CalculateTotalPriceOnService.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.* */ import java.math.* import java.util.* import java.io.InputStream 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.") override var CompanyId:UUID? = null /** * Id of the service */ @ApiMember(Description="Id of the service", IsRequired=true, ParameterType="path") open var Id:Int? = null /** * The price interval to be used for calculations */ @ApiMember(Description="The price interval to be used for calculations", IsRequired=true) open var Interval:PriceInterval? = null /** * Rebate codes applied to booking */ @ApiMember(Description="Rebate codes applied to booking") open var RebateCodeIds:ArrayList? = null /** * 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.") open var Quantities:ArrayList? = null /** * */ @ApiMember(Description="") open var CustomerEmail:String? = null companion object { private val responseType = TotalPriceInformationResponse::class.java } override fun getResponseType(): Any? = CalculateTotalPriceOnService.responseType } open class TotalPriceInformationResponse { open var PriceSign:String? = null open var CurrencyId:String? = null open var TotalPrice:Double? = null open var TotalVatAmount:Double? = null open var TotalPriceBeforeRebate:Double? = null open var AppliedCodes:ArrayList? = null open var PriceDetails:ArrayList? = null } 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) open 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.") open var To:Date? = null } open class RebateCodeTypeResponse { open var Id:Int? = null open var Name:String? = null open var Description:String? = null } open class AppliedRebateCodesResponse { open var RebateCodeSign:String? = null open var RebateCodeValue:Int? = null open var RebateCodeType:RebateCodeTypeResponse? = null open var RebateCodeId:Int? = null open var RebateAmount:Double? = null } open class TotalPricePriceDetail { open var Quantity:Int? = null open var Price:Double? = null open var VatAmount:Double? = null open var Description:String? = null }