BokaMera.API.Host

<back to all web services

EndAllLicenses

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
POST/licenses/company/deleteEnd all licensesEnd all licenses on the company for the logged in user.
"use strict";
export class LicenseItemsResponse {
    /** @param {{Id?:number,Name?:string,AllowedItems?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /** @type {string} */
    Name;
    /** @type {number} */
    AllowedItems;
}
export class BaseModel {
    constructor(init) { Object.assign(this, init) }
}
export class Currency extends BaseModel {
    /** @param {{Name?:string,CurrencySign?:string,Active?:boolean,ModifiedDate?:string,Id?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string} */
    Name;
    /** @type {string} */
    CurrencySign;
    /** @type {boolean} */
    Active;
    /** @type {?string} */
    ModifiedDate;
    /** @type {string} */
    Id;
}
export class Country extends BaseModel {
    /** @param {{CurrencyId?:string,CurrencyInfo?:Currency,Name?:string,Culture?:string,TimeZone?:string,ModifiedDate?:string,Id?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string} */
    CurrencyId;
    /** @type {Currency} */
    CurrencyInfo;
    /** @type {string} */
    Name;
    /** @type {?string} */
    Culture;
    /** @type {?string} */
    TimeZone;
    /** @type {?string} */
    ModifiedDate;
    /** @type {string} */
    Id;
}
export class LicensePriceResponse {
    /** @param {{LicenseTypeId?:number,CountryId?:string,Price?:number,Country?:Country,LicensePlanId?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    LicenseTypeId;
    /** @type {string} */
    CountryId;
    /** @type {number} */
    Price;
    /** @type {Country} */
    Country;
    /** @type {number} */
    LicensePlanId;
}
export class LicenseTypeQueryResponse {
    /** @param {{Id?:number,Name?:string,Description?:string,IsExtraLicenseOption?:boolean,PeriodOfNoticeDays?:number,Items?:LicenseItemsResponse[],Prices?:LicensePriceResponse[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {number}
     * @description The license type id */
    Id;
    /**
     * @type {string}
     * @description The license type name */
    Name;
    /**
     * @type {string}
     * @description The license type description */
    Description;
    /**
     * @type {boolean}
     * @description If the license type is not a standard license but instead an extra license option. An example would be sending newsletter license. */
    IsExtraLicenseOption;
    /**
     * @type {number}
     * @description The period of notice for the license in days. */
    PeriodOfNoticeDays;
    /**
     * @type {LicenseItemsResponse[]}
     * @description The license items for the license type */
    Items = [];
    /**
     * @type {LicensePriceResponse[]}
     * @description The license prices in each country for the license type */
    Prices = [];
}
export class ProductGroupResponse {
    /** @param {{Id?:string,Name?:string,TierId?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Id;
    /** @type {string} */
    Name;
    /** @type {string} */
    TierId;
}
export class TierResponse {
    /** @param {{Id?:string,Name?:string,ProductGroups?:ProductGroupResponse[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Id;
    /** @type {string} */
    Name;
    /** @type {ProductGroupResponse[]} */
    ProductGroups = [];
}
export class VossSubscriptionResponse {
    /** @param {{SubscriptionBillingPeriodStartDate?:string,SubscriptionBillingPeriodEndDate?:string,BindingPeriodEndDate?:string,Tier?:TierResponse}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    SubscriptionBillingPeriodStartDate;
    /** @type {string} */
    SubscriptionBillingPeriodEndDate;
    /** @type {?string} */
    BindingPeriodEndDate;
    /** @type {TierResponse} */
    Tier;
}
export class CompanyLicenseQueryResponse {
    /** @param {{Id?:number,TypeId?:number,Type?:LicenseTypeQueryResponse,ValidFrom?:string,ValidTo?:string,VossSubscriptionId?:string,VossSubscription?:VossSubscriptionResponse,MetaData?:string,Active?:boolean,LicenseStatus?:string,Canceled?:boolean,LicensePlanId?:number,Updated?:string,Created?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /** @type {number} */
    TypeId;
    /** @type {LicenseTypeQueryResponse} */
    Type;
    /** @type {string} */
    ValidFrom;
    /** @type {string} */
    ValidTo;
    /** @type {?string} */
    VossSubscriptionId;
    /** @type {VossSubscriptionResponse} */
    VossSubscription;
    /** @type {string} */
    MetaData;
    /** @type {boolean} */
    Active;
    /** @type {string} */
    LicenseStatus;
    /** @type {boolean} */
    Canceled;
    /** @type {?number} */
    LicensePlanId;
    /** @type {string} */
    Updated;
    /** @type {string} */
    Created;
}
export class Questionnaire {
    /** @param {{Question?:string,Value?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Question;
    /** @type {string} */
    Value;
}
export class EndAllLicenses {
    /** @param {{CompanyId?:string,Deactivate?:boolean,Questionnaire?:Questionnaire[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {?string}
     * @description The company id, if empty will use the company id for the user you are logged in with. */
    CompanyId;
    /**
     * @type {boolean}
     * @description If true, all licenses and the booking system are terminated today. If false (default), the licenses stay active and are billed until the end of the current billing period, and each license's ValidTo is set to that date. */
    Deactivate;
    /**
     * @type {Questionnaire[]}
     * @description Questionaire with answers from customer why ending license. */
    Questionnaire = [];
}

JavaScript EndAllLicenses 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 /licenses/company/delete HTTP/1.1 
Host: testapi.bokamera.se 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"CompanyId":"00000000-0000-0000-0000-000000000000","Deactivate":false,"Questionnaire":[{"Question":"String","Value":"String"}]}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"Id":0,"TypeId":0,"Type":{"Id":0,"Name":"String","Description":"String","IsExtraLicenseOption":false,"PeriodOfNoticeDays":0,"Items":[{"Id":0,"Name":"String","AllowedItems":0}],"Prices":[{"LicenseTypeId":0,"CountryId":"String","Price":0,"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"},"LicensePlanId":0}]},"VossSubscriptionId":"00000000-0000-0000-0000-000000000000","VossSubscription":{"BindingPeriodEndDate":"0001-01-01T00:00:00","Tier":{"Name":"String","ProductGroups":[{"Name":"String"}]}},"MetaData":"String","Active":false,"LicenseStatus":"String","Canceled":false,"LicensePlanId":0}