ClubReady Api

<back to all web services

GetBillingStatusRequest

The following routes are available for this service:
GET/sales/members/{MemberId}/statusGet customer's billing status
namespace ClubReady.Core.Api.Models

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 GetBillingStatusRequestDto() = 
        inherit ApiDtoBase()
        member val MemberId:Int32 = new Int32() with get,set

    type RestrictedResourceType =
        | Store = 0
        | Chain = 1
        | User = 2
        | Undefined = 3

    [<AllowNullLiteral>]
    type GetBillingStatusRequest() = 
        inherit GetBillingStatusRequestDto()
        ///<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 # member belongs to
        ///</summary>
        [<ApiMember(DataType="integer", Description="Store ID # member belongs to", IsRequired=true, Name="StoreId", ParameterType="query")>]
        member val StoreId:Nullable<Int32> = new Nullable<Int32>() with get,set

        ///<summary>
        ///ID of the member to lookup
        ///</summary>
        [<ApiMember(DataType="integer", Description="ID of the member to lookup", IsRequired=true, Name="MemberId", ParameterType="path")>]
        member val MemberId: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

    [<DataContract>]
    [<AllowNullLiteral>]
    type GetMemberBillingStatus_Result() = 
        [<DataMember>]
        member val FullName:String = null with get,set

        [<DataMember>]
        member val MemberStatus:String = null with get,set

        [<DataMember>]
        member val HomeClub:String = null with get,set

        [<DataMember>]
        member val BalanceDue:Nullable<Decimal> = new Nullable<Decimal>() with get,set

        [<DataMember>]
        member val StoreID:Nullable<Int32> = new Nullable<Int32>() with get,set

    [<AllowNullLiteral>]
    type MemberBillingStatusInvoice() = 
        member val InvoiceId:Int32 = new Int32() with get,set
        member val Status:String = null with get,set
        member val StatusId:Int16 = new Int16() with get,set
        member val AmountDue:Decimal = new Decimal() with get,set
        member val SalesTaxDue:Decimal = new Decimal() with get,set
        member val PaymentDue:DateTime = new DateTime() with get,set
        member val PaymentMade:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val PackageName:String = null with get,set

    [<AllowNullLiteral>]
    type MemberBillingStatus() = 
        inherit GetMemberBillingStatus_Result()
        member val Invoices:ResizeArray<MemberBillingStatusInvoice> = new ResizeArray<MemberBillingStatusInvoice>() with get,set
        member val UserTypeId:Int32 = new Int32() with get,set
        member val UserTypeName:String = null with get,set
        member val NewUserId:Nullable<Int32> = new Nullable<Int32>() with get,set

F# GetBillingStatusRequest 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 /sales/members/{MemberId}/status HTTP/1.1 
Host: clubready.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Invoices: 
	[
		{
			InvoiceId: 0,
			Status: String,
			StatusId: 0,
			AmountDue: 0,
			SalesTaxDue: 0,
			PaymentDue: 0001-01-01,
			PaymentMade: 0001-01-01,
			PackageName: String
		}
	],
	UserTypeId: 0,
	UserTypeName: String,
	NewUserId: 0,
	FullName: String,
	MemberStatus: String,
	HomeClub: String,
	BalanceDue: 0,
	StoreID: 0
}