Skip to content

Update billing automations

POST
/api/connector/v1/billingAutomations/update

Updates one or more existing billing automations.

Multiple billing automation update parameters
object
ClientToken
required

Token identifying the client application.

string
>= 1 characters
AccessToken
required

Access token of the client application.

string
>= 1 characters
Client
required

Name and version of the client application.

string
>= 1 characters
EnterpriseId

Unique identifier of the enterprise. Required when using Portfolio Access Tokens, ignored otherwise.

string format: uuid
nullable
BillingAutomationUpdates
required

Details of the billing automations to be updated.

Array<object>
>= 1 items <= 100 items
Billing automation update parameters
object
BillingAutomationId
required

Unique identifier of the billing automation.

string format: uuid
Name
String update value

Name of the billing automation (or null should it not be updated).

object
Value

Value which is to be updated.

string
nullable
Description
String update value

Description of the billing automation (or null should it not be updated).

object
Value

Value which is to be updated.

string
nullable
Companies
Company with billing automation relation array update value

List of companies with relations indicating whether the company should be considered as a travel agency or a company in the reservation. This list can only be empty if the AssignmentTargetType is CompanyAsDetails or NoCompany. Set to null if the value is not updated.

object
Value

Value which is to be updated.

Array<object>
nullable
Company with billing automation relation
object
CompanyId
required

Unique identifier of the company.

string format: uuid
CompanyRelations
required
Company with relations parameters

Company relations.

object
PartnerCompany

Indicates whether the billing automation will apply if the company added to a reservation is a partner company.

boolean
TravelAgency

Indicates whether the billing automation will apply if the company added to a reservation is a travel agency.

boolean
Prepayment
Billing automation prepayment type update value

Type of prepayment (or null should it not be updated).

object
Value
Billing automation prepayment type

Value which is to be updated.

string
Allowed values: All Prepaid
AssignmentTargetType
Billing automation assignment target type update value

Specifies the type of company assignment to the bill. If set to NoCompany, the BillAggregationType must be AggregateByCustomer. Set to null if the value is not updated.

object
Value
Billing automation assignment target type

Value which is to be updated.

string
Allowed values: CompanyAsDetails CompanyAsOwner NoCompany
BillAggregationType
Billing automation bill aggregation type update value

Defines the aggregation target type for billing automation. If not AggregateByCustomer, the AssignmentTargetType must be CompanyAsOwner. Set to null if the value is not updated.

object
Value
Billing automation bill aggregation type

Value which is to be updated.

string
Allowed values: OnePerReservation AggregateByCustomer AggregateAll AggregatePerReservationGroup
OrderItemConsumptionPeriod
Billing automation order item consumption period type update value

Specifies the order item consumption period type for the billing automation. Required if the TriggerType is recurring. Can be null if the value is not updated.

object
Value
Billing automation order item consumption period type

Value which is to be updated.

string
Allowed values: MonthBefore SameMonthAndMonthBefore SameMonth SameMonthAndMonthAfter MonthAfter
ProcessingStartOffset
String update value

Processing start offset. Required if the billing automation TriggerType is recurring (or null should it not be updated).

object
Value

Value which is to be updated.

string
nullable
Example
{
"ClientToken": "E0D439EE522F44368DC78E1BFB03710C-D24FB11DBE31D4621C4817E028D9E1D",
"AccessToken": "C66EF7B239D24632943D115EDE9CB810-EA00F8FD8294692C940F6B5A8F9453D",
"Client": "Sample Client 1.0.0",
"BillingAutomationUpdates": [
{
"BillingAutomationId": "ecd64eec-4423-4c65-b844-814b9199856d",
"Name": {
"Value": "New name."
},
"Description": {
"Value": "Billing Automation that has prepayment changed to All, Assignment target to Company as owner and Bill aggregation to aggregate all items into one bill."
},
"Prepayment": {
"Value": "All"
},
"AssignmentTargetType": {
"Value": "CompanyAsOwner"
},
"BillAggregationType": {
"Value": "AggregateAll"
}
}
]
}

OK

Billing automation modification result
object
BillingAutomations

