/* Options: Date: 2026-08-02 22:51:02 Version: 10.05 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: QueryBookingReservations.* //ExcludeTypes: //DefaultImports: */ // @ts-nocheck export interface IReturn { createResponse(): T; } export interface ICompany { CompanyId?: string; } // @DataContract export class ResponseError { // @DataMember(Order=1) public ErrorCode: string; // @DataMember(Order=2) public FieldName: string; // @DataMember(Order=3) public Message: string; // @DataMember(Order=4) public Meta?: { [index:string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ResponseStatus { // @DataMember(Order=1) public ErrorCode: string; // @DataMember(Order=2) public Message?: string; // @DataMember(Order=3) public StackTrace?: string; // @DataMember(Order=4) public Errors?: ResponseError[]; // @DataMember(Order=5) public Meta?: { [index:string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AdminBookingReservationResult { /** @description The internal reservation id (target for the release endpoint). */ // @ApiMember(Description="The internal reservation id (target for the release endpoint).") public Id: number; /** @description The opaque session key that identifies the reservation. */ // @ApiMember(Description="The opaque session key that identifies the reservation.") public SessionKey: string; /** @description The reserved service id. */ // @ApiMember(Description="The reserved service id.") public ServiceId: number; /** @description The reservation start. */ // @ApiMember(Description="The reservation start.") public From: string; /** @description The reservation end. */ // @ApiMember(Description="The reservation end.") public To: string; /** @description Number of reserved spots. */ // @ApiMember(Description="Number of reserved spots.") public NumberOfBookedSpots: number; /** @description When the hold expires (company-local time). */ // @ApiMember(Description="When the hold expires (company-local time).") public ExpirationDatetime: string; /** @description The BookingReservationStatus value. */ // @ApiMember(Description="The BookingReservationStatus value.") public StatusCode: number; /** @description The BookingReservationStatus name. */ // @ApiMember(Description="The BookingReservationStatus name.") public StatusName: string; /** @description The customer id holding the reservation, if any. */ // @ApiMember(Description="The customer id holding the reservation, if any.") public CustomerId?: string; /** @description The customer's full name, when a customer is attached. */ // @ApiMember(Description="The customer's full name, when a customer is attached.") public CustomerName: string; /** @description The customer email (falls back to the BookedBy email when no customer is attached). */ // @ApiMember(Description="The customer email (falls back to the BookedBy email when no customer is attached).") public CustomerEmail: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class QueryBookingReservationsResponse { /** @description The matching reservation holds. */ // @ApiMember(Description="The matching reservation holds.") public Results: AdminBookingReservationResult[] = []; public ResponseStatus: ResponseStatus; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/admin/bookingreservations", "GET") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ApiResponse(Description="You are not an administrator for the requested company", StatusCode=403) export class QueryBookingReservations 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 Only holds for this service id. */ // @ApiMember(Description="Only holds for this service id.") public ServiceId?: number; /** @description Only holds whose start (From) is on or after this datetime. */ // @ApiMember(Description="Only holds whose start (From) is on or after this datetime.") public From?: string; /** @description Only holds whose start (From) is on or before this datetime. */ // @ApiMember(Description="Only holds whose start (From) is on or before this datetime.") public To?: string; /** @description Filter by BookingReservationStatus value. When omitted, the spot-holding statuses (Selecting=1, AwaitingPayment=2) are returned. */ // @ApiMember(Description="Filter by BookingReservationStatus value. When omitted, the spot-holding statuses (Selecting=1, AwaitingPayment=2) are returned.") public StatusCode?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'QueryBookingReservations'; } public getMethod() { return 'GET'; } public createResponse() { return new QueryBookingReservationsResponse(); } }