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 .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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: application/json
HTTP/1.1 200 OK
Content-Type: application/json
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-01T00:00:00.0000000","Status":"Undefined","StatusId":0,"StatusChanged":"0001-01-01T00:00:00.0000000","Consult":false,"BookedFromWaitList":false}]}