ClubReady Api

<back to all web services

CreateClassBookingRequest

The following routes are available for this service:
POST/scheduling/class-bookingCreate a Class Booking
POST/v2/{ApiKey}/club/{StoreId}/booking(obsolete) Create a Class Booking
POST/v2/{ApiKey}/club/{StoreId}/class-booking(obsolete) Create a Class Booking
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports ClubReady.Web.Api.Scheduling.Model
Imports ClubReady.Core.Scheduling.Models.Dto.Requests
Imports ClubReady.Core.Api.Models
Imports ClubReady.Web.Api

Namespace Global

    Namespace ClubReady.Core.Api.Models

        Public Partial Class ApiDtoBase
            Public Overridable Property ApiKey As String
            Public Overridable Property StoreId As Nullable(Of Integer)
            Public Overridable Property ChainId As Nullable(Of Integer)
        End Class

        Public Partial Class CreateClassBookingResponseDto
            Public Overridable Property BookingId As Nullable(Of Integer)
            Public Overridable Property Message As String
        End Class
    End Namespace

    Namespace ClubReady.Core.Scheduling.Models.Dto.Requests

        Public Partial Class CreateClassBookingRequestDto
            Inherits ApiDtoBase
            Public Overridable Property UserId As Integer
            Public Overridable Property ScheduleId As Integer
            Public Overridable Property AllowWaitList As Boolean
        End Class
    End Namespace

    Namespace ClubReady.Web.Api

        Public Enum RestrictedResourceType
            Store
            Chain
            User
            Undefined
        End Enum
    End Namespace

    Namespace ClubReady.Web.Api.Scheduling.Model

        Public Partial Class CreateClassBookingRequest
            Inherits CreateClassBookingRequestDto
            Implements IRestrictedApiRequest
            '''<Summary>
            '''Api Key - grants access to resources
            '''</Summary>
            <ApiMember(DataType:="string", Description:="Api Key - grants access to resources", IsRequired:=true, Name:="ApiKey", ParameterType:="query")>
            Public Overridable Property ApiKey As String

            '''<Summary>
            '''UserID
            '''</Summary>
            <ApiMember(DataType:="string", Description:="UserID", IsRequired:=true, Name:="UserId", ParameterType:="query")>
            Public Overridable Property UserId As Integer

            '''<Summary>
            '''Store ID
            '''</Summary>
            <ApiMember(DataType:="integer", Description:="Store ID", IsRequired:=true, Name:="StoreId", ParameterType:="query")>
            Public Overridable Property StoreId As Nullable(Of Integer)

            '''<Summary>
            '''Class Schedule ID
            '''</Summary>
            <ApiMember(DataType:="integer", Description:="Class Schedule ID", IsRequired:=true, Name:="ScheduleId", ParameterType:="query")>
            Public Overridable Property ScheduleId As Integer

            '''<Summary>
            '''Put user in wait list when possible
            '''</Summary>
            <ApiMember(DataType:="bool", Description:="Put user in wait list when possible", Name:="AllowWaitList", ParameterType:="query")>
            Public Overridable Property AllowWaitList As Boolean

            Public Overridable Property RestrictedId As Nullable(Of Integer)
            Public Overridable Property RestrictedResourceType As RestrictedResourceType
        End Class

        Public Partial Class CreateClassBookingResponse
            Inherits CreateClassBookingResponseDto
            Public Overridable Property BookingId As Nullable(Of Integer)
            Public Overridable Property Message As String
        End Class
    End Namespace
End Namespace

VB.NET CreateClassBookingRequest DTOs

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

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /scheduling/class-booking HTTP/1.1 
Host: www.clubready.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<CreateClassBookingRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/ClubReady.Web.Api.Scheduling.Model">
  <ApiKey xmlns="http://schemas.datacontract.org/2004/07/ClubReady.Core.Api.Models">String</ApiKey>
  <ChainId xmlns="http://schemas.datacontract.org/2004/07/ClubReady.Core.Api.Models">0</ChainId>
  <StoreId xmlns="http://schemas.datacontract.org/2004/07/ClubReady.Core.Api.Models">0</StoreId>
  <AllowWaitList xmlns="http://schemas.datacontract.org/2004/07/ClubReady.Core.Scheduling.Models.Dto.Requests">false</AllowWaitList>
  <ScheduleId xmlns="http://schemas.datacontract.org/2004/07/ClubReady.Core.Scheduling.Models.Dto.Requests">0</ScheduleId>
  <UserId xmlns="http://schemas.datacontract.org/2004/07/ClubReady.Core.Scheduling.Models.Dto.Requests">0</UserId>
</CreateClassBookingRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<CreateClassBookingResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/ClubReady.Web.Api.Scheduling.Model">
  <BookingId xmlns="http://schemas.datacontract.org/2004/07/ClubReady.Core.Api.Models">0</BookingId>
  <Message xmlns="http://schemas.datacontract.org/2004/07/ClubReady.Core.Api.Models">String</Message>
</CreateClassBookingResponse>