/* Options: Date: 2024-11-21 13:10:04 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: CollidingBookingQuery.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } // @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 enum BookingStatusEnum { Booked = 1, Unbooked = 2, Reserved = 3, Canceled = 4, AwaitingPayment = 5, AwaitingPaymentNoTimeLimit = 6, Payed = 7, AwaitingPaymentRequestFromAdmin = 8, AwaitingPaymentFromProvider = 9, Invoiced = 10, } 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 ServiceInfoResponse { public Id: number; public Name: string; public Description: string; public ImageUrl: string; public LengthInMinutes?: number; public MaxNumberOfSpotsPerBooking: number; public MinNumberOfSpotsPerBooking: 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 BookedCustomer { public Id: string; public Firstname: string; public Lastname: string; public Email: string; public Phone: string; public FacebookUserName: string; public ImageUrl: string; public CorporateIdentityNumber: string; public InvoiceAddress1: string; public InvoiceAddress2: string; public InvoiceCity: string; public InvoicePostalCode: string; public InvoiceCountryCode: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class BookingIntervalResponse { public Id: number; public CompanyId: string; public From: string; public To: string; public Status: BookingStatusEnum; public StatusId: number; public StatusName: string; public Customer: BookedCustomer; public Service: ServiceInfoResponse; public CreatedDate: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CollidingBookingQueryResponse { /** @description Resource id of the resource that owns this exception */ // @ApiMember(Description="Resource id of the resource that owns this exception") public ResourceIds: number[]; /** @description A list of bookings that would collide with the time exception */ // @ApiMember(Description="A list of bookings that would collide with the time exception") public Bookings: BookingIntervalResponse[]; public ResponseStatus: ResponseStatus; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/timeexceptions/collidingevents", "GET") // @ApiResponse(Description="The request parameters was not valid", StatusCode=400) // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ApiResponse(Description="You have too low privilegies to call this service", StatusCode=403) // @ValidateRequest(Validator="IsAuthenticated") export class CollidingBookingQuery implements IReturn { /** @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 Resource ids of the resource that should be matched against booked events */ // @ApiMember(Description="Resource ids of the resource that should be matched against booked events") public ResourceIds: number[]; /** @description Time exception starting date */ // @ApiMember(Description="Time exception starting date") public From: string; /** @description Time exception ending date */ // @ApiMember(Description="Time exception ending date") public To: string; /** @description This value indicates the time of day when the time exception begins. Example: 10:00. If Recurring this will be the startime for each recurring day. */ // @ApiMember(Description="This value indicates the time of day when the time exception begins. Example: 10:00. If Recurring this will be the startime for each recurring day.") public FromTime: string; /** @description This value indicates the time of day when the time exception ends. Example: 12:00. If Recurring this will be the endtime for each recurring day. */ // @ApiMember(Description="This value indicates the time of day when the time exception ends. Example: 12:00. If Recurring this will be the endtime for each recurring day.") public ToTime: string; /** @description A comma separated list of which days this day exception belongs to, 1 = Monday .. 7 = Sunday */ // @ApiMember(Description="A comma separated list of which days this day exception belongs to, 1 = Monday .. 7 = Sunday") public DaysOfWeek: number[]; /** @description If you want to include the service information for the booking */ // @ApiMember(DataType="boolean", Description="If you want to include the service information for the booking", ParameterType="query") public IncludeServiceInformation: boolean; /** @description If you want to include the customer information for the booking */ // @ApiMember(DataType="boolean", Description="If you want to include the customer information for the booking", ParameterType="query") public IncludeCustomerInformation: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'CollidingBookingQuery'; } public getMethod() { return 'GET'; } public createResponse() { return new CollidingBookingQueryResponse(); } }