| GET | /scheduling/{UserId}/credit-check | Check to see if a particular credit can be used to book a certain class or service. | 
|---|
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.Api.Models
Imports ClubReady.Core.Api
Imports ClubReady.Web.Api
Namespace Global
    Namespace ClubReady.Core.Api
        Public Partial Class ApiDtoBase
            Implements IApiDtoBase
            Public Overridable Property ApiKey As String
            Public Overridable Property StoreId As Nullable(Of Integer)
            Public Overridable Property ChainId As Nullable(Of Integer)
        End Class
    End Namespace
    Namespace ClubReady.Core.Api.Models
        Public Partial Class ApiResponseBase
            Public Overridable Property Success As Boolean
            Public Overridable Property Message As String
        End Class
        Public Partial Class CreditCheckRequestDto
            Inherits ApiDtoBase
            Public Overridable Property UserId As Integer
            Public Overridable Property CustomerSessionId As Integer
            Public Overridable Property ClassId As Nullable(Of Integer)
            Public Overridable Property SessionSizeId As Nullable(Of Integer)
        End Class
        Public Partial Class CreditCheckResponseDto
            Inherits ApiResponseBase
            Public Overridable Property CanUse 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 CreditCheckRequest
            Inherits CreditCheckRequestDto
            Implements IRestrictedApiRequest
            '''<Summary>
            '''IP address of the end user
            '''</Summary>
            <ApiMember(Description:="IP address of the end user", Name:="X-Forwarded-For", ParameterType:="header")>
            Public Overridable Property XForwardedFor As String
            '''<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>
            '''Chain ID
            '''</Summary>
            <ApiMember(DataType:="integer", Description:="Chain ID", Name:="ChainId", ParameterType:="query")>
            Public Overridable Property ChainId As Nullable(Of Integer)
            '''<Summary>
            '''Store ID
            '''</Summary>
            <ApiMember(DataType:="integer", Description:="Store ID", Name:="StoreId", ParameterType:="query")>
            Public Overridable Property StoreId As Nullable(Of Integer)
            '''<Summary>
            '''ClubReady User ID
            '''</Summary>
            <ApiMember(DataType:="integer", Description:="ClubReady User ID", IsRequired:=true, Name:="UserId", ParameterType:="path")>
            Public Overridable Property UserId As Integer
            '''<Summary>
            '''ClubReady Customer Session ID
            '''</Summary>
            <ApiMember(DataType:="integer", Description:="ClubReady Customer Session ID", IsRequired:=true, Name:="CustomerSessionId", ParameterType:="query")>
            Public Overridable Property CustomerSessionId As Integer
            '''<Summary>
            '''ClubReady Class ID
            '''</Summary>
            <ApiMember(DataType:="integer", Description:="ClubReady Class ID", Name:="ClassId", ParameterType:="query")>
            Public Overridable Property ClassId As Nullable(Of Integer)
            '''<Summary>
            '''ClubReady Session Size ID
            '''</Summary>
            <ApiMember(DataType:="integer", Description:="ClubReady Session Size ID", Name:="SessionSizeId", ParameterType:="query")>
            Public Overridable Property SessionSizeId As Nullable(Of Integer)
            Public Overridable Property RestrictedId As Nullable(Of Integer)
            Public Overridable Property RestrictedResourceType As RestrictedResourceType
        End Class
        Public Partial Class CreditCheckResponse
            Inherits CreditCheckResponseDto
            Public Overridable Property Success As Boolean
            Public Overridable Property Message As String
            Public Overridable Property CanUse As Boolean
        End Class
    End Namespace
End Namespace
VB.NET CreditCheckRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /scheduling/{UserId}/credit-check HTTP/1.1 
Host: www.clubready.com 
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"Success":false,"Message":"String","CanUse":false}