| 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 Address {
/** @param {{id?:number,addressText?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
id;
/** @type {?string} */
addressText;
}
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,permanentAddressId?:number,permanentAddress?:Address,postalAddressId?:number,postalAddress?:Address,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;
/** @type {?number} */
permanentAddressId;
/** @type {?Address} */
permanentAddress;
/** @type {?number} */
postalAddressId;
/** @type {?Address} */
postalAddress;
}
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 Poco {
/** @param {{name?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
name;
}
/** @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 .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /bookings HTTP/1.1 Host: test.servicestack.net Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"offset":0,"total":0,"results":[{"id":0,"name":"String","roomType":"Single","roomNumber":0,"bookingStartDate":"\/Date(-62135596800000-0000)\/","bookingEndDate":"\/Date(-62135596800000-0000)\/","cost":0,"couponId":"String","discount":{"id":"String","description":"String","discount":0,"expiryDate":"\/Date(-62135596800000-0000)\/"},"notes":"String","cancelled":false,"permanentAddressId":0,"permanentAddress":{"id":0,"addressText":"String"},"postalAddressId":0,"postalAddress":{"id":0,"addressText":"String"},"createdDate":"\/Date(-62135596800000-0000)\/","createdBy":"String","modifiedDate":"\/Date(-62135596800000-0000)\/","modifiedBy":"String","deletedDate":"\/Date(-62135596800000-0000)\/","deletedBy":"String"}],"meta":{"String":"String"},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}