ClubReady Api

<back to all web services

AgreementAddEndpoint

The following routes are available for this service:
POST/sales/agreement/addSet up a package that will be sold to an existing userSet up a package that will be sold to an existing user. The PaymentMethods property is an array of objects describing how you want ClubReady to take payment while selling the PackageId/InstallmentPlanId. If omitted (or null), the preferred on-file profile will be used. The header `X-Forwarded-For` is required and should be set to the IP address of the end user.
import java.math.*
import java.util.*
import net.servicestack.client.*


@ApiResponse(Description="", ResponseType=AddResponse.class, StatusCode=200)
open class AgreementAddEndpoint : IAddEndpoint, IRestrictedApiRequest
{
    /**
    * IP address of the end user
    */
    @ApiMember(Description="IP address of the end user", IsRequired=true, Name="X-Forwarded-For", ParameterType="header")
    var XForwardedFor:String? = null

    /**
    * Api Authentication Key
    */
    @ApiMember(Description="Api Authentication Key", IsRequired=true, ParameterType="query")
    var ApiKey:String? = null

    /**
    * Member Id of the user buying the Package
    */
    @ApiMember(Description="Member Id of the user buying the Package", IsRequired=true, ParameterType="query")
    var MemberId:Int? = null

    var ChainId:Int? = null
    /**
    * Id of the store for the user
    */
    @ApiMember(Description="Id of the store for the user", IsRequired=true)
    var StoreId:Int? = null

    /**
    * Package Id number of the package being purchased
    */
    @ApiMember(Description="Package Id number of the package being purchased", IsRequired=true)
    var PackageId:Int? = null

    /**
    * Installment Plan Id being purchased. If empty, the default package will be selected.
    */
    @ApiMember(Description="Installment Plan Id being purchased. If empty, the default package will be selected.")
    var InstallmentId:Int? = null

    /**
    * Date contract takes affect
    */
    @ApiMember(Description="Date contract takes affect")
    var StartDate:Date? = null

    /**
    * Promo code to apply a discount.
    */
    @ApiMember(Description="Promo code to apply a discount.")
    var PromoCode:String? = null

    /**
    * Staff Id of salesperson who sold the agreement.
    */
    @ApiMember(Description="Staff Id of salesperson who sold the agreement.")
    var StaffId:Int? = null

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

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

open class AddResponse : ApiResponse2Base()
{
    var incompleteAgreementToken:String? = null
    var contractId:Int? = null
}

open class ApiResponse2Base
{
    var success:Boolean? = null
    var message:String? = null
}

Kotlin AgreementAddEndpoint DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /sales/agreement/add HTTP/1.1 
Host: www.clubready.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"XForwardedFor":"String","ApiKey":"String","MemberId":0,"ChainId":0,"StoreId":0,"PackageId":0,"InstallmentId":0,"StartDate":"0001-01-01T00:00:00.0000000","PromoCode":"String","StaffId":0,"RestrictedId":0,"RestrictedResourceType":"Store"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"incompleteAgreementToken":"String","contractId":0,"success":false,"message":"String"}