GET | /scheduling/booking-status-events | List of booking status changes in a time frame. |
---|
import java.math.*
import java.util.*
import net.servicestack.client.*
open class BookingStatusEventsRequest : BookingStatusEventsRequestDto(), IRestrictedApiRequest
{
/**
* Api Key - grants access to resources
*/
@ApiMember(DataType="string", Description="Api Key - grants access to resources", IsRequired=true, Name="ApiKey", ParameterType="query")
var ApiKey:String? = null
/**
* Chain ID
*/
@ApiMember(DataType="integer", Description="Chain ID", Name="ChainId", ParameterType="query")
var ChainId:Int? = null
/**
* Store ID
*/
@ApiMember(DataType="integer", Description="Store ID", Name="StoreId", ParameterType="query")
var StoreId:Int? = null
/**
* UTC Format
*/
@ApiMember(DataType="date", Description="UTC Format", IsRequired=true, Name="FromDate", ParameterType="query")
var FromDate:Date? = null
/**
* Max 24 Hours (UTC Format)
*/
@ApiMember(DataType="date", Description="Max 24 Hours (UTC Format)", IsRequired=true, Name="ToDate", ParameterType="query")
var ToDate:Date? = null
/**
* 0 = All, 1 = Classes, 2 = Services
*/
@ApiMember(DataType="integer", Description="0 = All, 1 = Classes, 2 = Services", IsRequired=true, Name="BookingTypeFilter", ParameterType="query")
var BookingTypeFilter:Int? = null
/**
* 0 = Any, 1 = Only Consults, 2 = Exclude Consults
*/
@ApiMember(DataType="integer", Description="0 = Any, 1 = Only Consults, 2 = Exclude Consults", IsRequired=true, Name="ConsultFilter", ParameterType="query")
var ConsultFilter:Int? = null
/**
* Leave blank for any, otherwise use ClubReady BookingStatus enum
*/
@ApiMember(DataType="integer", Description="Leave blank for any, otherwise use ClubReady BookingStatus enum", Name="StatusFilter", ParameterType="query")
var StatusFilter:Int? = null
var RestrictedId:Int? = null
var RestrictedResourceType:RestrictedResourceType? = null
}
open class BookingStatusEventsRequestDto : ApiDtoBase()
{
var FromDate:Date? = null
var ToDate:Date? = null
var BookingTypeFilter:Int? = null
var ConsultFilter:Int? = null
var StatusFilter:Int? = null
}
open class ApiDtoBase
{
var ApiKey:String? = null
var StoreId:Int? = null
var ChainId:Int? = null
}
enum class RestrictedResourceType
{
Store,
Chain,
User,
Undefined,
}
open class BookingStatusEventsResponse : BookingStatusEventsResponseDto()
{
var Success:Boolean? = null
var Message:String? = null
var BookingStatusEvents:ArrayList<BookingStatusEventItem> = ArrayList<BookingStatusEventItem>()
}
open class BookingStatusEventsResponseDto : ApiResponseBase()
{
var BookingStatusEvents:ArrayList<BookingStatusEventItem> = ArrayList<BookingStatusEventItem>()
}
open class ApiResponseBase
{
var Success:Boolean? = null
var Message:String? = null
}
open class BookingStatusEventItem
{
var ChainId:Int? = null
var StoreId:Int? = null
var UserId:Int? = null
var BookingId:Int? = null
var ClassScheduleId:Int? = null
var ServiceId:Int? = null
var SessionSizeId:Int? = null
var BookingDateTime:Date? = null
var Status:BookingStatus? = null
var StatusId:Int? = null
var StatusChanged:Date? = null
var Consult:Boolean? = null
var BookedFromWaitList:Boolean? = null
}
enum class BookingStatus(val value:Int)
{
Undefined(0),
Unavailable(1),
Open(2),
CancelledWithinPolicy(3),
CancelledOutsidePolicy(4),
Completed(5),
NoShow(6),
RescheduledWithinPolicy(8),
RescheduledByAdmin(9),
CancelledByAdminNotCustomerFault(10),
Pending(11),
WaitListed(12),
Error(-1),
}
Kotlin BookingStatusEventsRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /scheduling/booking-status-events HTTP/1.1 Host: clubready.com Accept: text/jsv
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { Success: False, Message: String, BookingStatusEvents: [ { ChainId: 0, StoreId: 0, UserId: 0, BookingId: 0, ClassScheduleId: 0, ServiceId: 0, SessionSizeId: 0, BookingDateTime: 0001-01-01, Status: Undefined, StatusId: 0, StatusChanged: 0001-01-01, Consult: False, BookedFromWaitList: False } ] }