BokaMera.API.Host

<back to all web services

LicenseInformationQuery

The following routes are available for this service:
GET/licenses/information/Get whats included in each licenseThis service is used to get to summare of information about whats included in each license.
namespace BokaMera.API.ServiceModel.Db

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type LicenseItemsResponse() = 
        member val Id:Int32 = new Int32() with get,set
        member val Name:String = null with get,set
        member val AllowedItems:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type BaseModel() = 
        class end

    [<AllowNullLiteral>]
    type Currency() = 
        inherit BaseModel()
        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val CurrencySign:String = null with get,set

        [<Required>]
        member val Active:Boolean = new Boolean() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        [<Required>]
        member val Id:String = null with get,set

    [<AllowNullLiteral>]
    type Country() = 
        inherit BaseModel()
        [<References(typeof<Currency>)>]
        member val CurrencyId:String = null with get,set

        member val CurrencyInfo:Currency = null with get,set
        [<Required>]
        member val Name:String = null with get,set

        member val Culture:String = null with get,set
        member val TimeZone:String = null with get,set
        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        [<Required>]
        member val Id:String = null with get,set

    [<AllowNullLiteral>]
    type LicensePrice() = 
        inherit BaseModel()
        [<Ignore>]
        member val Country:Country = null with get,set

        [<Ignore>]
        member val MonthlyPayment:Boolean = new Boolean() with get,set

        [<Required>]
        member val LicenseTypeId:Int32 = new Int32() with get,set

        [<Required>]
        member val CountryId:String = null with get,set

        [<Required>]
        member val Price:Int32 = new Int32() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set

    [<AllowNullLiteral>]
    type LicenseTypeQueryResponse() = 
        ///<summary>
        ///The license type id
        ///</summary>
        [<ApiMember(Description="The license type id")>]
        member val Id:Int32 = new Int32() with get,set

        ///<summary>
        ///The license type name
        ///</summary>
        [<ApiMember(Description="The license type name")>]
        member val Name:String = null with get,set

        ///<summary>
        ///The license type description
        ///</summary>
        [<ApiMember(Description="The license type description")>]
        member val Description:String = null with get,set

        ///<summary>
        ///If the license type is not a standard license but instead an extra license option. An example would be sending new letter license.
        ///</summary>
        [<ApiMember(Description="If the license type is not a standard license but instead an extra license option. An example would be sending new letter license.")>]
        member val IsExtraLicenseOption:Boolean = new Boolean() with get,set

        ///<summary>
        ///The period of notice for the license in days.
        ///</summary>
        [<ApiMember(Description="The period of notice for the license in days.")>]
        member val PeriodOfNoticeDays:Int32 = new Int32() with get,set

        ///<summary>
        ///The license items for the license type
        ///</summary>
        [<ApiMember(Description="The license items for the license type")>]
        member val Items:ResizeArray<LicenseItemsResponse> = new ResizeArray<LicenseItemsResponse>() with get,set

        ///<summary>
        ///The license prices in each country for the license type
        ///</summary>
        [<ApiMember(Description="The license prices in each country for the license type")>]
        member val Prices:ResizeArray<LicensePrice> = new ResizeArray<LicensePrice>() with get,set

    [<AllowNullLiteral>]
    type LicenseInformation() = 
        inherit BaseModel()
        [<Ignore>]
        member val Prices:IList<LicensePrice> = null with get,set

        member val Id:Int32 = new Int32() with get,set
        member val LicenseInformationId:Int32 = new Int32() with get,set
        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val Description:String = null with get,set

        member val Url:String = null with get,set
        [<Required>]
        member val FreeEdition:Boolean = new Boolean() with get,set

        member val FreeEditionValue:String = null with get,set
        [<Required>]
        member val StartEdition:Boolean = new Boolean() with get,set

        member val StartEditionValue:String = null with get,set
        member val SmartEdition:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val SmartEditionValue:String = null with get,set
        [<Required>]
        member val ProEdition:Boolean = new Boolean() with get,set

        member val ProEditionValue:String = null with get,set
        member val EnterpriseEdition:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val EnterpriseEditionValue:String = null with get,set
        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set

    [<ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)>]
    [<AllowNullLiteral>]
    type LicenseInformationQuery() = 
        inherit QueryDb<LicenseInformation, LicenseTypeQueryResponse>()
        ///<summary>
        ///If you want to include the connected license prices
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If you want to include the connected license prices", ParameterType="query")>]
        member val IncludeLicensePrices:Boolean = new Boolean() with get,set

        member val ResponseStatus:ResponseStatus = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type QueryBase() = 
        ///<summary>
        ///Skip over a given number of elements in a sequence and then return the remainder. Use this when you need paging.<br/><br/><strong>Example:</strong><br/><code>?skip=10&orderBy=Id</code>
        ///</summary>
        [<DataMember(Order=1)>]
        member val Skip:Nullable<Int32> = new Nullable<Int32>() with get,set

        ///<summary>
        ///Return a given number of elements in a sequence and then skip over the remainder. Use this when you need paging.<br/><br/><strong>Example:</strong><br/><code>?take=20</code>
        ///</summary>
        [<DataMember(Order=2)>]
        member val Take:Nullable<Int32> = new Nullable<Int32>() with get,set

        ///<summary>
        ///Comma separated list of fields to order by. Prefix the field name with a minus if you wan't to invert the sort for that field.<br/><br/><strong>Example:</strong><br/><code>?orderBy=Id,-Age,FirstName</code>
        ///</summary>
        [<DataMember(Order=3)>]
        member val OrderBy:String = null with get,set

        ///<summary>
        ///Comma separated list of fields to order by in descending order. Prefix the field name with a minus if you wan't to invert the sort for that field.<br/><br/><strong>Example:</strong><br/><code>?orderByDesc=Id,-Age,FirstName</code>
        ///</summary>
        [<DataMember(Order=4)>]
        member val OrderByDesc:String = null with get,set

        ///<summary>
        ///Include any of the aggregates <code>AVG, COUNT, FIRST, LAST, MAX, MIN, SUM</code> in your result set. The results will be returned in the meta field.<br/><br/><strong>Example:</strong><br/><code>?include=COUNT(*) as Total</code><br/><br/>or multiple fields with<br/><code>?include=Count(*) Total, Min(Age), AVG(Age) AverageAge</code><br/></br>or unique with<br/><code>?include=COUNT(DISTINCT LivingStatus) as UniqueStatus</code>
        ///</summary>
        [<DataMember(Order=5)>]
        member val Include:String = null with get,set

        [<DataMember(Order=6)>]
        member val Fields:String = null with get,set

        [<DataMember(Order=7)>]
        member val Meta:Dictionary<String, String> = new Dictionary<String, String>() with get,set

    [<AllowNullLiteral>]
    type QueryDb<From, Into>() = 
        inherit QueryBase()

    [<AllowNullLiteral>]
    type AccessKeyTypeResponse() = 
        member val Id:Int32 = new Int32() with get,set
        member val KeyType:String = null with get,set
        member val Description:String = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type QueryResponse<AccessKeyTypeResponse>() = 
        [<DataMember(Order=1)>]
        member val Offset:Int32 = new Int32() with get,set

        [<DataMember(Order=2)>]
        member val Total:Int32 = new Int32() with get,set

        [<DataMember(Order=3)>]
        member val Results:ResizeArray<AccessKeyTypeResponse> = new ResizeArray<AccessKeyTypeResponse>() with get,set

        [<DataMember(Order=4)>]
        member val Meta:Dictionary<String, String> = new Dictionary<String, String>() with get,set

        [<DataMember(Order=5)>]
        member val ResponseStatus:ResponseStatus = null with get,set

F# LicenseInformationQuery 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.

GET /licenses/information/ HTTP/1.1 
Host: api.bokamera.se 
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"Offset":0,"Total":0,"Results":[{"Id":0,"Name":"String","Description":"String","IsExtraLicenseOption":false,"PeriodOfNoticeDays":0,"Items":[{"Id":0,"Name":"String","AllowedItems":0}],"Prices":[{"Country":{"CurrencyId":"String","CurrencyInfo":{"Name":"String","CurrencySign":"String","Active":false,"ModifiedDate":"0001-01-01T00:00:00.0000000+00:00","Id":"String"},"Name":"String","Culture":"String","TimeZone":"String","ModifiedDate":"0001-01-01T00:00:00.0000000+00:00","Id":"String"},"MonthlyPayment":true,"LicenseTypeId":0,"CountryId":"String","Price":0,"ModifiedDate":"0001-01-01T00:00:00.0000000+00:00"}]}],"Meta":{"String":"String"},"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}