| GET | /voss/packages | get voss package |
|---|
namespace BokaMera.API.ServiceModel.Dtos
open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
type PackageStatusEnum =
| Draft = 0
| Staged = 1
| Published = 2
| Archived = 3
| Discarded = 4
type ProductGroupTypeEnum =
| Optional = 0
| Included = 1
type TypeEnum =
| AtSubscriptionBillingPeriodEnd = 0
| AtBindingPeriodEnd = 1
[<DataContract(Name="ProductGroupTagDto")>]
[<AllowNullLiteral>]
type ProductGroupTagDto() =
[<DataMember(Name="type", IsRequired=true)>]
member val Type:TypeEnum = new TypeEnum() with get,set
[<DataMember(Name="tag", IsRequired=true)>]
member val Tag:String = null with get,set
type ProductTypeEnum =
| Main = 0
| Addon = 1
| License = 2
| Usage = 3
type StatusEnum =
| Active = 0
| Terminated = 1
[<DataContract(Name="PackageProductDto")>]
[<AllowNullLiteral>]
type PackageProductDto() =
[<DataMember(Name="type", IsRequired=true)>]
member val ProductType:ProductTypeEnum = new ProductTypeEnum() with get,set
[<DataMember(Name="status", IsRequired=true)>]
member val Status:StatusEnum = new StatusEnum() with get,set
[<DataMember(Name="id", IsRequired=true)>]
member val Id:Guid = new Guid() with get,set
[<DataMember(Name="name", IsRequired=true)>]
member val Name:String = null with get,set
[<DataMember(Name="externalId")>]
member val ExternalId:String = null with get,set
[<DataMember(Name="articleNumber")>]
member val ArticleNumber:String = null with get,set
[<DataContract(Name="PackageProductGroupDto")>]
[<AllowNullLiteral>]
type PackageProductGroupDto() =
[<DataMember(Name="productGroupType", IsRequired=true)>]
member val ProductGroupType:ProductGroupTypeEnum = new ProductGroupTypeEnum() with get,set
[<DataMember(Name="id", IsRequired=true)>]
member val Id:Guid = new Guid() with get,set
[<DataMember(Name="name", IsRequired=true)>]
member val Name:String = null with get,set
[<DataMember(Name="externalId")>]
member val ExternalId:String = null with get,set
[<DataMember(Name="tags", EmitDefaultValue=false)>]
member val Tags:ResizeArray<ProductGroupTagDto> = null with get,set
[<DataMember(Name="products", EmitDefaultValue=false)>]
member val Products:ResizeArray<PackageProductDto> = null with get,set
[<DataContract(Name="PackageTierDto")>]
[<AllowNullLiteral>]
type PackageTierDto() =
[<DataMember(Name="id", IsRequired=true)>]
member val Id:Guid = new Guid() with get,set
[<DataMember(Name="name", IsRequired=true)>]
member val Name:String = null with get,set
[<DataMember(Name="externalId")>]
member val ExternalId:String = null with get,set
[<DataMember(Name="productGroups", EmitDefaultValue=false)>]
member val ProductGroups:ResizeArray<PackageProductGroupDto> = null with get,set
type PeriodEndActionEnum =
| Renew = 0
| Terminate = 1
type UnitEnum =
| Day = 0
| Month = 1
| Year = 2
[<DataContract(Name="TimeLengthDto")>]
[<AllowNullLiteral>]
type TimeLengthDto() =
[<DataMember(Name="unit", IsRequired=true)>]
member val Unit:UnitEnum = new UnitEnum() with get,set
[<DataMember(Name="value", EmitDefaultValue=false)>]
member val Value:Int32 = new Int32() with get,set
[<DataContract(Name="BindingPeriodCycleDto")>]
[<AllowNullLiteral>]
type BindingPeriodCycleDto() =
[<DataMember(Name="periodEndAction", IsRequired=true)>]
member val PeriodEndAction:PeriodEndActionEnum = new PeriodEndActionEnum() with get,set
[<DataMember(Name="length", IsRequired=true)>]
member val Length:TimeLengthDto = null with get,set
type PeriodAnchorEnum =
| PeriodCreated = 0
| PeriodStart = 1
| PeriodEnd = 2
[<DataContract(Name="PeriodDateOffsetDto")>]
[<AllowNullLiteral>]
type PeriodDateOffsetDto() =
[<DataMember(Name="periodAnchor", IsRequired=true)>]
member val PeriodAnchor:PeriodAnchorEnum = new PeriodAnchorEnum() with get,set
[<DataMember(Name="length", IsRequired=true)>]
member val Length:TimeLengthDto = null with get,set
[<DataMember(Name="valueAnchor")>]
member val ValueAnchor:Nullable<Int32> = new Nullable<Int32>() with get,set
[<DataContract(Name="BillingPeriodCycleDto")>]
[<AllowNullLiteral>]
type BillingPeriodCycleDto() =
[<DataMember(Name="length", IsRequired=true)>]
member val Length:TimeLengthDto = null with get,set
[<DataMember(Name="invoiceDateOffset", IsRequired=true)>]
member val InvoiceDateOffset:PeriodDateOffsetDto = null with get,set
[<DataMember(Name="renewalDateOffset", IsRequired=true)>]
member val RenewalDateOffset:PeriodDateOffsetDto = null with get,set
[<DataContract(Name="PackagePlanDto")>]
[<AllowNullLiteral>]
type PackagePlanDto() =
[<DataMember(Name="id", IsRequired=true)>]
member val Id:Guid = new Guid() with get,set
[<DataMember(Name="name", IsRequired=true)>]
member val Name:String = null with get,set
[<DataMember(Name="externalId")>]
member val ExternalId:String = null with get,set
[<DataMember(Name="bindingPeriodCycle", IsRequired=true)>]
member val BindingPeriodCycle:BindingPeriodCycleDto = null with get,set
[<DataMember(Name="subscriptionBillingPeriodCycle", IsRequired=true)>]
member val SubscriptionBillingPeriodCycle:BillingPeriodCycleDto = null with get,set
[<DataMember(Name="usageBillingPeriodCycle", IsRequired=true)>]
member val UsageBillingPeriodCycle:BillingPeriodCycleDto = null with get,set
type PricingSchemeEnum =
| UnitPricing = 0
| TierPricing = 1
[<DataContract(Name="ProductTierPricingDto")>]
[<AllowNullLiteral>]
type ProductTierPricingDto() =
[<DataMember(Name="index", EmitDefaultValue=false)>]
member val Index:Int32 = new Int32() with get,set
[<DataMember(Name="unitPrice", EmitDefaultValue=false)>]
member val UnitPrice:Double = new Double() with get,set
[<DataMember(Name="flatPrice", EmitDefaultValue=false)>]
member val FlatPrice:Double = new Double() with get,set
[<DataMember(Name="repeatEvery")>]
member val RepeatEvery:Nullable<Int32> = new Nullable<Int32>() with get,set
[<DataMember(Name="upperLimit")>]
member val UpperLimit:Nullable<Int32> = new Nullable<Int32>() with get,set
[<DataContract(Name="ProductPricingDto")>]
[<AllowNullLiteral>]
type ProductPricingDto() =
[<DataMember(Name="pricingScheme", IsRequired=true)>]
member val PricingScheme:PricingSchemeEnum = new PricingSchemeEnum() with get,set
[<DataMember(Name="productId", IsRequired=true)>]
member val ProductId:Guid = new Guid() with get,set
[<DataMember(Name="includedQuantity")>]
member val IncludedQuantity:Nullable<Int32> = new Nullable<Int32>() with get,set
[<DataMember(Name="maxQuantity")>]
member val MaxQuantity:Nullable<Int32> = new Nullable<Int32>() with get,set
[<DataMember(Name="unitPrice")>]
member val UnitPrice:Nullable<Double> = new Nullable<Double>() with get,set
[<DataMember(Name="tierPricing", EmitDefaultValue=false)>]
member val TierPricing:ResizeArray<ProductTierPricingDto> = null with get,set
[<DataMember(Name="articleNumber")>]
member val ArticleNumber:String = null with get,set
[<DataContract(Name="ProductGroupPricingDto")>]
[<AllowNullLiteral>]
type ProductGroupPricingDto() =
[<DataMember(Name="productGroupId", IsRequired=true)>]
member val ProductGroupId:Guid = new Guid() with get,set
[<DataMember(Name="articleNumber", IsRequired=true)>]
member val ArticleNumber:String = null with get,set
[<DataMember(Name="price", EmitDefaultValue=false)>]
member val Price:Double = new Double() with get,set
[<DataMember(Name="productPricings", EmitDefaultValue=false)>]
member val ProductPricings:ResizeArray<ProductPricingDto> = null with get,set
[<DataContract(Name="PackageChargePlanDto")>]
[<AllowNullLiteral>]
type PackageChargePlanDto() =
[<DataMember(Name="id", IsRequired=true)>]
member val Id:Guid = new Guid() with get,set
[<DataMember(Name="tierId", IsRequired=true)>]
member val TierId:Guid = new Guid() with get,set
[<DataMember(Name="planId", IsRequired=true)>]
member val PlanId:Guid = new Guid() with get,set
[<DataMember(Name="productGroupPricings", IsRequired=true)>]
member val ProductGroupPricings:ResizeArray<ProductGroupPricingDto> = null with get,set
[<DataContract(Name="PackageSalesChannelDto")>]
[<AllowNullLiteral>]
type PackageSalesChannelDto() =
[<DataMember(Name="id", IsRequired=true)>]
member val Id:Guid = new Guid() with get,set
[<DataMember(Name="name", IsRequired=true)>]
member val Name:String = null with get,set
[<DataMember(Name="description")>]
member val Description:String = null with get,set
[<DataMember(Name="validFrom")>]
member val ValidFrom:Nullable<DateTime> = new Nullable<DateTime>() with get,set
[<DataMember(Name="validTo")>]
member val ValidTo:Nullable<DateTime> = new Nullable<DateTime>() with get,set
[<DataContract(Name="PackageTargetGroupDto")>]
[<AllowNullLiteral>]
type PackageTargetGroupDto() =
[<DataMember(Name="id", IsRequired=true)>]
member val Id:Guid = new Guid() with get,set
[<DataMember(Name="name", IsRequired=true)>]
member val Name:String = null with get,set
[<DataMember(Name="isDefault")>]
member val IsDefault:Boolean = new Boolean() with get,set
[<DataMember(Name="externalId")>]
member val ExternalId:String = null with get,set
[<DataContract(Name="PackageScheduledChangeResultDto")>]
[<AllowNullLiteral>]
type PackageScheduledChangeResultDto() =
[<DataMember(Name="status")>]
member val Status:Nullable<PackageStatusEnum> = new Nullable<PackageStatusEnum>() with get,set
[<DataMember(Name="name")>]
member val Name:String = null with get,set
[<DataContract(Name="PackageScheduledChangeResult")>]
[<AllowNullLiteral>]
type PackageScheduledChangeResult() =
[<DataMember(Name="status", IsRequired=true)>]
member val Status:StatusEnum = new StatusEnum() with get,set
[<DataMember(Name="id", IsRequired=true)>]
member val Id:Guid = new Guid() with get,set
[<DataMember(Name="versionId", IsRequired=true)>]
member val VersionId:Guid = new Guid() with get,set
[<DataMember(Name="package", EmitDefaultValue=false)>]
member val Package:PackageScheduledChangeResultDto = null with get,set
[<DataMember(Name="scheduledDate", IsRequired=true)>]
member val ScheduledDate:DateTime = new DateTime() with get,set
[<DataContract(Name="PackageResult")>]
[<AllowNullLiteral>]
type PackageResult() =
[<DataMember(Name="status", IsRequired=true)>]
member val PackageStatus:PackageStatusEnum = new PackageStatusEnum() with get,set
[<DataMember(Name="id", IsRequired=true)>]
member val Id:Guid = new Guid() with get,set
[<DataMember(Name="versionId", IsRequired=true)>]
member val VersionId:Guid = new Guid() with get,set
[<DataMember(Name="sourceVersionId")>]
member val SourceVersionId:Nullable<Guid> = new Nullable<Guid>() with get,set
[<DataMember(Name="name", IsRequired=true)>]
member val Name:String = null with get,set
[<DataMember(Name="externalId")>]
member val ExternalId:String = null with get,set
[<DataMember(Name="tiers", IsRequired=true)>]
member val Tiers:ResizeArray<PackageTierDto> = null with get,set
[<DataMember(Name="plans", IsRequired=true)>]
member val Plans:ResizeArray<PackagePlanDto> = null with get,set
[<DataMember(Name="chargePlans", IsRequired=true)>]
member val ChargePlans:ResizeArray<PackageChargePlanDto> = null with get,set
[<DataMember(Name="salesChannels", IsRequired=true)>]
member val SalesChannels:ResizeArray<PackageSalesChannelDto> = null with get,set
[<DataMember(Name="targetGroups", IsRequired=true)>]
member val TargetGroups:ResizeArray<PackageTargetGroupDto> = null with get,set
[<DataMember(Name="scheduledChanges", IsRequired=true)>]
member val ScheduledChanges:ResizeArray<PackageScheduledChangeResult> = null with get,set
[<ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)>]
[<AllowNullLiteral>]
type GetVossPackage() =
///<summary>
///The package id; if not passed the configured BokaMera package will be used.
///</summary>
[<ApiMember(Description="The package id; if not passed the configured BokaMera package will be used.")>]
member val PackageId:Nullable<Guid> = new Nullable<Guid>() with get,set
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /voss/packages HTTP/1.1 Host: testapi.bokamera.se Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"status":"Draft","sourceVersionId":"00000000-0000-0000-0000-000000000000","name":"String","externalId":"String","tiers":[{}],"plans":[{}],"chargePlans":[{}],"salesChannels":[{}],"targetGroups":[{}],"scheduledChanges":[{}]}