Billing automations affected by the operation.

Array<object>
nullable
Billing automation
object
Id
required

Unique identifier of the billing automation.

string format: uuid
EnterpriseId
required

Unique identifier of the enterprise.

string format: uuid
Name
required

Name of the billing automation.

string
>= 1 characters
Description

Description of the billing automation.

string
nullable
CompaniesWithRelations
required

List of companies with relations to the billing automation.

Array<object>
<= 1000 items
Company with billing automation relation
object
CompanyId
required

Unique identifier of the company.

string format: uuid
CompanyRelations
required
Company with relations parameters

Company relations.

object
PartnerCompany

Indicates whether the billing automation will apply if the company added to a reservation is a partner company.

boolean
TravelAgency

Indicates whether the billing automation will apply if the company added to a reservation is a travel agency.

boolean
Prepayment
required
Billing automation prepayment type

Type of prepayment.

All (All)

Prepaid (Prepaid)

string
Allowed values: All Prepaid
AssignmentTargetType
required
Billing automation assignment target type

Type of target company and customer assignment behavior.

CompanyAsDetails (The company will be the associated account in the resulting routed bill, and the customer is the owner.)

CompanyAsOwner (The company will be the owner in the resulting routed bill, and the customer might be the associated account.)

NoCompany (The customer will be owner of the bill.)

string
Allowed values: CompanyAsDetails CompanyAsOwner NoCompany
TriggerType
required
Billing automation trigger type

Trigger type of billing automation.

Continuous (Billing automation is continuously triggered by reservation actions, such as creation, updates, and rebates.)

Recurring (Billing automation is executed monthly.)

Legacy (Billing automation is executed on reservation creation only. Items added later are not transfered to any bill.)

string
Allowed values: Continuous Recurring Legacy
BillAggregationType
required
Billing automation bill aggregation type

Type of bill aggregation.

OnePerReservation (Create a separate bill for each reservation.)

AggregateByCustomer (Create a separate bill for each reservation owner.)

AggregateAll (Group all moved items on one bill.)

AggregatePerReservationGroup (Create a separate bill for each reservation group.)

string
Allowed values: OnePerReservation AggregateByCustomer AggregateAll AggregatePerReservationGroup
CreatedUtc
required

Creation date and time of the billing automation in UTC timezone in ISO 8601 format.

string format: date-time
>= 1 characters
ProcessingStartOffset

Processing start offset. Applicable only if the billing automation TriggerType is set to Reccuring.

string
nullable
OrderItemConsumptionPeriod

Specifies the type of order item consumption period for the billing automation. This value is applicable only when the TriggerType is set to Reccuring.

MonthBefore (Only items with a consumption date within the previous month will be routed.)

SameMonthAndMonthBefore (Only items with a consumption date within this and the previous month will be routed.)

SameMonth (Only items with a consumption date within this month will be routed.)

SameMonthAndMonthAfter (Only items with a consumption date within this and the next month will be routed.)

MonthAfter (Only items with a consumption date within the next month will be routed.)

string
Allowed values: MonthBefore SameMonthAndMonthBefore SameMonth SameMonthAndMonthAfter MonthAfter
Assignments

List of billing automation assignments.

Array<object>
nullable <= 20 items
Billing automation assignment
object
Id
required

Unique identifier of the billing automation assignment.

string format: uuid
BillingAutomationId
required

Unique identifier of the billing automation.

string format: uuid
ServiceId
required

Unique identifier of the related service.

string format: uuid
RoutedItemTypes
required
Billing automation item types parameters

Type of items that are going to be routed.

object
SpaceOrder
required

Space order

boolean
CityTax
required

City tax

boolean
AllProducts
required

All products

boolean
Deposits
required

Deposits

boolean
AdditionalExpenses
required

Additional expenses

boolean
AllCustomItems
required

All custom items

boolean
RateIds

Unique identifiers of Rates used in billing automation conditions.

Array<string>
nullable <= 100 items
ProductCategoryIds

Unique identifiers of Product Categories used in billing automation conditions.

Array<string>
nullable <= 100 items
ProductIds

