Mews Resource features API

The Resource features API from Mews — 2 operation(s) for resource features.

OpenAPI Specification

mews-com-resource-features-api-openapi.yml Raw ↑
openapi: 3.0.4
info:
  title: BookingEngineApi Account notes Resource features API
  version: v1
servers:
- url: https://api.mews.com
tags:
- name: Resource features
paths:
  /api/connector/v1/resourceFeatureAssignments/getAll:
    post:
      tags:
      - Resource features
      summary: Get all resource feature assignments
      description: Returns all resource feature assignments. This operation uses [Pagination](https://mews-systems.gitbook.io/connector-api/guidelines/pagination/).
      operationId: resourceFeatureAssignments_getAll
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceFeatureAssignmentFilterParameters'
            example:
              ClientToken: E0D439EE522F44368DC78E1BFB03710C-D24FB11DBE31D4621C4817E028D9E1D
              AccessToken: C66EF7B239D24632943D115EDE9CB810-EA00F8FD8294692C940F6B5A8F9453D
              Client: Sample Client 1.0.0
              EnterpriseIds:
              - 3fa85f64-5717-4562-b3fc-2c963f66afa6
              - 4d0201db-36f5-428b-8d11-4f0a65e960cc
              ResourceFeatureIds:
              - a693dd8c-21fe-4dae-b450-ea3bd9ab3bb0
              ResourceFeatureAssignmentIds:
              - ca2b5bf9-24f5-4faa-95ef-b65d38598b08
              UpdatedUtc:
                StartUtc: '2023-11-01T00:00:00Z'
                EndUtc: '2023-11-30T00:00:00Z'
              ActivityStates:
              - Active
              Limitation:
                Count: 10
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceFeatureAssignmentResult'
              example:
                ResourceFeatureAssignments:
                - Id: ca2b5bf9-24f5-4faa-95ef-b65d38598b08
                  IsActive: true
                  ResourceId: 18019693-c66f-4be8-a893-c3d89fd291cc
                  FeatureId: a693dd8c-21fe-4dae-b450-ea3bd9ab3bb0
                  CreatedUtc: '2023-11-03T00:00:00Z'
                  UpdatedUtc: '2023-11-21T00:00:00Z'
                Cursor: 3d5201ad-4a7b-4cbe-9c22-03dd79c28443
        '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'
  /api/connector/v1/resourceFeatures/getAll:
    post:
      tags:
      - Resource features
      summary: Get all resource features
      description: Returns all resource features. This operation uses [Pagination](https://mews-systems.gitbook.io/connector-api/guidelines/pagination/).
      operationId: resourceFeatures_getAll
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceFeatureFilterParameters'
            example:
              ClientToken: E0D439EE522F44368DC78E1BFB03710C-D24FB11DBE31D4621C4817E028D9E1D
              AccessToken: C66EF7B239D24632943D115EDE9CB810-EA00F8FD8294692C940F6B5A8F9453D
              Client: Sample Client 1.0.0
              EnterpriseIds:
              - 3fa85f64-5717-4562-b3fc-2c963f66afa6
              - 4d0201db-36f5-428b-8d11-4f0a65e960cc
              ServiceIds:
              - 24e2ead5-65a8-4ed9-8286-abdb00f08a1f
              ResourceFeatureIds:
              - 3d5201ad-4a7b-4cbe-9c22-03dd79c28443
              UpdatedUtc:
                StartUtc: '2023-11-01T00:00:00Z'
                EndUtc: '2023-11-30T00:00:00Z'
              ActivityStates:
              - Active
              Limitation:
                Count: 10
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceFeatureResult'
              example:
                ResourceFeatures:
                - Id: 3d5201ad-4a7b-4cbe-9c22-03dd79c28443
                  ServiceId: 24e2ead5-65a8-4ed9-8286-abdb00f08a1f
                  IsActive: true
                  Classification: AccessibleBathroom
                  Names:
                    en-US: Accessible Bathroom
                  ShortNames:
                    en-US: AccessBath
                  Descriptions: {}
                Cursor: 3d5201ad-4a7b-4cbe-9c22-03dd79c28443
        '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:
    ResourceFeatureAssignment:
      title: Resource feature assignment
      required:
      - CreatedUtc
      - FeatureId
      - Id
      - IsActive
      - ResourceId
      - UpdatedUtc
      type: object
      properties:
        Id:
          type: string
          description: Unique identifier of the assignment.
          format: uuid
        IsActive:
          type: boolean
          description: Whether the assignment is still active.
        ResourceId:
          type: string
          description: Unique identifier of the [Resource](https://mews-systems.gitbook.io/connector-api/operations/resources/#resource).
          format: uuid
        FeatureId:
          type: string
          description: Unique identifier of the [Resource feature](https://mews-systems.gitbook.io/connector-api/operations/#resource-feature) assigned to the Resource.
          format: uuid
        CreatedUtc:
          minLength: 1
          type: string
          description: Creation date and time of the assignment in UTC timezone in ISO 8601 format.
          format: date-time
        UpdatedUtc:
          minLength: 1
          type: string
          description: Last update date and time of the assignment in UTC timezone in ISO 8601 format.
          format: date-time
      additionalProperties: false
      x-schema-id: ResourceFeatureAssignment
    ResourceFeature:
      title: Resource feature
      required:
      - Classification
      - CreatedUtc
      - Descriptions
      - Id
      - IsActive
      - Names
      - ServiceId
      - ShortNames
      - UpdatedUtc
      type: object
      properties:
        Id:
          type: string
          description: Unique identifier of `ResourceFeature`.
          format: uuid
        ServiceId:
          type: string
          description: Unique identifier of `Service` the resource feature belongs to.
          format: uuid
        IsActive:
          type: boolean
          description: Whether the `ResourceFeature` is active.
        Classification:
          $ref: '#/components/schemas/ResourceFeatureClassification'
        Names:
          title: Localized text
          type: object
          additionalProperties:
            type: string
          description: All translations of the name.
          x-schema-id: LocalizedStrings
        ShortNames:
          title: Localized text
          type: object
          additionalProperties:
            type: string
          description: All translations of the short name.
          x-schema-id: LocalizedStrings
        Descriptions:
          title: Localized text
          type: object
          additionalProperties:
            type: string
          description: All translations of the description.
          x-schema-id: LocalizedStrings
        CreatedUtc:
          minLength: 1
          type: string
          description: Creation date and time of the resource feature in UTC timezone in ISO 8601 format.
          format: date-time
        UpdatedUtc:
          minLength: 1
          type: string
          description: Last update date and time of the resource feature in UTC timezone in ISO 8601 format.
          format: date-time
      additionalProperties: false
      x-schema-id: ResourceFeature
    ResourceFeatureFilterParameters:
      title: ResourceFeatureFilterParameters
      required:
      - AccessToken
      - Client
      - ClientToken
      - Limitation
      - ServiceIds
      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
        ResourceFeatureIds:
          maxItems: 1000
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Unique identifiers of `ResourceFeature`.
          nullable: true
        ServiceIds:
          maxItems: 1000
          type: array
          items:
            type: string
            format: uuid
          description: Unique identifiers of `Service` to which the resource features belong.
        UpdatedUtc:
          title: Time interval
          allOf:
          - $ref: '#/components/schemas/TimeFilterInterval'
          description: Last update date and time of the resource feature in UTC timezone in ISO 8601 format.
          nullable: true
          x-max-interval-in-months: 3
        ActivityStates:
          type: array
          items:
            $ref: '#/components/schemas/ActivityStates'
          description: Whether to return only active, only deleted or both records.
          nullable: true
      additionalProperties: false
      x-schema-id: ResourceFeatureFilterParameters
    ResourceFeatureResult:
      title: ResourceFeatureResult
      required:
      - ResourceFeatures
      type: object
      properties:
        ResourceFeatures:
          maxItems: 1000
          type: array
          items:
            $ref: '#/components/schemas/ResourceFeature'
          description: Resource features.
        Cursor:
          type: string
          description: Unique identifier of the item one newer in time order than the items to be returned. If Cursor is not specified, i.e. null, then the latest or most recent items will be returned.
          format: uuid
          nullable: true
      additionalProperties: false
      x-schema-id: ResourceFeatureResult
    ResourceFeatureAssignmentFilterParameters:
      title: ResourceFeatureAssignmentFilterParameters
      required:
      - AccessToken
      - Client
      - ClientToken
      - Limitation
      - ResourceFeatureIds
      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
        ResourceFeatureAssignmentIds:
          maxItems: 1000
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        ResourceFeatureIds:
          maxItems: 1000
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Unique identifiers of [Resource features](https://mews-systems.gitbook.io/connector-api/operations/#resource-feature) to which the resource feature assignments belong.
        UpdatedUtc:
          title: Time interval
          allOf:
          - $ref: '#/components/schemas/TimeFilterInterval'
          description: Interval in which the resource feature assignments were updated.
          nullable: true
          x-max-interval-in-months: 3
        ActivityStates:
          type: array
          items:
            $ref: '#/components/schemas/ActivityStates'
          description: Whether to return only active, only deleted or both records.
          nullable: true
      additionalProperties: false
      x-schema-id: ResourceFeatureAssignmentFilterParameters
    ActivityStates:
      title: Activity state
      enum:
      - Deleted
      - Active
      type: string
      description: Activity states used for filtering.
    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
    ResourceFeatureAssignmentResult:
      title: ResourceFeatureAssignmentResult
      required:
      - ResourceFeatureAssignments
      type: object
      properties:
        ResourceFeatureAssignments:
          maxItems: 1000
          type: array
          items:
            $ref: '#/components/schemas/ResourceFeatureAssignment'
          description: Resource feature assignments.
        Cursor:
          type: string
          description: Unique identifier of the last and hence oldest resource feature assignments returned. This can be used in [Limitation](https://mews-systems.gitbook.io/connector-api/guidelines/pagination/#limitation) in a subsequent request to fetch the next batch of older resource feature assignments.
          format: uuid
          nullable: true
      additionalProperties: false
      x-schema-id: ResourceFeatureAssignmentResult
    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
    ResourceFeatureClassification:
      title: Resource feature classification
      enum:
      - SeaView
      - RiverView
      - OceanView
      - TwinBeds
      - DoubleBed
      - RollawayBed
      - UpperBed
      - LowerBed
      - Balcony
      - AccessibleBathroom
      - AccessibleRoom
      - ElevatorAccess
      - HighFloor
      - Kitchenette
      - AirConditioning
      - PrivateJacuzzi
      - PrivateSauna
      - EnsuiteRoom
      - PrivateBathroom
      - SharedBathroom
      type: string
      description: Classification of `ResourceFeature`.
    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