ClubReady Api

<back to all web services

BookingStatusEventsRequest

The following routes are available for this service:
GET/scheduling/booking-status-eventsList of booking status changes in a time frame.
namespace ClubReady.Core.Api.Models

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type ApiDtoBase() = 
        member val ApiKey:String = null with get,set
        member val StoreId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ChainId:Nullable<Int32> = new Nullable<Int32>() with get,set

    [<AllowNullLiteral>]
    type BookingStatusEventsRequestDto() = 
        inherit ApiDtoBase()
        member val FromDate:DateTime = new DateTime() with get,set
        member val ToDate:DateTime = new DateTime() with get,set
        member val BookingTypeFilter:Int32 = new Int32() with get,set
        member val ConsultFilter:Int32 = new Int32() with get,set
        member val StatusFilter:Nullable<Int32> = new Nullable<Int32>() with get,set

    type RestrictedResourceType =
        | Store = 0
        | Chain = 1
        | User = 2
        | Undefined = 3

    [<AllowNullLiteral>]
    type BookingStatusEventsRequest() = 
        inherit BookingStatusEventsRequestDto()
        ///<summary>
        ///Api Key - grants access to resources
        ///</summary>
        [<ApiMember(DataType="string", Description="Api Key - grants access to resources", IsRequired=true, Name="ApiKey", ParameterType="query")>]
        member val ApiKey:String = null with get,set

        ///<summary>
        ///Chain ID
        ///</summary>
        [<ApiMember(DataType="integer", Description="Chain ID", Name="ChainId", ParameterType="query")>]
        member val ChainId:Nullable<Int32> = new Nullable<Int32>() with get,set

        ///<summary>
        ///Store ID
        ///</summary>
        [<ApiMember(DataType="integer", Description="Store ID", Name="StoreId", ParameterType="query")>]
        member val StoreId:Nullable<Int32> = new Nullable<Int32>() with get,set

        ///<summary>
        ///UTC Format
        ///</summary>
        [<ApiMember(DataType="date", Description="UTC Format", IsRequired=true, Name="FromDate", ParameterType="query")>]
        member val FromDate:DateTime = new DateTime() with get,set

        ///<summary>
        ///Max 24 Hours (UTC Format)
        ///</summary>
        [<ApiMember(DataType="date", Description="Max 24 Hours (UTC Format)", IsRequired=true, Name="ToDate", ParameterType="query")>]
        member val ToDate:DateTime = new DateTime() with get,set

        ///<summary>
        ///0 = All, 1 = Classes, 2 = Services
        ///</summary>
        [<ApiMember(DataType="integer", Description="0 = All, 1 = Classes, 2 = Services", IsRequired=true, Name="BookingTypeFilter", ParameterType="query")>]
        member val BookingTypeFilter:Int32 = new Int32() with get,set

        ///<summary>
        ///0 = Any, 1 = Only Consults, 2 = Exclude Consults
        ///</summary>
        [<ApiMember(DataType="integer", Description="0 = Any, 1 = Only Consults, 2 = Exclude Consults", IsRequired=true, Name="ConsultFilter", ParameterType="query")>]
        member val ConsultFilter:Int32 = new Int32() with get,set

        ///<summary>
        ///Leave blank for any, otherwise use ClubReady BookingStatus enum
        ///</summary>
        [<ApiMember(DataType="integer", Description="Leave blank for any, otherwise use ClubReady BookingStatus enum", Name="StatusFilter", ParameterType="query")>]
        member val StatusFilter:Nullable<Int32> = new Nullable<Int32>() with get,set

        member val RestrictedId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val RestrictedResourceType:RestrictedResourceType = new RestrictedResourceType() with get,set

    [<AllowNullLiteral>]
    type ApiResponseBase() = 
        member val Success:Boolean = new Boolean() with get,set
        member val Message:String = null with get,set

    type BookingStatus =
        | 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

    [<AllowNullLiteral>]
    type BookingStatusEventItem() = 
        member val ChainId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val StoreId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val UserId:Int32 = new Int32() with get,set
        member val BookingId:Int32 = new Int32() with get,set
        member val ClassScheduleId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ServiceId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val SessionSizeId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val BookingDateTime:DateTime = new DateTime() with get,set
        member val Status:BookingStatus = new BookingStatus() with get,set
        member val StatusId:Int32 = new Int32() with get,set
        member val StatusChanged:DateTime = new DateTime() with get,set
        member val Consult:Boolean = new Boolean() with get,set
        member val BookedFromWaitList:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type BookingStatusEventsResponseDto() = 
        inherit ApiResponseBase()
        member val BookingStatusEvents:ResizeArray<BookingStatusEventItem> = new ResizeArray<BookingStatusEventItem>() with get,set

    [<AllowNullLiteral>]
    type BookingStatusEventsResponse() = 
        inherit BookingStatusEventsResponseDto()
        member val Success:Boolean = new Boolean() with get,set
        member val Message:String = null with get,set
        member val BookingStatusEvents:ResizeArray<BookingStatusEventItem> = new ResizeArray<BookingStatusEventItem>() with get,set

F# BookingStatusEventsRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + 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: www.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
		}
	]
}