Unique identifiers of Products used in billing automation conditions.

Array<string>
nullable <= 100 items
AccountingCategoryAssignments

List of accounting category assignments used in billing automation conditions.

Array<object>
nullable <= 100 items
Billing automation accounting category assignment
object
AccountingCategoryId
required

Unique identifier of the accounting category.

string format: uuid
ItemTypes
required
Accounting category routed item types

Type of the accounting category routed item.

object
Products
required

Specifies whether products under the given accounting category are routed.

boolean
CustomItems
required

Specifies whether custom items under the given accounting category are routed.

boolean
Example
{
"BillingAutomations": [
{
"Id": "ecd64eec-4423-4c65-b844-814b9199856d",
"EnterpriseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Name": "Continuous billing automation for company XYZ",
"Description": "Billing Automation for company XYZ with prepayment all, company as owner.",
"CompaniesWithRelations": [
{
"CompanyId": "c6f5c82d-621a-4c8a-903b-1b0a9a23b71f",
"CompanyRelations": {
"PartnerCompany": true,
"TravelAgency": false
}
}
],
"Prepayment": "All",
"AssignmentTargetType": "CompanyAsOwner",
"TriggerType": "Continuous",
"BillAggregationType": "AggregateAll",
"CreatedUtc": "2017-01-31T10:58:06Z",
"ProcessingStartOffset": null,
"OrderItemConsumptionPeriod": null,
"Assignments": [
{
"Id": "d6b550e9-9c4b-42dd-9daa-555312b030e6",
"BillingAutomationId": "ecd64eec-4423-4c65-b844-814b9199856d",
"ServiceId": "bd26d8db-86da-4f96-9efc-e5a4654a4a94",
"RoutedItemTypes": {
"SpaceOrder": true,
"CityTax": true,
"AllProducts": true,
"Deposits": true,
"AdditionalExpenses": false,
"AllCustomItems": false
},
"RateIds": [
"ab3682ba-4493-4eb0-bcdc-8d000f5bad65"
],
"ProductCategoryIds": [
"599c477e-b826-4444-8ded-4fa7276ef0c1"
],
"ProductIds": [
"f0184ec2-9f02-4026-9b70-0b2bed2adde7"
],
"AccountingCategoryAssignments": [
{
"AccountingCategoryId": "2e0f5930-605e-4a23-9994-a7701a56b576",
"ItemTypes": {
"Products": true,
"CustomItems": false
}
}
]
}
]
}
]
}

Server has successfully fulfilled the request and there is no additional information to send back.

ConnectorApiExceptionResult
object
Message
string
nullable
RequestId
string
nullable
Details
nullable

Error caused by the client app, e.g. in case of malformed request or invalid identifier of a resource. In most cases, such an error signifies a bug in the client app (consumer of the API).

ConnectorApiExceptionResult
object
Message
string
nullable
RequestId
string
nullable
Details
nullable

Error caused by usage of invalid ClientToken, AccessToken, or you may not have the necessary permission to use the endpoint.

ConnectorApiExceptionResult
object
Message
string
nullable
RequestId
string
nullable
Details
nullable

Server error that should be reported to the end user of the client app. Happens for example when the server-side validation fails or when a business-logic check is violated.

ConnectorApiExceptionResult
object
Message
string
nullable
RequestId
string
nullable
Details
nullable

Error caused by heavy request that takes too long to process (typically tens of seconds). To get around this, request data in smaller batches. For more information, see Request timeouts

ConnectorApiExceptionResult
object
Message
string
nullable
RequestId
string
nullable
Details
nullable

Error caused by too many requests sent in a given amount of time. Response contains Retry-After header indicating how long the user agent should wait before making a follow-up request. For more information, see Request limits.

ConnectorApiExceptionResult
object
Message
string
nullable
RequestId
string
nullable
Details
nullable

Unexpected error on the Mews side. This may be due to a software fault. If such a situation occurs, the error will be logged and the development team notified, however you can raise an issue through GitHub on our documentation repository.

ConnectorApiExceptionResult
object
Message
string
nullable
RequestId
string
nullable
Details
nullable