Skip to content

Add billing automations

POST
/api/connector/v1/billingAutomations/add

Adds billing automations.

Multiple billing automation add 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
BillingAutomations
required

Parameters of the new billing automations to be created.

Array<object>
>= 1 items <= 100 items
Billing automation add parameters
object
Name
required

Name of the billing automation.

string
>= 1 characters <= 255 characters
Description

Description of the billing automation.

string
nullable <= 1000 characters
CompaniesWithRelations

List of companies with relations indicating whether the company is considered a travel agency or a company in the reservation. Can only be empty if AssignmentTargetType is CompanyAsDetails or NoCompany.

Array<object>
nullable <= 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

Specifies the type of company assignment to the bill. If set to NoCompany, the BillAggregationType must be AggregateByCustomer.

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

Specifies the type of bill aggregation. If the value is not AggregateByCustomer, the AssignmentTargetType must be CompanyAsOwner.

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
OrderItemConsumptionPeriod

Specifies the order item consumption period type for the billing automation. This is required if 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
ProcessingStartOffset

Specifies the processing start offset. This is required if the billing automation TriggerType is set to Reccuring.

string
nullable <= 20 characters
Assignments
required

List of billing automation assignments.

Array<object>
>= 1 items <= 20 items
Billing automation assignment add parameters
object
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 that will be applied as billing automation condition.

Array<string>
nullable <= 100 items
ProductCategoryIds

Unique identifiers of Product Categories that will be applied as billing automation condition.

Array<string>
nullable <= 100 items
ProductIds

Unique identifiers of Products that will be applied as billing automation condition.

Array<string>
nullable <= 100 items
AccountingCategories

List of accounting categories that will be applied as billing automation condition.

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
{
"ClientToken": "E0D439EE522F44368DC78E1BFB03710C-D24FB11DBE31D4621C4817E028D9E1D",
"AccessToken": "C66EF7B239D24632943D115EDE9CB810-EA00F8FD8294692C940F6B5A8F9453D",
"Client": "Sample Client 1.0.0",
"BillingAutomations": [
{
"Name": "Company A billing automation",
"Description": "Billing automation routing reservations made for Company A to bills where company is an owner, aggregating all reservations onto one bill.",
"CompaniesWithRelations": [
{
"CompanyId": "c6f5c82d-621a-4c8a-903b-1b0a9a23b71f",
"CompanyRelations": {
"PartnerCompany": true,
"TravelAgency": false
}
}
],
"Prepayment": "All",
"AssignmentTargetType": "CompanyAsOwner",
"TriggerType": "Continuous",
"BillAggregationType": "AggregateAll",
"Assignments": [
{
"ServiceId": "bd26d8db-86da-4f96-9efc-e5a4654a4a94",
"RoutedItemTypes": {
"SpaceOrder": true,
"CityTax": true,
"AllProducts": false,
"Deposits": true,
"AdditionalExpenses": true,
"AllCustomItems": false
},
"ProductIds": [
"507d93e6-9fb5-4734-a6d1-977afc4dfdff"
]
}
]
}
]
}

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