/* Options: Date: 2024-12-22 21:22:07 Version: 8.51 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://blazor-gallery.servicestack.net //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: UpdateBooking.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export interface IPatchDb { } export enum RoomType { Single = 'Single', Double = 'Double', Queen = 'Queen', Twin = 'Twin', Suite = 'Suite', } /** @description Booking Details */ export class Booking extends AuditBase { public id: number; public name: string; public roomType: RoomType; public roomNumber: number; public bookingStartDate: string; public bookingEndDate?: string; public cost: number; // @References("typeof(MyApp.ServiceModel.Coupon)") public couponId?: string; public discount: Coupon; public notes?: string; public cancelled?: boolean; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } // @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); } } // @DataContract export class IdResponse { // @DataMember(Order=1) public id: string; // @DataMember(Order=2) public responseStatus: ResponseStatus; public constructor(init?: Partial) { (Object as any).assign(this, init); } } /** @description Update an existing Booking */ // @Route("/booking/{Id}", "PATCH") // @ValidateRequest(Validator="HasRole(`Employee`)") export class UpdateBooking implements IReturn, IPatchDb { public id: number; public name?: string; public roomType?: RoomType; // @Validate(Validator="GreaterThan(0)") public roomNumber?: number; // @Validate(Validator="GreaterThan(0)") public cost?: number; public bookingStartDate?: string; public bookingEndDate?: string; public notes?: string; public couponId?: string; public cancelled?: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'UpdateBooking'; } public getMethod() { return 'PATCH'; } public createResponse() { return new IdResponse(); } }