Mews · Arazzo Workflow

Mews Reservation Accounting Summary

Version 1.0.0

Resolve a reservation's guest account, then pull its accounting items.

1 workflow 1 source API 1 provider
View Spec View on GitHub HospitalityHotelPMSProperty ManagementTravelBookingReservationsCloudSaaSArazzoWorkflows

Provider

mews-com

Workflows

reservation-accounting-summary
Resolve a reservation and list its accounting items for a date range.
Reads the reservation to confirm it exists, then returns the order and payment accounting items consumed within the supplied date range.
2 steps inputs: accessToken, client, clientToken, consumedEndUtc, consumedStartUtc, endUtc, reservationId, serviceId, startUtc outputs: customerId, orderItems, paymentItems, reservationId
1
getReservation
reservations_getAll
Load the reservation to confirm it exists before pulling accounting items.
2
getAccountingItems
accountingItems_getAll
Return the order and payment accounting items consumed within the supplied window.

Source API Descriptions

Arazzo Workflow Specification

mews-com-reservation-accounting-summary-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Mews Reservation Accounting Summary
  summary: Resolve a reservation's guest account, then pull its accounting items.
  description: >-
    The Mews folio-review pattern. The Connector API reservations/getAll action
    resolves the reservation and exposes its guest account id, then
    accountingItems/getAll returns the order and payment items posted to that
    account over a date range. Each step inlines its action-style POST body with
    the ClientToken, AccessToken, and Client authentication fields Mews requires
    so the flow reads and runs without opening the OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: connectorApi
  url: ../openapi/mews-connector-api-openapi.yml
  type: openapi
workflows:
- workflowId: reservation-accounting-summary
  summary: Resolve a reservation and list its accounting items for a date range.
  description: >-
    Reads the reservation to confirm it exists, then returns the order and
    payment accounting items consumed within the supplied date range.
  inputs:
    type: object
    required:
    - clientToken
    - accessToken
    - client
    - reservationId
    - serviceId
    - startUtc
    - endUtc
    - consumedStartUtc
    - consumedEndUtc
    properties:
      clientToken:
        type: string
        description: The Mews ClientToken identifying the integration.
      accessToken:
        type: string
        description: The Mews AccessToken identifying the enterprise.
      client:
        type: string
        description: The client application name and version.
      reservationId:
        type: string
        description: The reservation to summarize accounting for.
      serviceId:
        type: string
        description: The bookable service the reservation belongs to.
      startUtc:
        type: string
        description: Lower bound of the reservation collision interval, in UTC.
      endUtc:
        type: string
        description: Upper bound of the reservation collision interval, in UTC.
      consumedStartUtc:
        type: string
        description: Start of the accounting item consumption window, in UTC.
      consumedEndUtc:
        type: string
        description: End of the accounting item consumption window, in UTC.
  steps:
  - stepId: getReservation
    description: >-
      Load the reservation to confirm it exists before pulling accounting items.
    operationId: reservations_getAll
    requestBody:
      contentType: application/json
      payload:
        ClientToken: $inputs.clientToken
        AccessToken: $inputs.accessToken
        Client: $inputs.client
        StartUtc: $inputs.startUtc
        EndUtc: $inputs.endUtc
        ServiceIds:
        - $inputs.serviceId
        ReservationIds:
        - $inputs.reservationId
        Extent:
          Reservations: true
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      customerId: $response.body#/Reservations/0/CustomerId
    onSuccess:
    - name: found
      type: goto
      stepId: getAccountingItems
      criteria:
      - context: $response.body
        condition: $.Reservations.length > 0
        type: jsonpath
    - name: notFound
      type: end
      criteria:
      - context: $response.body
        condition: $.Reservations.length == 0
        type: jsonpath
  - stepId: getAccountingItems
    description: >-
      Return the order and payment accounting items consumed within the supplied
      window.
    operationId: accountingItems_getAll
    requestBody:
      contentType: application/json
      payload:
        ClientToken: $inputs.clientToken
        AccessToken: $inputs.accessToken
        Client: $inputs.client
        ConsumedUtc:
          StartUtc: $inputs.consumedStartUtc
          EndUtc: $inputs.consumedEndUtc
        Extent:
          OrderItems: true
          PaymentItems: true
          CreditCardTransactions: false
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      orderItems: $response.body#/OrderItems
      paymentItems: $response.body#/PaymentItems
  outputs:
    reservationId: $inputs.reservationId
    customerId: $steps.getReservation.outputs.customerId
    orderItems: $steps.getAccountingItems.outputs.orderItems
    paymentItems: $steps.getAccountingItems.outputs.paymentItems