| GET | /scheduling/class-roster | Get booked and waitlisted users for a class. |
|---|
namespace ClubReady.Core.Api
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 ClassRosterRequestDto() =
inherit ApiDtoBase()
member val ClassScheduleId:Int32 = new Int32() with get,set
type RestrictedResourceType =
| Store = 0
| Chain = 1
| User = 2
| Undefined = 3
[<AllowNullLiteral>]
type ClassRosterRequest() =
inherit ClassRosterRequestDto()
///<summary>
///IP address of the end user
///</summary>
[<ApiMember(Description="IP address of the end user", Name="X-Forwarded-For", ParameterType="header")>]
member val XForwardedFor:String = null with get,set
///<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>
///Store Id or Chain Id is required
///</summary>
[<ApiMember(DataType="integer", Description="Store Id or Chain Id is required", Name="StoreId", ParameterType="query")>]
member val StoreId:Nullable<Int32> = new Nullable<Int32>() with get,set
///<summary>
///Store Id or Chain Id is required
///</summary>
[<ApiMember(DataType="integer", Description="Store Id or Chain Id is required", Name="ChainId", ParameterType="query")>]
member val ChainId:Nullable<Int32> = new Nullable<Int32>() with get,set
///<summary>
///Class Schedule ID
///</summary>
[<ApiMember(DataType="integer", Description="Class Schedule ID", IsRequired=true, Name="ClassScheduleId", ParameterType="query")>]
member val ClassScheduleId:Int32 = new 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 ClassRosterCreditType =
| Uninitialized = 0
| PaidCredit = 1
| FreeCredit = 2
| AmenityCredit = 3
| MembershipTypeCredit = 4
| ClassPassCredit = 5
| Error = -1
[<AllowNullLiteral>]
type ClassRosterItem() =
member val BookingId:Int32 = new Int32() with get,set
member val UserId:Int32 = new Int32() with get,set
member val FirstName:String = null with get,set
member val LastName:String = null with get,set
member val Email:String = null with get,set
member val Phone:String = null with get,set
member val BookingMade:DateTime = new DateTime() with get,set
member val FirstTimeBooking:Boolean = new Boolean() with get,set
member val PackageName:String = null with get,set
member val PackageId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val LeadTypeName:String = null with get,set
member val LeadTypeId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val IsMember:Boolean = new Boolean() with get,set
member val MemberExpiration:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val CreditType:ClassRosterCreditType = new ClassRosterCreditType() with get,set
member val CreditsRemaining:Int32 = new Int32() with get,set
member val NextCreditExpiration:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val BookingStatusId:Nullable<Int16> = new Nullable<Int16>() with get,set
member val BookingStatusDescription:String = null with get,set
[<AllowNullLiteral>]
type ClassRosterResponseDto() =
inherit ApiResponseBase()
member val ClassRoster:ResizeArray<ClassRosterItem> = new ResizeArray<ClassRosterItem>() with get,set
member val WaitList:ResizeArray<ClassRosterItem> = new ResizeArray<ClassRosterItem>() with get,set
[<AllowNullLiteral>]
type ClassRosterResponse() =
inherit ClassRosterResponseDto()
member val Success:Boolean = new Boolean() with get,set
member val Message:String = null with get,set
member val ClassDate:DateTime = new DateTime() with get,set
member val FreeSpots:Int32 = new Int32() with get,set
member val MaxSpots:Int32 = new Int32() with get,set
member val TotalBooked:Int32 = new Int32() with get,set
member val LocationType:String = null with get,set
member val VirtualLink:String = null with get,set
member val ClassRoster:ResizeArray<ClassRosterItem> = new ResizeArray<ClassRosterItem>() with get,set
member val WaitList:ResizeArray<ClassRosterItem> = new ResizeArray<ClassRosterItem>() with get,set
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.
GET /scheduling/class-roster HTTP/1.1 Host: www.clubready.com Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<ClassRosterResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/ClubReady.Web.Api.Scheduling.Model">
<Message xmlns="http://schemas.datacontract.org/2004/07/ClubReady.Core.Api.Models">String</Message>
<Success xmlns="http://schemas.datacontract.org/2004/07/ClubReady.Core.Api.Models">false</Success>
<ClassRoster xmlns="http://schemas.datacontract.org/2004/07/ClubReady.Core.Api.Models">
<ClassRosterItem>
<BookingId>0</BookingId>
<BookingMade>0001-01-01T00:00:00</BookingMade>
<BookingStatusDescription>String</BookingStatusDescription>
<BookingStatusId>0</BookingStatusId>
<CreditType>Uninitialized</CreditType>
<CreditsRemaining>0</CreditsRemaining>
<Email>String</Email>
<FirstName>String</FirstName>
<FirstTimeBooking>false</FirstTimeBooking>
<IsMember>false</IsMember>
<IsWaitList>false</IsWaitList>
<LastName>String</LastName>
<LeadTypeId>0</LeadTypeId>
<LeadTypeName>String</LeadTypeName>
<MemberExpiration>0001-01-01T00:00:00</MemberExpiration>
<NextCreditExpiration>0001-01-01T00:00:00</NextCreditExpiration>
<PackageId>0</PackageId>
<PackageName>String</PackageName>
<Phone>String</Phone>
<UserId>0</UserId>
</ClassRosterItem>
</ClassRoster>
<WaitList xmlns="http://schemas.datacontract.org/2004/07/ClubReady.Core.Api.Models">
<ClassRosterItem>
<BookingId>0</BookingId>
<BookingMade>0001-01-01T00:00:00</BookingMade>
<BookingStatusDescription>String</BookingStatusDescription>
<BookingStatusId>0</BookingStatusId>
<CreditType>Uninitialized</CreditType>
<CreditsRemaining>0</CreditsRemaining>
<Email>String</Email>
<FirstName>String</FirstName>
<FirstTimeBooking>false</FirstTimeBooking>
<IsMember>false</IsMember>
<IsWaitList>false</IsWaitList>
<LastName>String</LastName>
<LeadTypeId>0</LeadTypeId>
<LeadTypeName>String</LeadTypeName>
<MemberExpiration>0001-01-01T00:00:00</MemberExpiration>
<NextCreditExpiration>0001-01-01T00:00:00</NextCreditExpiration>
<PackageId>0</PackageId>
<PackageName>String</PackageName>
<Phone>String</Phone>
<UserId>0</UserId>
</ClassRosterItem>
</WaitList>
<ClassDate>0001-01-01T00:00:00</ClassDate>
<FreeSpots>0</FreeSpots>
<LocationType>String</LocationType>
<MaxSpots>0</MaxSpots>
<TotalBooked>0</TotalBooked>
<VirtualLink>String</VirtualLink>
</ClassRosterResponse>