| GET | /bookings | ||
|---|---|---|---|
| GET | /bookings/{Id} |
"use strict";
export class QueryBase {
/** @param {{skip?:number,take?:number,orderBy?:string,orderByDesc?:string,include?:string,fields?:string,meta?:{ [index:string]: string; }}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?number} */
skip;
/** @type {?number} */
take;
/** @type {string} */
orderBy;
/** @type {string} */
orderByDesc;
/** @type {string} */
include;
/** @type {string} */
fields;
/** @type {{ [index:string]: string; }} */
meta;
}
/** @typedef T {any} */
export class QueryDb extends QueryBase {
/** @param {{skip?:number,take?:number,orderBy?:string,orderByDesc?:string,include?:string,fields?:string,meta?:{ [index:string]: string; }}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
}
export class AuditBase {
/** @param {{createdDate?:string,createdBy?:string,modifiedDate?:string,modifiedBy?:string,deletedDate?:string,deletedBy?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
createdDate;
/** @type {string} */
createdBy;
/** @type {string} */
modifiedDate;
/** @type {string} */
modifiedBy;
/** @type {?string} */
deletedDate;
/** @type {string} */
deletedBy;
}
/** @typedef {'Single'|'Double'|'Queen'|'Twin'|'Suite'} */
export var RoomType;
(function (RoomType) {
RoomType["Single"] = "Single"
RoomType["Double"] = "Double"
RoomType["Queen"] = "Queen"
RoomType["Twin"] = "Twin"
RoomType["Suite"] = "Suite"
})(RoomType || (RoomType = {}));
export class Coupon {
/** @param {{id?:string,description?:string,discount?:number,expiryDate?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
id;
/** @type {string} */
description;
/** @type {number} */
discount;
/** @type {string} */
expiryDate;
}
export class Booking extends AuditBase {
/** @param {{id?:number,name?:string,roomType?:RoomType,roomNumber?:number,bookingStartDate?:string,bookingEndDate?:string,cost?:number,couponId?:string,discount?:Coupon,notes?:string,cancelled?:boolean,createdDate?:string,createdBy?:string,modifiedDate?:string,modifiedBy?:string,deletedDate?:string,deletedBy?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {number} */
id;
/** @type {string} */
name;
/** @type {RoomType} */
roomType;
/** @type {number} */
roomNumber;
/** @type {string} */
bookingStartDate;
/** @type {?string} */
bookingEndDate;
/** @type {number} */
cost;
/** @type {?string} */
couponId;
/** @type {Coupon} */
discount;
/** @type {?string} */
notes;
/** @type {?boolean} */
cancelled;
}
export class QueryBookings extends QueryDb {
/** @param {{id?:number,skip?:number,take?:number,orderBy?:string,orderByDesc?:string,include?:string,fields?:string,meta?:{ [index:string]: string; }}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {?number} */
id;
}
export class Todo {
/** @param {{id?:number,text?:string,isFinished?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
id;
/** @type {string} */
text;
/** @type {boolean} */
isFinished;
}
/** @typedef T {any} */
export class QueryResponse {
/** @param {{offset?:number,total?:number,results?:T[],meta?:{ [index:string]: string; },responseStatus?:ResponseStatus}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
offset;
/** @type {number} */
total;
/** @type {T[]} */
results;
/** @type {{ [index:string]: string; }} */
meta;
/** @type {ResponseStatus} */
responseStatus;
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /bookings HTTP/1.1 Host: blazor-gallery.servicestack.net Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<QueryResponseOfBookingtlJ4_P31p xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
<Offset>0</Offset>
<Total>0</Total>
<Results xmlns:d2p1="http://schemas.datacontract.org/2004/07/MyApp.ServiceModel">
<d2p1:Booking>
<CreatedDate>0001-01-01T00:00:00</CreatedDate>
<CreatedBy>String</CreatedBy>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<ModifiedBy>String</ModifiedBy>
<DeletedDate>0001-01-01T00:00:00</DeletedDate>
<DeletedBy>String</DeletedBy>
<d2p1:BookingEndDate>0001-01-01T00:00:00</d2p1:BookingEndDate>
<d2p1:BookingStartDate>0001-01-01T00:00:00</d2p1:BookingStartDate>
<d2p1:Cancelled>false</d2p1:Cancelled>
<d2p1:Cost>0</d2p1:Cost>
<d2p1:CouponId>String</d2p1:CouponId>
<d2p1:Discount>
<d2p1:Description>String</d2p1:Description>
<d2p1:Discount>0</d2p1:Discount>
<d2p1:ExpiryDate>0001-01-01T00:00:00</d2p1:ExpiryDate>
<d2p1:Id>String</d2p1:Id>
</d2p1:Discount>
<d2p1:Id>0</d2p1:Id>
<d2p1:Name>String</d2p1:Name>
<d2p1:Notes>String</d2p1:Notes>
<d2p1:RoomNumber>0</d2p1:RoomNumber>
<d2p1:RoomType>Single</d2p1:RoomType>
</d2p1:Booking>
</Results>
<Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:KeyValueOfstringstring>
<d2p1:Key>String</d2p1:Key>
<d2p1:Value>String</d2p1:Value>
</d2p1:KeyValueOfstringstring>
</Meta>
<ResponseStatus>
<ErrorCode>String</ErrorCode>
<Message>String</Message>
<StackTrace>String</StackTrace>
<Errors>
<ResponseError>
<ErrorCode>String</ErrorCode>
<FieldName>String</FieldName>
<Message>String</Message>
<Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</Meta>
</ResponseError>
</Errors>
<Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</Meta>
</ResponseStatus>
</QueryResponseOfBookingtlJ4_P31p>