| GET | /sales/packages/{PackageId}/installments | Get sales package installments | 
|---|
namespace ClubReady.Core.Api
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 GetSalesPackageInstallmentsDto() = 
        inherit ApiDtoBase()
        member val PackageId:Int32 = new Int32() with get,set
    type RestrictedResourceType =
        | Store = 0
        | Chain = 1
        | User = 2
        | Undefined = 3
    [<AllowNullLiteral>]
    type GetSalesPackageDiscountsRequest() = 
        inherit GetSalesPackageInstallmentsDto()
        ///<summary>
        ///IP address of the end user
        ///</summary>
        [<ApiMember(Description="IP address of the end user", Name="X-Forwarded-For", ParameterType="header")>]
        member val XForwardedFor:String = null with get,set
        ///<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>
        ///ID # of store to get package plans for
        ///</summary>
        [<ApiMember(DataType="string", Description="ID # of store to get package plans for", IsRequired=true, Name="StoreId", ParameterType="query")>]
        member val StoreId:Nullable<Int32> = new Nullable<Int32>() with get,set
        ///<summary>
        ///ID # of package to get installment plans for
        ///</summary>
        [<ApiMember(DataType="string", Description="ID # of package to get installment plans for", IsRequired=true, Name="PackageId", ParameterType="path")>]
        member val PackageId: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
F# GetSalesPackageDiscountsRequest 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
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /sales/packages/{PackageId}/installments HTTP/1.1 
Host: clubready.com 
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
[{"Id":0,"ForOnlineSale":false,"PaymentCount":0,"DuePerPayment":"String","Fees":[{"Name":"String","Amount":"String","Taxable":false,"CanBeWaived":false,"CanDuplicate":false,"OneTime":false,"DueUpfront":false,"PayFrequencyMonths":0}]}]