| Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
| POST | /licenses/company/delete | End all licenses | End all licenses on the company for the logged in user. |
|---|
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 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 LicensePriceResponse() =
member val LicenseTypeId:Int32 = new Int32() with get,set
member val CountryId:String = null with get,set
member val Price:Int32 = new Int32() with get,set
member val Country:Country = null with get,set
member val LicensePlanId:Int32 = new Int32() 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 newsletter license.
///</summary>
[<ApiMember(Description="If the license type is not a standard license but instead an extra license option. An example would be sending newsletter 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> = null 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<LicensePriceResponse> = null with get,set
[<AllowNullLiteral>]
type ProductGroupResponse() =
member val Id:Guid = new Guid() with get,set
member val Name:String = null with get,set
member val TierId:Guid = new Guid() with get,set
[<AllowNullLiteral>]
type TierResponse() =
member val Id:Guid = new Guid() with get,set
member val Name:String = null with get,set
member val ProductGroups:ResizeArray<ProductGroupResponse> = null with get,set
[<AllowNullLiteral>]
type VossSubscriptionResponse() =
member val SubscriptionBillingPeriodStartDate:DateTime = new DateTime() with get,set
member val SubscriptionBillingPeriodEndDate:DateTime = new DateTime() with get,set
member val BindingPeriodEndDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val Tier:TierResponse = null with get,set
[<AllowNullLiteral>]
type CompanyLicenseQueryResponse() =
member val Id:Int32 = new Int32() with get,set
member val TypeId:Int32 = new Int32() with get,set
member val Type:LicenseTypeQueryResponse = null with get,set
member val ValidFrom:DateTime = new DateTime() with get,set
member val ValidTo:DateTime = new DateTime() with get,set
member val VossSubscriptionId:Nullable<Guid> = new Nullable<Guid>() with get,set
member val VossSubscription:VossSubscriptionResponse = null with get,set
member val MetaData:String = null with get,set
member val Active:Boolean = new Boolean() with get,set
member val LicenseStatus:String = null with get,set
member val Canceled:Boolean = new Boolean() with get,set
member val LicensePlanId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Updated:DateTime = new DateTime() with get,set
member val Created:DateTime = new DateTime() with get,set
[<AllowNullLiteral>]
type Questionnaire() =
member val Question:String = null with get,set
member val Value:String = null with get,set
[<ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)>]
[<ValidateRequest(Validator="IsAuthenticated")>]
[<AllowNullLiteral>]
type EndAllLicenses() =
///<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 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.
///</summary>
[<ApiMember(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.")>]
member val Deactivate:Boolean = new Boolean() with get,set
///<summary>
///Questionaire with answers from customer why ending license.
///</summary>
[<ApiMember(Description="Questionaire with answers from customer why ending license.")>]
member val Questionnaire:Questionnaire[] = null with get,set
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
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: application/xml
Content-Type: application/xml
Content-Length: length
<EndAllLicenses xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
<CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
<Deactivate>false</Deactivate>
<Questionnaire>
<Questionnaire>
<Question>String</Question>
<Value>String</Value>
</Questionnaire>
</Questionnaire>
</EndAllLicenses>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<CompanyLicenseQueryResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
<Active>false</Active>
<Canceled>false</Canceled>
<Created>0001-01-01T00:00:00</Created>
<Id>0</Id>
<LicensePlanId>0</LicensePlanId>
<LicenseStatus>String</LicenseStatus>
<MetaData>String</MetaData>
<Type>
<Description>String</Description>
<Id>0</Id>
<IsExtraLicenseOption>false</IsExtraLicenseOption>
<Items>
<LicenseItemsResponse>
<AllowedItems>0</AllowedItems>
<Id>0</Id>
<Name>String</Name>
</LicenseItemsResponse>
</Items>
<Name>String</Name>
<PeriodOfNoticeDays>0</PeriodOfNoticeDays>
<Prices>
<LicensePriceResponse>
<Country xmlns:d5p1="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Db">
<d5p1:Culture>String</d5p1:Culture>
<d5p1:CurrencyId>String</d5p1:CurrencyId>
<d5p1:CurrencyInfo>
<d5p1:Active>false</d5p1:Active>
<d5p1:CurrencySign>String</d5p1:CurrencySign>
<d5p1:Id>String</d5p1:Id>
<d5p1:ModifiedDate xmlns:d7p1="http://schemas.datacontract.org/2004/07/System">
<d7p1:DateTime>0001-01-01T00:00:00Z</d7p1:DateTime>
<d7p1:OffsetMinutes>0</d7p1:OffsetMinutes>
</d5p1:ModifiedDate>
<d5p1:Name>String</d5p1:Name>
</d5p1:CurrencyInfo>
<d5p1:Id>String</d5p1:Id>
<d5p1:ModifiedDate xmlns:d6p1="http://schemas.datacontract.org/2004/07/System">
<d6p1:DateTime>0001-01-01T00:00:00Z</d6p1:DateTime>
<d6p1:OffsetMinutes>0</d6p1:OffsetMinutes>
</d5p1:ModifiedDate>
<d5p1:Name>String</d5p1:Name>
<d5p1:TimeZone>String</d5p1:TimeZone>
</Country>
<CountryId>String</CountryId>
<LicensePlanId>0</LicensePlanId>
<LicenseTypeId>0</LicenseTypeId>
<Price>0</Price>
</LicensePriceResponse>
</Prices>
</Type>
<TypeId>0</TypeId>
<Updated>0001-01-01T00:00:00</Updated>
<ValidFrom>0001-01-01T00:00:00</ValidFrom>
<ValidTo>0001-01-01T00:00:00</ValidTo>
<VossSubscription xmlns:d2p1="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Helpers.VossHelper">
<d2p1:BindingPeriodEndDate>0001-01-01T00:00:00</d2p1:BindingPeriodEndDate>
<d2p1:SubscriptionBillingPeriodEndDate>0001-01-01T00:00:00</d2p1:SubscriptionBillingPeriodEndDate>
<d2p1:SubscriptionBillingPeriodStartDate>0001-01-01T00:00:00</d2p1:SubscriptionBillingPeriodStartDate>
<d2p1:Tier>
<d2p1:Id>00000000-0000-0000-0000-000000000000</d2p1:Id>
<d2p1:Name>String</d2p1:Name>
<d2p1:ProductGroups>
<d2p1:ProductGroupResponse>
<d2p1:Id>00000000-0000-0000-0000-000000000000</d2p1:Id>
<d2p1:Name>String</d2p1:Name>
<d2p1:TierId>00000000-0000-0000-0000-000000000000</d2p1:TierId>
</d2p1:ProductGroupResponse>
</d2p1:ProductGroups>
</d2p1:Tier>
</VossSubscription>
<VossSubscriptionId>00000000-0000-0000-0000-000000000000</VossSubscriptionId>
</CompanyLicenseQueryResponse>