BokaMera.API.Host

<back to all web services

GetVossTier

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
GET/voss/tiers/{TierId}gets voss tiers
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*


@ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
open class GetVossTier
{
    /**
    * 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.")
    open var TierId:UUID? = null

    open var PackageId:UUID? = null
}

@DataContract(Name="TierResult")
open class TierResult
{
    @DataMember(Name="id", IsRequired=true)
    @SerializedName("id")
    open var Id:UUID? = null

    @DataMember(Name="versionId", IsRequired=true)
    @SerializedName("versionId")
    open var VersionId:UUID? = null

    @DataMember(Name="name", IsRequired=true)
    @SerializedName("name")
    open var Name:String? = null

    @DataMember(Name="externalId")
    @SerializedName("externalId")
    open var ExternalId:String? = null

    @DataMember(Name="rank")
    @SerializedName("rank")
    open var Rank:Int? = null

    @DataMember(Name="productGroups", EmitDefaultValue=false)
    @SerializedName("productGroups")
    open var ProductGroups:ArrayList<TierProductGroupDto> = ArrayList<TierProductGroupDto>()
}

@DataContract(Name="TierProductGroupDto")
open class TierProductGroupDto
{
    @DataMember(Name="productGroupType", IsRequired=true)
    @SerializedName("productGroupType")
    open var ProductGroupType:ProductGroupTypeEnum? = null

    @DataMember(Name="id", IsRequired=true)
    @SerializedName("id")
    open var Id:UUID? = null

    @DataMember(Name="name", IsRequired=true)
    @SerializedName("name")
    open var Name:String? = null

    @DataMember(Name="externalId")
    @SerializedName("externalId")
    open var ExternalId:String? = null

    @DataMember(Name="tags", EmitDefaultValue=false)
    @SerializedName("tags")
    open var Tags:ArrayList<ProductGroupTagDto> = ArrayList<ProductGroupTagDto>()

    @DataMember(Name="products", EmitDefaultValue=false)
    @SerializedName("products")
    open var Products:ArrayList<TierProductDto> = ArrayList<TierProductDto>()
}

enum class ProductGroupTypeEnum
{
    Optional,
    Included,
}

@DataContract(Name="ProductGroupTagDto")
open class ProductGroupTagDto
{
    @DataMember(Name="type", IsRequired=true)
    @SerializedName("type")
    open var Type:TypeEnum? = null

    @DataMember(Name="tag", IsRequired=true)
    @SerializedName("tag")
    open var Tag:String? = null
}

enum class TypeEnum
{
    AtSubscriptionBillingPeriodEnd,
    AtBindingPeriodEnd,
    Immediately,
}

@DataContract(Name="TierProductDto")
open class TierProductDto
{
    @DataMember(Name="type", IsRequired=true)
    @SerializedName("type")
    open var ProductType:ProductTypeEnum? = null

    @DataMember(Name="status", IsRequired=true)
    @SerializedName("status")
    open var Status:StatusEnum? = null

    @DataMember(Name="id", IsRequired=true)
    @SerializedName("id")
    open var Id:UUID? = null

    @DataMember(Name="name", IsRequired=true)
    @SerializedName("name")
    open var Name:String? = null

    @DataMember(Name="externalId")
    @SerializedName("externalId")
    open var ExternalId:String? = null

    @DataMember(Name="articleNumber", IsRequired=true)
    @SerializedName("articleNumber")
    open var ArticleNumber:String? = null
}

enum class ProductTypeEnum
{
    Main,
    Addon,
    License,
    Usage,
}

enum class StatusEnum
{
    Active,
    Terminated,
}

Kotlin GetVossTier 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.

GET /voss/tiers/{TierId} HTTP/1.1 
Host: api.bokamera.se 
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"name":"String","externalId":"String","rank":0,"productGroups":[{}]}