BokaMera.API.Host

<back to all web services

CreatePresetBehaviour

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
POST/voss/presetBehaviourcreate preset behaviour in voss
namespace BokaMera.API.ServiceModel.Dtos

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

    type ChangeTypeEnum =
        | Subscription = 0
        | ProductGroup = 1
        | License = 2

    type ChangeOperationEnum =
        | Create = 0
        | Terminate = 1
        | Upgrade = 2
        | Sidegrade = 3
        | Downgrade = 4
        | Migration = 5

    type SubscriptionTimingEnum =
        | AtSubscriptionBillingPeriodEnd = 0
        | AtBindingPeriodEnd = 1
        | Immediately = 2

    type PeriodAnchorEnum =
        | LatestPeriod = 0
        | CurrentPeriod = 1

    type RenewalTimingEnum =
        | UseCurrentPlanRenewalDate = 0
        | UseScheduledPlanRenewalDate = 1

    type SubscriptionBehaviourEnum =
        | Prorate = 0
        | Full = 1
        | None = 2

    type CreditKindEnum =
        | Normal = 0
        | Internal = 1

    [<ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)>]
    [<AllowNullLiteral>]
    type CreatePresetBehaviour() = 
        ///<summary>
        ///Company ids to create invoice. If none added invoice for all will be created
        ///</summary>
        [<ApiMember(Description="Company ids to create invoice. If none added invoice for all will be created")>]
        member val ChangeType:ChangeTypeEnum = new ChangeTypeEnum() with get,set

        member val ChangeOperation:ChangeOperationEnum = new ChangeOperationEnum() with get,set
        member val Timing:SubscriptionTimingEnum = new SubscriptionTimingEnum() with get,set
        member val PeriodAnchor:PeriodAnchorEnum = new PeriodAnchorEnum() with get,set
        member val RenewalTiming:RenewalTimingEnum = new RenewalTimingEnum() with get,set
        member val DebitBehaviour:Nullable<SubscriptionBehaviourEnum> = new Nullable<SubscriptionBehaviourEnum>() with get,set
        member val CreditBehaviour:Nullable<SubscriptionBehaviourEnum> = new Nullable<SubscriptionBehaviourEnum>() with get,set
        member val CreditKind:Nullable<CreditKindEnum> = new Nullable<CreditKindEnum>() with get,set
        member val PeriodIterationCount:Nullable<Int32> = new Nullable<Int32>() with get,set

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

POST /voss/presetBehaviour HTTP/1.1 
Host: api.bokamera.se 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"ChangeType":"Subscription","ChangeOperation":"Create","Timing":"AtSubscriptionBillingPeriodEnd","PeriodAnchor":"LatestPeriod","RenewalTiming":"UseCurrentPlanRenewalDate","DebitBehaviour":"Prorate","CreditBehaviour":"Prorate","CreditKind":"Normal","PeriodIterationCount":0}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{}