BokaMera.API.Host

<back to all web services

CompanyCreditCardInformation

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, bookingsupplier-administrator-read, superadmin
The following routes are available for this service:
GET/billing/company/creditcardGet saved credit card information for the company.Get saved credit card information for the company.
namespace BokaMera.API.ServiceModel.Db

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

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

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

        ///<summary>
        ///If the credit card is active
        ///</summary>
        [<ApiMember(Description="If the credit card is active")>]
        member val Active:Boolean = new Boolean() with get,set

        ///<summary>
        ///If the credit card is valid (active and not expired)
        ///</summary>
        [<ApiMember(Description="If the credit card is valid (active and not expired)")>]
        member val IsValid:Boolean = new Boolean() with get,set

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

        ///<summary>
        ///The credit card expiration Year
        ///</summary>
        [<ApiMember(Description="The credit card expiration Year")>]
        member val ExpYear:String = null with get,set

        ///<summary>
        ///The credit card expiration month
        ///</summary>
        [<ApiMember(Description="The credit card expiration month")>]
        member val ExpMonth:String = null with get,set

        ///<summary>
        ///The credit card ticket name. This is secret information and won't be displayed
        ///</summary>
        [<ApiMember(Description="The credit card ticket name. This is secret information and won't be displayed")>]
        member val TicketId:String = null with get,set

        ///<summary>
        ///The date when the credit card was saved.
        ///</summary>
        [<ApiMember(Description="The date when the credit card was saved.")>]
        member val Created:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        ///<summary>
        ///The date when the credit card was updated.
        ///</summary>
        [<ApiMember(Description="The date when the credit card was updated.")>]
        member val Updated:Nullable<DateTime> = new Nullable<DateTime>() with get,set

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

    [<AllowNullLiteral>]
    type CreditCard() = 
        inherit BaseModel()
        [<Ignore>]
        member val IsValid:Boolean = new Boolean() with get,set

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

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

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

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

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

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

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

        member val Updated:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val Created:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() 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> = null with get,set

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

    [<ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)>]
    [<ValidateRequest(Validator="IsAuthenticated")>]
    [<AllowNullLiteral>]
    type CompanyCreditCardInformation() = 
        inherit QueryDb<CreditCard, CompanyCreditCardQueryResponse>()
        ///<summary>
        ///The company id, if empty will use the company id for the user you are logged in with.
        ///</summary>
        [<ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")>]
        member val CompanyId:Nullable<Guid> = new Nullable<Guid>() with get,set

        ///<summary>
        ///If you want to include only active credit cards
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If you want to include only active credit cards", ParameterType="query")>]
        member val Active:Boolean = new Boolean() with get,set

        ///<summary>
        ///If you want to include only valid credit cards (not expired and valid)
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If you want to include only valid credit cards (not expired and valid)", ParameterType="query")>]
        member val IsValid:Boolean = new Boolean() with get,set

    [<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<T>() = 
        [<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> = null with get,set

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

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

F# CompanyCreditCardInformation DTOs

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

HTTP + CSV

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

GET /billing/company/creditcard HTTP/1.1 
Host: api.bookmore.com 
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"Offset":0,"Total":0,"Results":[{"Id":0,"Name":"String","Active":false,"IsValid":false,"Type":"String","ExpYear":"String","ExpMonth":"String","TicketId":"String","Created":"0001-01-01T00:00:00","Updated":"0001-01-01T00: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"}}}