| 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. |
|---|
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
@ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
@ValidateRequest(Validator="IsAuthenticated")
open class EndAllLicenses : ICompany
{
/**
* The company id, if empty will use the company id for the user you are logged in with.
*/
@ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")
override var CompanyId:UUID? = null
/**
* 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.
*/
@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.")
open var Deactivate:Boolean? = null
/**
* Questionaire with answers from customer why ending license.
*/
@ApiMember(Description="Questionaire with answers from customer why ending license.")
open var Questionnaire:ArrayList<Questionnaire> = ArrayList<Questionnaire>()
}
open class Questionnaire
{
open var Question:String? = null
open var Value:String? = null
}
open class CompanyLicenseQueryResponse
{
open var Id:Int? = null
open var TypeId:Int? = null
open var Type:LicenseTypeQueryResponse? = null
open var ValidFrom:Date? = null
open var ValidTo:Date? = null
open var VossSubscriptionId:UUID? = null
open var VossSubscription:VossSubscriptionResponse? = null
open var MetaData:String? = null
open var Active:Boolean? = null
open var LicenseStatus:String? = null
open var Canceled:Boolean? = null
open var LicensePlanId:Int? = null
open var Updated:Date? = null
open var Created:Date? = null
}
open class LicenseTypeQueryResponse
{
/**
* The license type id
*/
@ApiMember(Description="The license type id")
open var Id:Int? = null
/**
* The license type name
*/
@ApiMember(Description="The license type name")
open var Name:String? = null
/**
* The license type description
*/
@ApiMember(Description="The license type description")
open var Description:String? = null
/**
* If the license type is not a standard license but instead an extra license option. An example would be sending newsletter license.
*/
@ApiMember(Description="If the license type is not a standard license but instead an extra license option. An example would be sending newsletter license.")
open var IsExtraLicenseOption:Boolean? = null
/**
* The period of notice for the license in days.
*/
@ApiMember(Description="The period of notice for the license in days.")
open var PeriodOfNoticeDays:Int? = null
/**
* The license items for the license type
*/
@ApiMember(Description="The license items for the license type")
open var Items:ArrayList<LicenseItemsResponse> = ArrayList<LicenseItemsResponse>()
/**
* The license prices in each country for the license type
*/
@ApiMember(Description="The license prices in each country for the license type")
open var Prices:ArrayList<LicensePriceResponse> = ArrayList<LicensePriceResponse>()
}
open class LicenseItemsResponse
{
open var Id:Int? = null
open var Name:String? = null
open var AllowedItems:Int? = null
}
open class LicensePriceResponse
{
open var LicenseTypeId:Int? = null
open var CountryId:String? = null
open var Price:Int? = null
open var Country:Country? = null
open var LicensePlanId:Int? = null
}
open class Country : BaseModel()
{
@References(Type=Currency::class)
open var CurrencyId:String? = null
open var CurrencyInfo:Currency? = null
@Required()
open var Name:String? = null
open var Culture:String? = null
open var TimeZone:String? = null
open var ModifiedDate:Date? = null
@Required()
open var Id:String? = null
}
open class BaseModel
{
}
open class Currency : BaseModel()
{
@Required()
open var Name:String? = null
@Required()
open var CurrencySign:String? = null
@Required()
open var Active:Boolean? = null
open var ModifiedDate:Date? = null
@Required()
open var Id:String? = null
}
open class VossSubscriptionResponse
{
open var SubscriptionBillingPeriodStartDate:Date? = null
open var SubscriptionBillingPeriodEndDate:Date? = null
open var BindingPeriodEndDate:Date? = null
open var Tier:TierResponse? = null
}
open class TierResponse
{
open var Id:UUID? = null
open var Name:String? = null
open var ProductGroups:ArrayList<ProductGroupResponse> = ArrayList<ProductGroupResponse>()
}
open class ProductGroupResponse
{
open var Id:UUID? = null
open var Name:String? = null
open var TierId:UUID? = null
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=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}