POST | /scheduling/class-booking | Create 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
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: 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>