openapi: 3.0.4 info: title: Mews Booking Engine API (Distributor) Account notes Orders API version: v1 description: The Mews Booking Engine API (historically the Distributor API, served from /api/distributor/v1) lets developers build guest-facing booking engines that create reservations directly in Mews. It exposes enterprise configuration, availability, pricing, products, vouchers, payment cards, and reservation group creation for front-end client consumption. x-generated-from: documentation x-source-url: https://api.mews.com/Swagger/distributor/swagger.json x-last-validated: '2026-06-02' servers: - url: https://api.mews.com description: Production - url: https://api.mews-demo.com description: Demo / sandbox security: - MewsClientToken: [] MewsAccessToken: [] tags: - name: Orders paths: /api/connector/v1/orders/add: post: tags: - Orders summary: Mews Add Order description: "Creates a new order, with the specified products and items. If the product being posted already exists in Mews, then use `ProductOrders`. If the product does *not* exist in Mews, then use `Items`. If the time of consumption is specified, this must be either in the future or within the Editable History Interval for the enterprise. Compared to a stay service order (i.e. a reservation), which is consumed over certain span of time, a product service order is consumed at a single point in time.\r\nNote this operation supports [Portfolio Access Tokens](https://mews-systems.gitbook.io/connector-api/concepts/multi-property/).\r\n\r\n> ### Linking orders to reservations\r\n> Specify parameter `LinkedReservationId` in order to link the order to a guest reservation. This will greatly assist the property when using billing automation." operationId: orders_add requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderAdditionParameters' example: ClientToken: E0D439EE522F44368DC78E1BFB03710C-D24FB11DBE31D4621C4817E028D9E1D AccessToken: C66EF7B239D24632943D115EDE9CB810-EA00F8FD8294692C940F6B5A8F9453D Client: Sample Client 1.0.0 EnterpriseId: 3fa85f64-5717-4562-b3fc-2c963f66afa6 ServiceId: bd26d8db-86da-4f96-9efc-e5a4654a4a94 AccountId: fadd5bb6-b428-45d5-94f8-fd0d89fece6d Options: DisableItemGrouping: false ProductOrders: - ProductId: 2eb7ad8b-8dfb-4381-aba5-ab58009f2993 Count: 2 ExternalIdentifier: EXT-PROD-001 Items: - Name: Beer UnitCount: 3 UnitAmount: Currency: USD TaxCodes: - US-DC-G NetValue: 7.0 AccountingCategoryId: 90eff5aa-36b4-4689-80c0-ab3a00bb412e ExternalIdentifier: EXT-ITEM-001 ConsumptionUtc: '2020-02-04T00:00:00Z' Notes: Order for guest room service BusinessSegmentId: dc9188f6-fb61-412c-b3fd-af32dab082ed BillId: ea087d64-3901-4eee-b0b7-9fce4c58a005 LinkedReservationId: 0f515589-99b4-423d-b83a-b237009f0509 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OrderAdditionResult' example: OrderId: cdfd5caa-2868-411b-ba95-322e70035f1a '400': description: 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). content: application/json: schema: $ref: '#/components/schemas/ConnectorApiExceptionResult' examples: OrdersAdd400Example: summary: Default orders_add 400 response x-microcks-default: true value: Message: string RequestId: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111 Details: string '401': description: Error caused by usage of invalid ClientToken, AccessToken, or you may not have the necessary permission to use the endpoint. content: application/json: schema: $ref: '#/components/schemas/ConnectorApiExceptionResult' examples: OrdersAdd401Example: summary: Default orders_add 401 response x-microcks-default: true value: Message: string RequestId: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111 Details: string '403': description: 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. content: application/json: schema: $ref: '#/components/schemas/ConnectorApiExceptionResult' examples: OrdersAdd403Example: summary: Default orders_add 403 response x-microcks-default: true value: Message: string RequestId: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111 Details: string '408': description: 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](https://mews-systems.gitbook.io/connector-api/guidelines/requests#request-timeouts) content: application/json: schema: $ref: '#/components/schemas/ConnectorApiExceptionResult' examples: OrdersAdd408Example: summary: Default orders_add 408 response x-microcks-default: true value: Message: string RequestId: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111 Details: string '204': description: Server has successfully fulfilled the request and there is no additional information to send back. content: application/json: schema: $ref: '#/components/schemas/ConnectorApiExceptionResult' examples: OrdersAdd204Example: summary: Default orders_add 204 response x-microcks-default: true value: Message: string RequestId: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111 Details: string '429': description: 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](https://mews-systems.gitbook.io/connector-api/guidelines/requests#request-limits). content: application/json: schema: $ref: '#/components/schemas/ConnectorApiExceptionResult' examples: OrdersAdd429Example: summary: Default orders_add 429 response x-microcks-default: true value: Message: string RequestId: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111 Details: string '500': description: 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](https://github.com/MewsSystems/gitbook-connector-api). content: application/json: schema: $ref: '#/components/schemas/ConnectorApiExceptionResult' examples: OrdersAdd500Example: summary: Default orders_add 500 response x-microcks-default: true value: Message: string RequestId: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111 Details: string x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: AmountParameters: title: Amount parameters required: - Currency - TaxCodes type: object properties: Currency: minLength: 1 type: string format: currency example: EUR TaxCodes: type: array items: type: string NetValue: type: number format: double nullable: true example: 100.0 GrossValue: type: number format: double nullable: true example: 100.0 additionalProperties: false description: Price of the product that overrides the price defined in Mews. x-schema-id: AmountParameters OrderAdditionParameters: title: OrderAdditionParameters required: - AccessToken - AccountId - Client - ClientToken - ServiceId type: object properties: ClientToken: minLength: 1 type: string description: Token identifying the client application. example: string AccessToken: minLength: 1 type: string description: Access token of the client application. example: string Client: minLength: 1 type: string description: Name and version of the client application. example: string EnterpriseId: type: string description: Unique identifier of the `Enterprise`. Required when using Portfolio Access Tokens, ignored otherwise. format: uuid nullable: true example: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111 ServiceId: type: string description: Identifier of the `Service` to be ordered. format: uuid example: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111 AccountId: type: string description: Identifier of the `Customer` or `Company` to be charged. Company billing may not be enabled for your integration. format: uuid example: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111 CustomerId: type: string description: Identifier of the [Customer](https://mews-systems.gitbook.io/connector-api/operations/customers/#customer) to be charged. **Deprecated!** format: uuid nullable: true deprecated: true x-deprecatedMessage: Use `AccountId`. example: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111 Options: title: Order addition options allOf: - $ref: '#/components/schemas/OrderAdditionOptions' description: Options for the added order. nullable: true example: string ProductOrders: type: array items: $ref: '#/components/schemas/ProductOrderAdditionData' description: Parameters of the ordered products. nullable: true Items: type: array items: $ref: '#/components/schemas/OrderItemAdditionData' description: Parameters of the ordered custom items. nullable: true ConsumptionUtc: type: string description: Date and time of the order consumption in UTC timezone in ISO 8601 format. If not specified, current date and time is used. Please note, as order consumption is one-time event, the optional parameters `StartUtc` and `EndUtc` in `ProductOrders` should not be used. format: date-time nullable: true example: '2026-06-02T14:30:00Z' Notes: type: string description: Additional notes of the order. nullable: true example: string BusinessSegmentId: type: string description: Unique identifier of the business segment. format: uuid nullable: true example: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111 BillId: type: string description: Identifier of the `Bill` to which the created order will be assigned. The bill needs to be issued to the same account as the order. format: uuid nullable: true example: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111 LinkedReservationId: type: string description: Identifier of the `Reservation` to which the created order will be linked. format: uuid nullable: true example: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111 additionalProperties: false x-schema-id: OrderAdditionParameters ConnectorApiExceptionResult: title: ConnectorApiExceptionResult type: object properties: Message: type: string nullable: true example: string RequestId: type: string nullable: true example: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111 Details: nullable: true example: string additionalProperties: false x-schema-id: ConnectorApiExceptionResult ProductOrderAdditionData: title: Product order parameters required: - ProductId type: object properties: ProductId: type: string description: Unique identifier of the `Product` to be ordered. format: uuid example: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111 Count: type: integer description: Count of products to be ordered, e.g. 10 in case of 10 beers. format: int32 nullable: true example: 1 UnitAmount: title: Amount parameters allOf: - $ref: '#/components/schemas/AmountParameters' description: Unit amount of the product that overrides the amount defined in Mews. nullable: true example: string StartUtc: type: string description: Product start in UTC timezone in ISO 8601 format. For products with charging `Once` and `PerPerson` must be set to same value as `EndUtc`. Use only with operation [Add reservations](https://mews-systems.gitbook.io/connector-api/operations/reservations#add-reservations) or [Add reservation product](https://mews-systems.gitbook.io/connector-api/operations/reservations#add-reservation-product), can be omitted for [Add order](https://mews-systems.gitbook.io/connector-api/operations/orders#add-order) operation. format: date-time nullable: true example: '2026-06-02T14:30:00Z' EndUtc: type: string description: Product end in UTC timezone in ISO 8601 format. For products with charging `Once` and `PerPerson` must be set to same value as `StartUtc`. Use only with operation [Add reservations](https://mews-systems.gitbook.io/connector-api/operations/reservations#add-reservations) or [Add reservation product](https://mews-systems.gitbook.io/connector-api/operations/reservations#add-reservation-product), can be omitted for [Add order](https://mews-systems.gitbook.io/connector-api/operations/orders#add-order) operation. format: date-time nullable: true example: '2026-06-02T14:30:00Z' ExternalIdentifier: type: string description: External identifier of the product order. nullable: true example: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111 additionalProperties: false x-schema-id: ProductOrderAdditionData OrderAdditionOptions: title: Order addition options type: object properties: DisableItemGrouping: type: boolean description: Whether to disable item grouping. Defaults to `false` (item grouping is enabled by default). nullable: true example: true additionalProperties: false x-schema-id: OrderAdditionOptions OrderItemAdditionData: title: Item parameters required: - Name - UnitAmount - UnitCount type: object properties: Name: minLength: 1 type: string description: Name of the item. example: Example Name UnitCount: type: integer description: Count of units to be ordered, e.g. 10 in case of 10 beers. format: int32 example: 1 UnitAmount: title: Amount parameters allOf: - $ref: '#/components/schemas/AmountParameters' description: Unit amount, e.g. amount for one beer (note that total amount of the item is therefore `UnitAmount` times `UnitCount`). example: string AccountingCategoryId: type: string description: Unique identifier of an `AccountingCategory` to be assigned to the item. format: uuid nullable: true example: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111 ExternalIdentifier: type: string description: External identifier of the order item. nullable: true example: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111 additionalProperties: false x-schema-id: OrderItemAdditionData OrderAdditionResult: title: OrderAdditionResult type: object properties: OrderId: type: string description: Unique identifier of the created order. format: uuid example: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111 additionalProperties: false x-schema-id: OrderAdditionResult securitySchemes: MewsClientToken: type: apiKey in: header name: ClientToken description: Mews authentication is performed by supplying ClientToken, AccessToken and Client as fields in the JSON request body (not as HTTP headers). This securityScheme is a tooling-compatible representation of the ClientToken credential. ClientToken is unique to your application and identifies the API client. MewsAccessToken: type: apiKey in: header name: AccessToken description: Tooling-compatible representation of the AccessToken credential, which is supplied in the JSON request body. AccessToken is unique to the connection with a property (enterprise) and identifies the property or properties whose data and services you can access. Portfolio Access Tokens enable multi-property access with a single token.