GET | /scheduling/{UserId}/credit-detail | Breakdown of a user's credits. |
---|
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.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 ApiResponseBase
Public Overridable Property Success As Boolean
Public Overridable Property Message As String
End Class
Public Partial Class CreditDetailResponseDto
Inherits ApiResponseBase
Public Sub New()
Credits = New List(Of SessionCreditDetail)
End Sub
Public Overridable Property TotalPurchased As Nullable(Of Integer)
Public Overridable Property TotalAvailable As Nullable(Of Integer)
Public Overridable Property Credits As List(Of SessionCreditDetail)
End Class
Public Partial Class SessionCreditDetail
Public Overridable Property ServiceId As Nullable(Of Integer)
Public Overridable Property SessionSizeId As Nullable(Of Integer)
Public Overridable Property ClassId As Nullable(Of Integer)
Public Overridable Property Name As String
Public Overridable Property Total As Integer
Public Overridable Property Available As Integer
Public Overridable Property StoreId As Nullable(Of Integer)
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 CreditDetailRequest
Inherits ApiDtoBase
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>
'''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>
'''Determines if the list of the user's credits are broken out by store ID.
'''</Summary>
<ApiMember(DataType:="Boolean", Description:="Determines if the list of the user's credits are broken out by store ID.", Name:="FullDetail", ParameterType:="query")>
Public Overridable Property FullDetail As Boolean
Public Overridable Property RestrictedId As Nullable(Of Integer)
Public Overridable Property RestrictedResourceType As RestrictedResourceType
End Class
Public Partial Class CreditDetailResponse
Inherits CreditDetailResponseDto
Public Sub New()
Credits = New List(Of SessionCreditDetail)
End Sub
Public Overridable Property Success As Boolean
Public Overridable Property Message As String
Public Overridable Property TotalPurchased As Nullable(Of Integer)
Public Overridable Property TotalAvailable As Nullable(Of Integer)
Public Overridable Property Credits As List(Of SessionCreditDetail)
End Class
End Namespace
End Namespace
VB.NET CreditDetailRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /scheduling/{UserId}/credit-detail HTTP/1.1 Host: clubready.com Accept: text/jsv
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { Success: False, Message: String, TotalPurchased: 0, TotalAvailable: 0, Credits: [ { ServiceId: 0, SessionSizeId: 0, ClassId: 0, Name: String, Total: 0, Available: 0, StoreId: 0 } ] }