/* Options: Date: 2024-07-03 12:50:51 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateBookingUserQueue.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class CustomerToBook { /** @description Customers firstname */ // @ApiMember(Description="Customers firstname", IsRequired=true) public Firstname: string; /** @description Customers lastname */ // @ApiMember(Description="Customers lastname", IsRequired=true) public Lastname: string; /** @description Customers email */ // @ApiMember(Description="Customers email", IsRequired=true) public Email: string; /** @description Customers phone number. Mobile phone number is required for SMS messages to be sent. */ // @ApiMember(Description="Customers phone number. Mobile phone number is required for SMS messages to be sent.", IsRequired=true) public Phone: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class QuantityToBook { /** @description If service has a price, enter the price id for that price. If no price exists for the service set 0 as PriceId. If you put 0 and a price exists, it will use that price (only works if just one price exists for the current selected date to book) */ // @ApiMember(Description="If service has a price, enter the price id for that price. If no price exists for the service set 0 as PriceId. If you put 0 and a price exists, it will use that price (only works if just one price exists for the current selected date to book)", IsRequired=true) public PriceId: number; /** @description Set the number of spots or resources you want to book on the specific price category */ // @ApiMember(Description="Set the number of spots or resources you want to book on the specific price category", IsRequired=true) public Quantity: number; /** @description If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information. */ // @ApiMember(Description="If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information.") public OccupiesSpot: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class GroupBookingSettings { public Active: boolean; public Min: number; public Max: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class MultipleResourceSettings { public Active: boolean; public Min: number; public Max: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class BookingUserQueuePriceResponse { public CompanyId: string; public Id: number; public BookingUserQueueId: number; public ServicePriceId?: number; public Quantity?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ServiceInfoResponse { public Id: number; public Name: string; public Description: string; public ImageUrl: string; public LengthInMinutes?: number; public MaxNumberOfSpotsPerBooking: number; public GroupBooking: GroupBookingSettings; public MultipleResource: MultipleResourceSettings; public IsGroupBooking: boolean; public IsPaymentEnabled: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CompanyInfoResponse { public Id: string; public Name: string; public LogoType: string; public Category: string; public Street1: string; public Street2: string; public ZipCode: string; public City: string; public CountryId: string; public Longitude: string; public Latitude: string; public Phone: string; public Email: string; public HomePage: string; public SitePath: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class BookingUserQueueItemResponse { public BookingUserQueueId: number; public CompanyId: string; public CustomerId: string; public ServiceId: number; public From: string; public To: string; public StatusCode: number; public StatusName: string; public SendConfirmationTime?: string; public Quantities: BookingUserQueuePriceResponse[]; public Service: ServiceInfoResponse; public Company: CompanyInfoResponse; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/bookinguserqueue", "POST") export class CreateBookingUserQueue implements IReturn { public CompanyId?: string; public CustomerId?: string; public Customer: CustomerToBook; public ServiceId: number; public From: string; public To: string; public Quantities: QuantityToBook[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'CreateBookingUserQueue'; } public getMethod() { return 'POST'; } public createResponse() { return new BookingUserQueueItemResponse(); } }