Mews · Arazzo Workflow

Mews Check In Reservation

Version 1.0.0

Locate a reservation, confirm it if needed, then start it (check in).

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

Provider

mews-com

Workflows

check-in-reservation
Confirm (if necessary) and start a reservation to check the guest in.
Reads the reservation, confirms it when it is not already in the Confirmed state, and then starts it to complete check-in.
3 steps inputs: accessToken, client, clientToken, endUtc, enterpriseId, reservationId, serviceId, startUtc outputs: priorState, reservationId
1
getReservation
reservations_getAll
Load the reservation and read its current state to decide whether a confirmation step is required before check-in.
2
confirmReservation
reservations_confirm
Confirm the reservation so it satisfies the starting conditions for check-in.
3
startReservation
reservations_start
Mark the reservation as started (checked in).

Source API Descriptions

Arazzo Workflow Specification

mews-com-check-in-reservation-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Mews Check In Reservation
  summary: Locate a reservation, confirm it if needed, then start it (check in).
  description: >-
    The Mews front-desk arrival pattern. The Connector API reservations/getAll
    action locates the reservation by id and inspects its state, the flow
    branches to confirm the reservation with reservations/confirm when it is not
    yet confirmed, and reservations/start marks the guest as checked in. 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: check-in-reservation
  summary: Confirm (if necessary) and start a reservation to check the guest in.
  description: >-
    Reads the reservation, confirms it when it is not already in the Confirmed
    state, and then starts it to complete check-in.
  inputs:
    type: object
    required:
    - clientToken
    - accessToken
    - client
    - enterpriseId
    - reservationId
    - serviceId
    - startUtc
    - endUtc
    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.
      enterpriseId:
        type: string
        description: The enterprise (property) the reservation belongs to.
      reservationId:
        type: string
        description: The reservation to check in.
      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.
  steps:
  - stepId: getReservation
    description: >-
      Load the reservation and read its current state to decide whether a
      confirmation step is required before check-in.
    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:
      reservationState: $response.body#/Reservations/0/State
    onSuccess:
    - name: alreadyConfirmed
      type: goto
      stepId: startReservation
      criteria:
      - context: $response.body
        condition: $.Reservations[0].State == 'Confirmed'
        type: jsonpath
    - name: needsConfirm
      type: goto
      stepId: confirmReservation
      criteria:
      - context: $response.body
        condition: $.Reservations[0].State != 'Confirmed'
        type: jsonpath
  - stepId: confirmReservation
    description: >-
      Confirm the reservation so it satisfies the starting conditions for
      check-in.
    operationId: reservations_confirm
    requestBody:
      contentType: application/json
      payload:
        ClientToken: $inputs.clientToken
        AccessToken: $inputs.accessToken
        Client: $inputs.client
        ReservationIds:
        - $inputs.reservationId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      confirmedIds: $response.body#/ReservationIds
  - stepId: startReservation
    description: >-
      Mark the reservation as started (checked in).
    operationId: reservations_start
    requestBody:
      contentType: application/json
      payload:
        ClientToken: $inputs.clientToken
        AccessToken: $inputs.accessToken
        Client: $inputs.client
        EnterpriseId: $inputs.enterpriseId
        ReservationId: $inputs.reservationId
    successCriteria:
    - condition: $statusCode == 200
  outputs:
    reservationId: $inputs.reservationId
    priorState: $steps.getReservation.outputs.reservationState