GET | /bookings | ||
---|---|---|---|
GET | /bookings/{Id} |
import java.math.*
import java.util.*
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*
/**
* Find Bookings
*/
open class QueryBookings : QueryDb<Booking>()
{
var id:Int? = null
}
open class QueryDb<T> : QueryBase()
{
}
@DataContract
open class QueryBase
{
@DataMember(Order=1)
var skip:Int? = null
@DataMember(Order=2)
var take:Int? = null
@DataMember(Order=3)
var orderBy:String? = null
@DataMember(Order=4)
var orderByDesc:String? = null
@DataMember(Order=5)
var include:String? = null
@DataMember(Order=6)
var fields:String? = null
@DataMember(Order=7)
var meta:HashMap<String,String> = HashMap<String,String>()
}
/**
* Booking Details
*/
open class Booking : AuditBase()
{
var id:Int? = null
var name:String? = null
var roomType:RoomType? = null
var roomNumber:Int? = null
var bookingStartDate:Date? = null
var bookingEndDate:Date? = null
var cost:BigDecimal? = null
@References(Coupon.class)
var couponId:String? = null
var discount:Coupon? = null
var notes:String? = null
var cancelled:Boolean? = null
}
@DataContract
open class AuditBase
{
@DataMember(Order=1)
var createdDate:Date? = null
@DataMember(Order=2)
@Required()
var createdBy:String? = null
@DataMember(Order=3)
var modifiedDate:Date? = null
@DataMember(Order=4)
@Required()
var modifiedBy:String? = null
@DataMember(Order=5)
var deletedDate:Date? = null
@DataMember(Order=6)
var deletedBy:String? = null
}
enum class RoomType
{
Single,
Double,
Queen,
Twin,
Suite,
}
/**
* Discount Coupons
*/
open class Coupon
{
var id:String? = null
var description:String? = null
var discount:Int? = null
var expiryDate:Date? = null
}
@DataContract
open class QueryResponse<Todo>
{
@DataMember(Order=1)
var offset:Int? = null
@DataMember(Order=2)
var total:Int? = null
@DataMember(Order=3)
var results:ArrayList<Todo> = ArrayList<Todo>()
@DataMember(Order=4)
var meta:HashMap<String,String> = HashMap<String,String>()
@DataMember(Order=5)
var responseStatus:ResponseStatus? = null
}
open class Todo
{
var id:Long? = null
var text:String? = null
var isFinished:Boolean? = null
}
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: blazor-gallery.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":"0001-01-01T00:00:00","bookingEndDate":"0001-01-01T00:00:00","cost":0,"couponId":"String","discount":{"id":"String","description":"String","discount":0,"expiryDate":"0001-01-01T00:00:00"},"notes":"String","cancelled":false,"createdDate":"0001-01-01T00:00:00","createdBy":"String","modifiedDate":"0001-01-01T00:00:00","modifiedBy":"String","deletedDate":"0001-01-01T00:00:00","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"}}}