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 |
export class ApiDtoBase
{
public ApiKey: string;
public StoreId?: number;
public ChainId?: number;
public constructor(init?: Partial<ApiDtoBase>) { (Object as any).assign(this, init); }
}
export class CreateClassBookingRequestDto extends ApiDtoBase
{
public UserId: number;
public ScheduleId: number;
public AllowWaitList: boolean;
public constructor(init?: Partial<CreateClassBookingRequestDto>) { super(init); (Object as any).assign(this, init); }
}
export enum RestrictedResourceType
{
Store = 'Store',
Chain = 'Chain',
User = 'User',
Undefined = 'Undefined',
}
export class CreateClassBookingRequest extends CreateClassBookingRequestDto implements IRestrictedApiRequest
{
/**
* Api Key - grants access to resources
*/
// @ApiMember(DataType="string", Description="Api Key - grants access to resources", IsRequired=true, Name="ApiKey", ParameterType="query")
public ApiKey: string;
/**
* UserID
*/
// @ApiMember(DataType="string", Description="UserID", IsRequired=true, Name="UserId", ParameterType="query")
public UserId: number;
/**
* Store ID
*/
// @ApiMember(DataType="integer", Description="Store ID", IsRequired=true, Name="StoreId", ParameterType="query")
public StoreId: number;
/**
* Class Schedule ID
*/
// @ApiMember(DataType="integer", Description="Class Schedule ID", IsRequired=true, Name="ScheduleId", ParameterType="query")
public ScheduleId: number;
/**
* Put user in wait list when possible
*/
// @ApiMember(DataType="bool", Description="Put user in wait list when possible", Name="AllowWaitList", ParameterType="query")
public AllowWaitList: boolean;
public RestrictedId?: number;
public RestrictedResourceType: RestrictedResourceType;
public constructor(init?: Partial<CreateClassBookingRequest>) { super(init); (Object as any).assign(this, init); }
}
export class CreateClassBookingResponseDto
{
public BookingId?: number;
public Message: string;
public constructor(init?: Partial<CreateClassBookingResponseDto>) { (Object as any).assign(this, init); }
}
export class CreateClassBookingResponse extends CreateClassBookingResponseDto
{
public BookingId?: number;
public Message: string;
public constructor(init?: Partial<CreateClassBookingResponse>) { super(init); (Object as any).assign(this, init); }
}
TypeScript 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>