ClubReady Api

<back to all web services

ClassRosterRequest

The following routes are available for this service:
GET/scheduling/class-rosterGet booked and waitlisted users for a class.
import java.math.*
import java.util.*
import net.servicestack.client.*


open class ClassRosterRequest : ClassRosterRequestDto(), IRestrictedApiRequest
{
    /**
    * Api Key - grants access to resources
    */
    @ApiMember(DataType="string", Description="Api Key - grants access to resources", IsRequired=true, Name="ApiKey", ParameterType="query")
    var ApiKey:String? = null

    /**
    * Store Id or Chain Id is required
    */
    @ApiMember(DataType="integer", Description="Store Id or Chain Id is required", Name="StoreId", ParameterType="query")
    var StoreId:Int? = null

    /**
    * Store Id or Chain Id is required
    */
    @ApiMember(DataType="integer", Description="Store Id or Chain Id is required", Name="ChainId", ParameterType="query")
    var ChainId:Int? = null

    /**
    * Class Schedule ID
    */
    @ApiMember(DataType="integer", Description="Class Schedule ID", IsRequired=true, Name="ClassScheduleId", ParameterType="query")
    var ClassScheduleId:Int? = null

    var RestrictedId:Int? = null
    var RestrictedResourceType:RestrictedResourceType? = null
}

open class ClassRosterRequestDto : ApiDtoBase()
{
    var ClassScheduleId:Int? = null
}

open class ApiDtoBase
{
    var ApiKey:String? = null
    var StoreId:Int? = null
    var ChainId:Int? = null
}

enum class RestrictedResourceType
{
    Store,
    Chain,
    User,
    Undefined,
}

open class ClassRosterResponse : ClassRosterResponseDto()
{
    var Success:Boolean? = null
    var Message:String? = null
    var ClassDate:Date? = null
    var FreeSpots:Int? = null
    var MaxSpots:Int? = null
    var TotalBooked:Int? = null
    var LocationType:String? = null
    var VirtualLink:String? = null
    var ClassRoster:ArrayList<ClassRosterItem> = ArrayList<ClassRosterItem>()
    var WaitList:ArrayList<ClassRosterItem> = ArrayList<ClassRosterItem>()
}

open class ClassRosterResponseDto : ApiResponseBase()
{
    var ClassRoster:ArrayList<ClassRosterItem> = ArrayList<ClassRosterItem>()
    var WaitList:ArrayList<ClassRosterItem> = ArrayList<ClassRosterItem>()
}

open class ApiResponseBase
{
    var Success:Boolean? = null
    var Message:String? = null
}

open class ClassRosterItem
{
    var BookingId:Int? = null
    var UserId:Int? = null
    var FirstName:String? = null
    var LastName:String? = null
    var Email:String? = null
    var Phone:String? = null
    var BookingMade:Date? = null
    var FirstTimeBooking:Boolean? = null
    var PackageName:String? = null
    var PackageId:Int? = null
    var LeadTypeName:String? = null
    var LeadTypeId:Int? = null
    var IsMember:Boolean? = null
    var MemberExpiration:Date? = null
    var CreditType:ClassRosterCreditType? = null
    var CreditsRemaining:Int? = null
    var NextCreditExpiration:Date? = null
    var BookingStatusId:Short? = null
    var BookingStatusDescription:String? = null
}

enum class ClassRosterCreditType(val value:Int)
{
    Uninitialized(0),
    PaidCredit(1),
    FreeCredit(2),
    AmenityCredit(3),
    MembershipTypeCredit(4),
    ClassPassCredit(5),
    Error(-1),
}

Kotlin ClassRosterRequest DTOs

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

HTTP + JSV

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: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Success: False,
	Message: String,
	ClassDate: 0001-01-01,
	FreeSpots: 0,
	MaxSpots: 0,
	TotalBooked: 0,
	LocationType: String,
	VirtualLink: String,
	ClassRoster: 
	[
		{
			BookingId: 0,
			UserId: 0,
			FirstName: String,
			LastName: String,
			Email: String,
			Phone: String,
			BookingMade: 0001-01-01,
			FirstTimeBooking: False,
			PackageName: String,
			PackageId: 0,
			LeadTypeName: String,
			LeadTypeId: 0,
			IsMember: False,
			MemberExpiration: 0001-01-01,
			CreditType: Uninitialized,
			CreditsRemaining: 0,
			NextCreditExpiration: 0001-01-01,
			BookingStatusId: 0,
			BookingStatusDescription: String
		}
	],
	WaitList: 
	[
		{
			BookingId: 0,
			UserId: 0,
			FirstName: String,
			LastName: String,
			Email: String,
			Phone: String,
			BookingMade: 0001-01-01,
			FirstTimeBooking: False,
			PackageName: String,
			PackageId: 0,
			LeadTypeName: String,
			LeadTypeId: 0,
			IsMember: False,
			MemberExpiration: 0001-01-01,
			CreditType: Uninitialized,
			CreditsRemaining: 0,
			NextCreditExpiration: 0001-01-01,
			BookingStatusId: 0,
			BookingStatusDescription: String
		}
	]
}