/* Options: Date: 2024-12-22 21:50:31 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: CreateBooking.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export interface ICreateDb { } 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 Create a new Booking */ // @Route("/bookings", "POST") // @ValidateRequest(Validator="HasRole(`Employee`)") export class CreateBooking implements IReturn, ICreateDb { /** @description Name this Booking is for */ // @Validate(Validator="NotEmpty") public name: string; public photo?: string; public roomType: RoomType; // @Validate(Validator="GreaterThan(0)") public roomNumber: number; // @Validate(Validator="GreaterThan(0)") public cost: number; // @Required() public bookingStartDate: string; public bookingEndDate?: string; public notes?: string; public couponId?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'CreateBooking'; } public getMethod() { return 'POST'; } public createResponse() { return new IdResponse(); } }