BokaMera.API.Host

<back to all web services

UpdateVossSubscriptionScheduledChange

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
PUT/voss/subscriptions/{SubscriptionId}/scheduledChanges/{Id}Update voss subscription scheduled changeUpdate a pending subscription scheduled change in the VOSS System. Already executed scheduled changes cannot be updated.
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports BokaMera.API.ServiceModel.Dtos
Imports BokaMera.VossIntegration.ApiTools.Model

Namespace Global

    Namespace BokaMera.API.ServiceModel.Dtos

        <ApiResponse(Description:="You were unauthorized to call this service", StatusCode:=401)>
        Public Partial Class UpdateVossSubscriptionScheduledChange
            '''<Summary>
            '''The subscription id
            '''</Summary>
            <ApiMember(Description:="The subscription id", IsRequired:=true)>
            Public Overridable Property SubscriptionId As Guid

            '''<Summary>
            '''The subscription scheduled change id
            '''</Summary>
            <ApiMember(Description:="The subscription scheduled change id", IsRequired:=true)>
            Public Overridable Property Id As Guid

            '''<Summary>
            '''Controls when the scheduled change will be executed:  <br />AtSubscriptionBillingPeriodEnd - after the currently latest subscription billing period ends  <br />AtBindingPeriodEnd - after the currently latest subscription binding period ends
            '''</Summary>
            <ApiMember(Description:="Controls when the scheduled change will be executed:  <br />AtSubscriptionBillingPeriodEnd - after the currently latest subscription billing period ends  <br />AtBindingPeriodEnd - after the currently latest subscription binding period ends", IsRequired:=true)>
            Public Overridable Property Type As TypeEnum

            '''<Summary>
            '''Optional package version id; if omitted the current version of the subscription package is used
            '''</Summary>
            <ApiMember(Description:="Optional package version id; if omitted the current version of the subscription package is used")>
            Public Overridable Property VersionId As Guid?

            '''<Summary>
            '''The id of a package which will be active after the scheduled change is executed; if provided the tier id and plan id have to be provided as well
            '''</Summary>
            <ApiMember(Description:="The id of a package which will be active after the scheduled change is executed; if provided the tier id and plan id have to be provided as well")>
            Public Overridable Property PackageId As Guid?

            '''<Summary>
            '''The id of a tier which will be active after the scheduled change is executed; can be omitted if PlanId is provided instead
            '''</Summary>
            <ApiMember(Description:="The id of a tier which will be active after the scheduled change is executed; can be omitted if PlanId is provided instead")>
            Public Overridable Property TierId As Guid?

            '''<Summary>
            '''The id of a plan which will be active after the scheduled change is executed; can be omitted if TierId is provided instead
            '''</Summary>
            <ApiMember(Description:="The id of a plan which will be active after the scheduled change is executed; can be omitted if TierId is provided instead")>
            Public Overridable Property PlanId As Guid?

            '''<Summary>
            '''How many periods (counting from the latest period) must pass before the scheduled change is executed; if omitted the change is executed on the latest period end
            '''</Summary>
            <ApiMember(Description:="How many periods (counting from the latest period) must pass before the scheduled change is executed; if omitted the change is executed on the latest period end")>
            Public Overridable Property PeriodIterationCount As Integer?
        End Class
    End Namespace

    Namespace BokaMera.VossIntegration.ApiTools.Model

        <DataContract(Name:="SubscriptionScheduledChangePackageResult")>
        Public Partial Class SubscriptionScheduledChangePackageResult
            <DataMember(Name:="id", IsRequired:=true)>
            Public Overridable Property Id As Guid

            <DataMember(Name:="versionId", IsRequired:=true)>
            Public Overridable Property VersionId As Guid

            <DataMember(Name:="name", IsRequired:=true)>
            Public Overridable Property Name As String
        End Class

        <DataContract(Name:="SubscriptionScheduledChangePlanResult")>
        Public Partial Class SubscriptionScheduledChangePlanResult
            <DataMember(Name:="id", IsRequired:=true)>
            Public Overridable Property Id As Guid

            <DataMember(Name:="name", IsRequired:=true)>
            Public Overridable Property Name As String
        End Class

        <DataContract(Name:="SubscriptionScheduledChangeResult")>
        Public Partial Class SubscriptionScheduledChangeResult
            <DataMember(Name:="type")>
            Public Overridable Property Type As TypeEnum

            <DataMember(Name:="status", IsRequired:=true)>
            Public Overridable Property Status As StatusEnum

            <DataMember(Name:="id", IsRequired:=true)>
            Public Overridable Property Id As Guid

            <DataMember(Name:="package")>
            Public Overridable Property Package As SubscriptionScheduledChangePackageResult

            <DataMember(Name:="tier")>
            Public Overridable Property Tier As SubscriptionScheduledChangeTierResult

            <DataMember(Name:="plan")>
            Public Overridable Property Plan As SubscriptionScheduledChangePlanResult

            <DataMember(Name:="scheduledDate", IsRequired:=true)>
            Public Overridable Property ScheduledDate As Date

            <DataMember(Name:="salesInformation")>
            Public Overridable Property SalesInformation As SubscriptionScheduledChangeSalesInformationResult

            Public Enum TypeEnum
                AtSubscriptionBillingPeriodEnd
                AtBindingPeriodEnd
            End Enum

            Public Enum StatusEnum
                Active
                Terminated
            End Enum
        End Class

        <DataContract(Name:="SubscriptionScheduledChangeSalesInformationResult")>
        Public Partial Class SubscriptionScheduledChangeSalesInformationResult
            <DataMember(Name:="salesPersonId")>
            Public Overridable Property SalesPersonId As String

            <DataMember(Name:="salesDepartmentId")>
            Public Overridable Property SalesDepartmentId As String
        End Class

        <DataContract(Name:="SubscriptionScheduledChangeTierResult")>
        Public Partial Class SubscriptionScheduledChangeTierResult
            <DataMember(Name:="id", IsRequired:=true)>
            Public Overridable Property Id As Guid

            <DataMember(Name:="name", IsRequired:=true)>
            Public Overridable Property Name As String
        End Class
    End Namespace
End Namespace

VB.NET UpdateVossSubscriptionScheduledChange DTOs

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

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

PUT /voss/subscriptions/{SubscriptionId}/scheduledChanges/{Id} HTTP/1.1 
Host: testapi.bokamera.se 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"Type":"AtSubscriptionBillingPeriodEnd","VersionId":"00000000-0000-0000-0000-000000000000","PackageId":"00000000-0000-0000-0000-000000000000","TierId":"00000000-0000-0000-0000-000000000000","PlanId":"00000000-0000-0000-0000-000000000000","PeriodIterationCount":0}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"type":"AtSubscriptionBillingPeriodEnd","status":"Pending"}