| Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
| POST | /voss/presetBehaviour | create preset behaviour in voss |
|---|
import Foundation
import ServiceStack
// @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
public class CreatePresetBehaviour : Codable
{
/**
* Company ids to create invoice. If none added invoice for all will be created
*/
// @ApiMember(Description="Company ids to create invoice. If none added invoice for all will be created")
public var changeType:ChangeTypeEnum
public var changeOperation:ChangeOperationEnum
public var timing:SubscriptionTimingEnum
public var periodAnchor:PeriodAnchorEnum
public var renewalTiming:RenewalTimingEnum
public var debitBehaviour:SubscriptionBehaviourEnum?
public var creditBehaviour:SubscriptionBehaviourEnum?
public var creditKind:CreditKindEnum?
public var periodIterationCount:Int?
required public init(){}
}
public enum ChangeTypeEnum : String, Codable
{
case Subscription
case ProductGroup
case License
}
public enum ChangeOperationEnum : String, Codable
{
case Create
case Terminate
case Upgrade
case Sidegrade
case Downgrade
case Migration
}
public enum SubscriptionTimingEnum : String, Codable
{
case AtSubscriptionBillingPeriodEnd
case AtBindingPeriodEnd
case Immediately
}
public enum PeriodAnchorEnum : String, Codable
{
case LatestPeriod
case CurrentPeriod
}
public enum RenewalTimingEnum : String, Codable
{
case UseCurrentPlanRenewalDate
case UseScheduledPlanRenewalDate
}
public enum SubscriptionBehaviourEnum : String, Codable
{
case Prorate
case Full
case None
}
public enum CreditKindEnum : String, Codable
{
case Normal
case Internal
}
Swift CreatePresetBehaviour DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /voss/presetBehaviour HTTP/1.1
Host: api.bokamera.se
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
ChangeType: Subscription,
ChangeOperation: Create,
Timing: AtSubscriptionBillingPeriodEnd,
PeriodAnchor: LatestPeriod,
RenewalTiming: UseCurrentPlanRenewalDate,
DebitBehaviour: Prorate,
CreditBehaviour: Prorate,
CreditKind: Normal,
PeriodIterationCount: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
}