Mews Companionships API

The Companionships API from Mews — 1 operation(s) for companionships.

OpenAPI Specification

mews-com-companionships-api-openapi.yml Raw ↑
openapi: 3.0.4
info:
  title: BookingEngineApi Account notes Companionships API
  version: v1
servers:
- url: https://api.mews.com
tags:
- name: Companionships
paths:
  /api/connector/v1/companionships/getAll:
    post:
      tags:
      - Companionships
      summary: Get all companionships
      description: 'Returns all companionships based on customers, reservations or reservation groups. One of them must be specified in the request.

        Note this operation uses [Pagination](https://mews-systems.gitbook.io/connector-api/guidelines/pagination/) and supports [Portfolio Access Tokens](https://mews-systems.gitbook.io/connector-api/concepts/multi-property).'
      operationId: companionships_getAll
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanionshipFilterParameters'
            example:
              ClientToken: E0D439EE522F44368DC78E1BFB03710C-D24FB11DBE31D4621C4817E028D9E1D
              AccessToken: C66EF7B239D24632943D115EDE9CB810-EA00F8FD8294692C940F6B5A8F9453D
              Client: Sample Client 1.0.0
              EnterpriseIds:
              - 3fa85f64-5717-4562-b3fc-2c963f66afa6
              - 4d0201db-36f5-428b-8d11-4f0a65e960cc
              CompanionshipIds:
              - 72d4b117-1f84-44a3-1f84-8b2c0635ac60
              CustomerIds:
              - 35d4b117-4e60-44a3-9580-c582117eff98
              ReservationIds:
              - bfee2c44-1f84-4326-a862-5289598f6e2d
              ReservationGroupIds:
              - c704dff3-7811-4af7-a3a0-7b2b0635ac59
              UpdatedUtc:
                StartUtc: '2020-02-05T00:00:00Z'
                EndUtc: '2020-02-10T00:00:00Z'
              Limitation:
                Count: 10
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanionshipResult'
              example:
                Companionships:
                - Id: 72d4b117-1f84-44a3-1f84-8b2c0635ac60
                  CustomerId: 35d4b117-4e60-44a3-9580-c582117eff98
                  ReservationGroupId: c704dff3-7811-4af7-a3a0-7b2b0635ac59
                  ReservationId: bfee2c44-1f84-4326-a862-5289598f6e2d
                Customers: null
                Reservations: null
                ReservationGroups: null
                Cursor: 72d4b117-1f84-44a3-1f84-8b2c0635ac60
        '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'
        '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'
        '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'
        '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'
        '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'
        '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'
        '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'
components:
  schemas:
    ReservationOptions:
      title: Reservation options
      required:
      - AllCompanionsCheckedIn
      - AnyCompanionCheckedIn
      - OwnerCheckedIn
      type: object
      properties:
        OwnerCheckedIn:
          type: boolean
          description: Owner of the reservation checked in.
        AllCompanionsCheckedIn:
          type: boolean
          description: All companions of the reservation checked in.
        AnyCompanionCheckedIn:
          type: boolean
          description: Any companion of the reservation checked in.
      additionalProperties: false
      x-schema-id: ReservationOptions
    ConnectorApiExceptionResult:
      title: ConnectorApiExceptionResult
      type: object
      properties:
        Message:
          type: string
          nullable: true
        RequestId:
          type: string
          nullable: true
        Details:
          nullable: true
      additionalProperties: false
      x-schema-id: ConnectorApiExceptionResult
    ReservationGroupOld:
      title: Reservation groups (ver 2017-04-12)
      type: object
      properties:
        Id:
          type: string
          description: Unique identifier of the reservation group.
          format: uuid
        Name:
          type: string
          description: Name of the reservation group.
          nullable: true
      additionalProperties: false
      x-schema-id: ReservationGroupOld
    Customer:
      title: Customer
      required:
      - ChainId
      - Classifications
      - CreatedUtc
      - CreatorProfileId
      - Id
      - IsActive
      - LastName
      - Number
      - Options
      - PreferredSpaceFeatures
      - UpdatedUtc
      - UpdaterProfileId
      type: object
      properties:
        Id:
          type: string
          description: Unique identifier of the customer.
          format: uuid
        ChainId:
          type: string
          description: Unique identifier of the chain.
          format: uuid
        Number:
          maxLength: 19
          minLength: 1
          type: string
          description: Unique number of the customer (max 19 digits).
        Title:
          allOf:
          - $ref: '#/components/schemas/Title'
          description: 'Title of the customer.


            Mister (Mr.)


            Miss (Ms.)


            Misses (Mrs.)'
          nullable: true
        Sex:
          allOf:
          - $ref: '#/components/schemas/SexEnum'
          description: 'Sex of the customer.


            Male


            Female'
          nullable: true
        FirstName:
          type: string
          description: First name of the customer.
          nullable: true
        LastName:
          minLength: 1
          type: string
          description: Last name of the customer.
        SecondLastName:
          type: string
          description: Second last name of the customer.
          nullable: true
        NationalityCode:
          type: string
          description: ISO 3166-1 code of the [Country](https://mews-systems.gitbook.io/connector-api/operations/countries/#country).
          nullable: true
        PreferredLanguageCode:
          type: string
          description: 'Language and culture code of the customer''s preferred language, according to their profile. For example: `en-GB`, `fr-CA`.'
          nullable: true
        LanguageCode:
          type: string
          description: Language and culture code of the customer's language, based on multiple sources. These sources include the preferred language specified in internal data based on previous bookings, and the preferred language of the customer specified in their profile. If neither of these sources are present, we use the native language based on the customer's nationality. The format is, for example, `en-US` or `fr-FR`.
          nullable: true
        BirthDate:
          type: string
          description: Date of birth in ISO 8601 format.
          nullable: true
        BirthCountryCode:
          type: string
          description: ISO 3166-1 alpha-2 code of the birth country.
          nullable: true
        BirthCountrySubdivisionCode:
          type: string
          description: ISO 3166-2 code of the administrative division, e.g. ES-C.
          nullable: true
        BirthPlace:
          type: string
          description: Place of birth.
          nullable: true
        Occupation:
          type: string
          description: Occupation of the customer.
          nullable: true
        Email:
          type: string
          description: Email address of the customer.
          nullable: true
        HasOtaEmail:
          type: boolean
          description: Whether the customer's email address is a temporary email address from an OTA. For more details, see the [product documentation](https://help.mews.com/s/article/how-to-maintain-ota-guest-profiles-with-verified-email-addresses-obtained-from-the-guest-portal).
        Phone:
          type: string
          description: Phone number of the customer (possibly mobile).
          nullable: true
        TaxIdentificationNumber:
          type: string
          description: Tax identification number of the customer.
          nullable: true
        LoyaltyCode:
          type: string
          description: Loyalty code of the customer.
          nullable: true
        AccountingCode:
          type: string
          description: Accounting code of the customer.
          nullable: true
        BillingCode:
          type: string
          description: Billing code of the customer.
          nullable: true
        Notes:
          type: string
          description: Internal notes about the customer.
          nullable: true
        CarRegistrationNumber:
          maxLength: 255
          type: string
          description: Registration number of the customer's car.
          nullable: true
        DietaryRequirements:
          maxLength: 255
          type: string
          description: Customer's dietary requirements, e.g. Vegan, Halal.
          nullable: true
        CreatedUtc:
          minLength: 1
          type: string
          description: Creation date and time of the customer in UTC timezone in ISO 8601 format.
          format: date-time
        UpdatedUtc:
          minLength: 1
          type: string
          description: Last update date and time of the customer in UTC timezone in ISO 8601 format.
          format: date-time
        Passport:
          title: Identity document
          allOf:
          - $ref: '#/components/schemas/IdentityDocument'
          nullable: true
          deprecated: true
          x-deprecatedMessage: Use [Get all identity documents](https://mews-systems.gitbook.io/connector-api/operations/identitydocuments#get-all-identity-documents) to fetch identity documents.
        IdentityCard:
          title: Identity document
          allOf:
          - $ref: '#/components/schemas/IdentityDocument'
          nullable: true
          deprecated: true
          x-deprecatedMessage: Use [Get all identity documents](https://mews-systems.gitbook.io/connector-api/operations/identitydocuments#get-all-identity-documents) to fetch identity documents.
        Visa:
          title: Identity document
          allOf:
          - $ref: '#/components/schemas/IdentityDocument'
          nullable: true
          deprecated: true
          x-deprecatedMessage: Use [Get all identity documents](https://mews-systems.gitbook.io/connector-api/operations/identitydocuments#get-all-identity-documents) to fetch identity documents.
        DriversLicense:
          title: Identity document
          allOf:
          - $ref: '#/components/schemas/IdentityDocument'
          nullable: true
          deprecated: true
          x-deprecatedMessage: Use [Get all identity documents](https://mews-systems.gitbook.io/connector-api/operations/identitydocuments#get-all-identity-documents) to fetch identity documents.
        Address:
          title: Address
          allOf:
          - $ref: '#/components/schemas/OldAddress'
          description: ''
          nullable: true
          deprecated: true
          x-deprecatedMessage: Use `AddressId` instead.
        AddressId:
          type: string
          description: Unique identifier of the `Address` of the customer.
          format: uuid
          nullable: true
        Classifications:
          type: array
          items:
            $ref: '#/components/schemas/CustomerClassificationEnum'
          description: Classifications of the customer.
        Options:
          type: array
          items:
            $ref: '#/components/schemas/CustomerOptionsEnum'
          description: Options of the customer.
        ItalianDestinationCode:
          type: string
          description: Value of Italian destination code.
          nullable: true
        ItalianFiscalCode:
          type: string
          description: Value of Italian fiscal code.
          nullable: true
        ItalianLotteryCode:
          type: string
          description: Italian lottery code.
          nullable: true
        CompanyId:
          type: string
          description: Unique identifier of [Company](https://mews-systems.gitbook.io/connector-api/operations/companies/#company) the customer is associated with.
          format: uuid
          nullable: true
        MergeTargetId:
          type: string
          description: Unique identifier of the account ([Customer](https://mews-systems.gitbook.io/connector-api/operations/#customer)) to which this customer is linked.
          format: uuid
          nullable: true
        ActivityState:
          type: string
          description: '[Activity State](https://mews-systems.gitbook.io/connector-api/operations/#activity-state) of customer record, i.e. whether active or deleted.'
          nullable: true
          deprecated: true
          x-deprecatedMessage: Use `IsActive` instead.
        IsActive:
          type: boolean
          description: Whether the customer record is still active.
        PreferredSpaceFeatures:
          type: array
          items:
            $ref: '#/components/schemas/ResourceFeatureClassification'
          description: A list of room preferences, such as view type, bed type, and amenities.
        CreatorProfileId:
          type: string
          description: Unique identifier of the user who created the customer.
          format: uuid
        UpdaterProfileId:
          type: string
          description: Unique identifier of the user who last updated the customer.
          format: uuid
      additionalProperties: false
      x-schema-id: Customer
    CompanionshipFilterParameters:
      title: CompanionshipFilterParameters
      required:
      - AccessToken
      - Client
      - ClientToken
      - Extent
      - Limitation
      type: object
      properties:
        ClientToken:
          minLength: 1
          type: string
          description: Token identifying the client application.
        AccessToken:
          minLength: 1
          type: string
          description: Access token of the client application.
        Client:
          minLength: 1
          type: string
          description: Name and version of the client application.
        Limitation:
          allOf:
          - $ref: '#/components/schemas/Limitation'
          description: Limitation on the quantity of data returned and optional Cursor for the starting point of data.
        EnterpriseIds:
          maxItems: 1000
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Unique identifiers of the Enterprises. If not specified, the operation returns data for all enterprises within scope of the Access Token.
          nullable: true
        CompanionshipIds:
          maxItems: 1000
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Unique identifiers of `Companionship`. Required if no other filter is provided.
          nullable: true
        Extent:
          title: Companionship extent
          allOf:
          - $ref: '#/components/schemas/CompanionshipExtent'
          description: Extent of data to be returned. E.g. it is possible to specify that together with the companionships, customers, reservations, and reservation groups should be also returned.
        ReservationIds:
          maxItems: 1000
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Unique identifiers of `Reservation`. Required if no other filter is provided.
          nullable: true
        CustomerIds:
          maxItems: 1000
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Unique identifiers of `Customer`. Required if no other filter is provided.
          nullable: true
        ReservationGroupIds:
          maxItems: 1000
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Unique identifiers of `ReservationGroup`. Required if no other filter is provided.
          nullable: true
        UpdatedUtc:
          title: Time interval
          allOf:
          - $ref: '#/components/schemas/TimeFilterInterval'
          description: Interval in which the `Companionship` was updated. Must be used together with at least one another filter.
          nullable: true
          x-max-interval-in-months: 3
      additionalProperties: false
      x-schema-id: CompanionshipFilterParameters
    OldAddress:
      title: Address
      type: object
      properties:
        Id:
          type: string
          description: Unique identifier of the address.
          format: uuid
        Line1:
          type: string
          description: First line of the address.
          nullable: true
        Line2:
          type: string
          description: Second line of the address.
          nullable: true
        City:
          type: string
          description: The city.
          nullable: true
        PostalCode:
          type: string
          description: Postal code.
          nullable: true
        CountryCode:
          type: string
          description: ISO 3166-1 code of the `Country`.
          nullable: true
        CountrySubdivisionCode:
          type: string
          description: ISO 3166-2 code of the administrative division, e.g. `DE-BW`.
          nullable: true
        Latitude:
          type: number
          description: The latitude.
          format: double
          nullable: true
        Longitude:
          type: number
          description: The longitude.
          format: double
          nullable: true
      additionalProperties: false
      description: ''
      x-schema-id: OldAddress
    ReservationPersonCount:
      title: Age category parameters
      required:
      - AgeCategoryId
      - Count
      type: object
      properties:
        AgeCategoryId:
          type: string
          description: Unique identifier of the [Age category](https://mews-systems.gitbook.io/connector-api/operations/agecategories#age-category).
          format: uuid
        Count:
          type: integer
          description: Number of people of a given age category. Only positive value is accepted.
          format: int32
      additionalProperties: false
      x-schema-id: ReservationPersonCount
    Limitation:
      title: Limitation
      required:
      - Count
      type: object
      properties:
        Count:
          type: integer
          format: int32
        Cursor:
          type: string
          format: uuid
          nullable: true
      additionalProperties: false
      description: Limitation on the quantity of data returned.
      x-schema-id: Limitation
    ServiceOrderStateOld:
      title: Service order state (ver 2017-04-12)
      enum:
      - Enquired
      - Confirmed
      - Started
      - Processed
      - Canceled
      - Optional
      - Requested
      type: string
    ReservationOldOrigin:
      title: Reservation origin (ver 2017-04-12)
      enum:
      - Distributor
      - ChannelManager
      - Import
      - Connector
      - Navigator
      - CommanderInPerson
      - CommanderChannel
      - CommanderPhone
      - CommanderEmail
      - CommanderWebsite
      - CommanderMessage
      - CommanderCallCenter
      - CommanderRoomingList
      type: string
      x-enumDescriptions:
      - From the Mews Booking Engine or Booking Engine API.
      - From a channel manager.
      - From an import process.
      - From the Mews Connector API.
      - From Mews Guest Services.
      - From Mews Operations, in person.
      - From Mews Operations, via channel.
      - From Mews Operations, via telephone.
      - From Mews Operations, via email.
      - From Mews Operations, via website.
      - From Mews Operations, via message person.
      - From Mews Operations, via call center.
      - From Mews Operations, via rooming list.
    CancellationReason:
      enum:
      - Other
      - ConfirmationMissed
      - BookedElsewhere
      - ForceMajeure
      - GuestComplaint
      - NoShow
      - PriceTooHigh
      - ServiceNotAvailable
      - InputError
      - InvalidPayment
      - TravelAgency
      - RequestedByGuest
      - Update
      - BookingAbandoned
      - RequestedByBooker
      type: string
    CustomerClassificationEnum:
      title: Customer classification
      enum:
      - PaymasterAccount
      - Blacklist
      - Media
      - LoyaltyProgram
      - PreviousComplaint
      - Returning
      - Staff
      - FriendOrFamily
      - TopManagement
      - Important
      - VeryImportant
      - Problematic
      - Cashlist
      - DisabledPerson
      - Military
      - Airline
      - HealthCompliant
      - InRoom
      - WaitingForRoom
      - Student
      - Blocklist
      type: string
      description: '


        PaymasterAccount


        Blacklist (Deprecated, use Blocklist instead.)


        Media


        LoyaltyProgram


        PreviousComplaint


        Returning


        Staff


        FriendOrFamily


        TopManagement


        Important


        VeryImportant


        Problematic


        Cashlist


        DisabledPerson


        Military


        Airline


        HealthCompliant


        InRoom


        WaitingForRoom


        Student


        Blocklist'
      x-enumNames:
      - PaymasterAccount
      - Blacklist
      - Media
      - LoyaltyProgram
      - PreviousComplaint
      - Returning
      - Staff
      - FriendOrFamily
      - TopManagement
      - Important
      - VeryImportant
      - Problematic
      - Cashlist
      - DisabledPerson
      - Military
      - Airline
      - HealthCompliant
      - InRoom
      - WaitingForRoom
      - Student
      - Blocklist
      x-enumDescriptions:
      - ''
      - Deprecated, use Blocklist instead.
      - ''
      - ''
      - ''
      - ''
      - ''
      - ''
      - ''
      - ''
      - ''
      - ''
      - ''
      - ''
      - ''
      - ''
      - ''
      - ''
      - ''
      - ''
      - ''
    SexEnum:
      title: Sex
      enum:
      - Male
      - Female
      type: string
      description: '


        Male


        Female'
      x-enumNames:
      - Male
      - Female
      x-enumDescriptions:
      - ''
      - ''
    TimeFilterInterval:
      title: Time interval
      type: object
      properties:
        StartUtc:
          type: string
          format: date-time
          nullable: true
        EndUtc:
          type: string
          format: date-time
          nullable: true
      additionalProperties: false
      description: "When a time interval is used for **filtering** (for example in parameters such as `CreatedUtc.StartUtc` / `CreatedUtc.EndUtc`), the following rules apply:\r\n\r\n- **Start equals End (equality mode)**  \r\n  If `StartUtc` and `EndUtc` are exactly the same timestamp, the filter is treated as an equality check for that precise moment in time:\r\n  \r\n  ```\r\n  CreatedUtc == StartUtc\r\n  ```\r\n  \r\n  This does not represent an interval; only records with `CreatedUtc` equal to that exact instant are returned.\r\n\r\n- **Start differs from End (interval mode)**  \r\n  If `StartUtc` and `EndUtc` are different, the filter is evaluated as a half-open interval:\r\n  \r\n  ```\r\n  StartUtc <= CreatedUtc < EndUtc\r\n  ```\r\n  \r\n  In other words, the start is inclusive and the end is exclusive.\r\n\r\nMake sure your integration takes inclusive Start / exclusive End behavior of time intervals into account so that no records at the boundaries are omitted."
      x-schema-id: TimeFilterInterval
    CompanionshipExtent:
      title: Companionship extent
      type: object
      properties:
        Reservations:
          type: boolean
          description: Whether the response should contain reservations.
          nullable: true
        ReservationGroups:
          type: boolean
          description: Whether the response should contain reservation groups.
          nullable: true
        Customers:
          type: boolean
          description: Whether the response should contain customers.
          nullable: true
      additionalProperties: false
      description: ''
      x-schema-id: CompanionshipExtent
    IdentityDocument:
      title: Identity document
      type: object
      properties:
        Id:
          type: string
          description: Unique identifier of the document.
          format: uuid
        CustomerId:
          type: string
          description: Identifier of the `Customer`.
          format: uuid
        Type:
          title: Document type
          allOf:
          - $ref: '#/components/schemas/IdentityDocumentTypeEnum'
          description: 'Type of the document.


            IdentityCard


            Passport


            Visa


            DriversLicense'
          x-enumNames:
          - IdentityCard
          - Passport
          - Visa
          - DriversLicense
          x-enumDescriptions:
          - ''
          - ''
          - ''
          - ''
        Number:
          type: string
          description: Number of the document (e.g. passport number).
          nullable: true
        Expiration:
          type: string
          description: Expiration date in ISO 8601 format.
          format: date
          nullable: true
        Issuance:
          type: string
          description: Date of issuance in ISO 8601 format.
          format: date
          nullable: true
        IssuingCountryCode:
          type: string
          description: ISO 3166-1 code of the `Country`.
          nullable: true
        IssuingCountrySubdivisionCode:
          type: string
          description: Identifier of the country subdivision where the document was issued (province, state or region).
          nullable: true
        IssuingCity:
          type: string
          description: City where the document was issued.
          nullable: true
        IdentityDocumentSupportNumber:
          type: string
          description: Identity document support number. Only required for Spanish identity cards in Spanish hotels.
          nullable: true
      additionalProperties: false
      x-schema-id: IdentityDocument
    ReservationOld:
      title: Reservation (ver 2017-04-12)
      required:
      - AssignedResourceLocked
      - CompanionIds
      - CreatedUtc
      - CustomerId
      - EndUtc
      - GroupId
      - Id
      - Number
      - Options
      - Origin
      - OwnerId
      - PersonCounts
      - RateId
      - RequestedCategoryId
      - ServiceId
      - StartUtc
      - State
      - UpdatedUtc
      type: object
      properties:
        Id:
          type: string
          description: Unique identifier of the reservation.
          format: uuid
        ServiceId:
          type: string
          description: Unique identifier of the Service that is reserved.
          format: uuid
        GroupId:
          type: string
          description: Unique identifier of the Reservation group.
          format: uuid
        Number:
          minLength: 1
          type: string
          description: Confirmation number of the reservation in Mews.
        ChannelNumber:
          type: string
          description: Number of the reservation within the Channel (i.e. OTA, GDS, CRS, etc) in case the reservation group originates there (e.g. Booking.com confirmation number).
          nullable: true
        ChannelManagerNumber:
          type: string
          description: Unique number of the reservation within the reservation group.
          nullable: true
        ChannelManagerGroupNumber:
          type: string
          description: Number of the reservation group within a Channel manager that transferred the reservation from Channel to Mews.
          nullable: true
        ChannelManager:
          type: string
          description: Name of the Channel manager (e.g. AvailPro, SiteMinder, TravelClick, etc).
          nullable: true
        State:
          $ref: '#/components/schemas/ServiceOrderStateOld'
        Origin:
          $ref: '#/components/schemas/ReservationOldOrigin'
        OriginDetails:
          type: string
          description: Details about the reservation origin.
          nullable: true
        Purpose:
          anyOf:
          - $ref: '#/components/schemas/ReservationPurpose'
          description: Purpose of the reservation.
          nullable: true
        CreatedUtc:
          minLength: 1
          type: string
          description: Creation date and time of the reservation in UTC timezone in ISO 8601 format.
        UpdatedUtc:
          minLength: 1
          type: string
          description: Last update date and time of the reservation in UTC timezone in ISO 8601 format.
        CancelledUtc:
          type: string
          description: Cancellation date and time in UTC timezone in ISO 8601 format.
          nullable: true
        StartUtc:
          minLength: 1
          type: string
          description: Start of the reservation in UTC timezone in ISO 8601 format. This is either the scheduled reservation start time, or the actual customer check-in time if this is earlier than the scheduled start time.
        EndUtc:
          minLength: 1
          type: string
          description: End of the reservation (departure) in UTC timezone in ISO 8601 format.
        ReleasedUtc:
          type: string
          description: Date when the optional reservation is released in UTC timezone in ISO 8601 format.
          nullable: true
        RequestedCategoryId:
          type: string
          description: Identifier of the requested Resource category.
          format: uuid
        AssignedSpaceId:
          type: string
          description: Identifier of the assigned Space.
          format: uuid
          nullable: true
          deprecated: true
          x-deprecatedMessage: Use `AssignedResourceId` instead.
        AssignedSpaceLocked:
          type: boolean
          description: Whether the reservation is locked to the assigned Space and cannot be moved.
          deprecated: true
          x-deprecatedMessage: Use `AssignedResourceLocked` instead.
        AssignedResourceId:
          type: string
          description: Identifier of the assigned Resource

# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mews-com/refs/heads/main/openapi/mews-com-companionships-api-openapi.yml