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

export enum ChangeTypeEnum
{
    Subscription = 'Subscription',
    ProductGroup = 'ProductGroup',
    License = 'License',
}

export enum ChangeOperationEnum
{
    Create = 'Create',
    Terminate = 'Terminate',
    Upgrade = 'Upgrade',
    Sidegrade = 'Sidegrade',
    Downgrade = 'Downgrade',
    Migration = 'Migration',
}

export enum SubscriptionTimingEnum
{
    AtSubscriptionBillingPeriodEnd = 'AtSubscriptionBillingPeriodEnd',
    AtBindingPeriodEnd = 'AtBindingPeriodEnd',
    Immediately = 'Immediately',
}

export enum PeriodAnchorEnum
{
    LatestPeriod = 'LatestPeriod',
    CurrentPeriod = 'CurrentPeriod',
}

export enum RenewalTimingEnum
{
    UseCurrentPlanRenewalDate = 'UseCurrentPlanRenewalDate',
    UseScheduledPlanRenewalDate = 'UseScheduledPlanRenewalDate',
}

export enum SubscriptionBehaviourEnum
{
    Prorate = 'Prorate',
    Full = 'Full',
    None = 'None',
}

export enum CreditKindEnum
{
    Normal = 'Normal',
    Internal = 'Internal',
}

// @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
export class CreatePresetBehaviour
{
    /** @description Company ids to create invoice. If none added invoice for all will be created */
    // @ApiMember(Description="Company ids to create invoice. If none added invoice for all will be created")
    public ChangeType: ChangeTypeEnum;

    public ChangeOperation: ChangeOperationEnum;
    public Timing: SubscriptionTimingEnum;
    public PeriodAnchor: PeriodAnchorEnum;
    public RenewalTiming: RenewalTimingEnum;
    public DebitBehaviour?: SubscriptionBehaviourEnum;
    public CreditBehaviour?: SubscriptionBehaviourEnum;
    public CreditKind?: CreditKindEnum;
    public PeriodIterationCount?: number;

    public constructor(init?: Partial<CreatePresetBehaviour>) { (Object as any).assign(this, init); }
}

TypeScript CreatePresetBehaviour DTOs

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

HTTP + XML

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: application/xml
Content-Type: application/xml
Content-Length: length

<CreatePresetBehaviour xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
  <ChangeOperation>Create</ChangeOperation>
  <ChangeType>Subscription</ChangeType>
  <CreditBehaviour>Prorate</CreditBehaviour>
  <CreditKind>Normal</CreditKind>
  <DebitBehaviour>Prorate</DebitBehaviour>
  <PeriodAnchor>LatestPeriod</PeriodAnchor>
  <PeriodIterationCount>0</PeriodIterationCount>
  <RenewalTiming>UseCurrentPlanRenewalDate</RenewalTiming>
  <Timing>AtSubscriptionBillingPeriodEnd</Timing>
</CreatePresetBehaviour>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<z:anyType xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/" />