/* Options: Date: 2024-06-02 08:25:41 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://testapi.bokamera.se //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CalculateTotalPriceOnService.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export interface ICompany { CompanyId?: string; } export class RebateCodeAppliedWithAmount { public Id: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class PriceInterval { /** @description 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) public From: string; /** @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. */ // @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.") public To?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class RebateCodeTypeItem { public Id: number; public Name: string; public Description: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AppliedRebateCodesResponse { public RebateCodeSign: string; public RebateCodeValue: number; public RebateCodeType: RebateCodeTypeItem; public RebateCodeId: number; public RebateAmount: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class TotalPricePriceDetail { public Quantity: number; public Price: number; public VatAmount: number; public Description: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class TotalPriceInformationResponse { public PriceSign: string; public CurrencyId: string; public TotalPrice: number; public TotalVatAmount: number; public TotalPriceBeforeRebate: number; public AppliedCodes: AppliedRebateCodesResponse[]; public PriceDetails: TotalPricePriceDetail[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/services/{Id}/calculateprice", "PUT") export class CalculateTotalPriceOnService implements IReturn, ICompany { /** @description 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.") public CompanyId?: string; /** @description Id of the service */ // @ApiMember(Description="Id of the service", IsRequired=true, ParameterType="path") public Id: number; /** @description The price interval to be used for calculations */ // @ApiMember(Description="The price interval to be used for calculations", IsRequired=true) public Interval: PriceInterval; /** @description Rebate codes applied to booking */ // @ApiMember(Description="Rebate codes applied to booking") public RebateCodeIdsWithAmount: RebateCodeAppliedWithAmount[]; /** @description 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.") public Quantities: QuantityToBook[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'CalculateTotalPriceOnService'; } public getMethod() { return 'PUT'; } public createResponse() { return new TotalPriceInformationResponse(); } }