Expedia Group · Capability

Expedia Group Product API — Room Type

Expedia Group Product API — Room Type. 5 operations. Lead operation: Expedia Group Obtain a list of room types for a given property. Self-contained Naftiko capability covering one Expedia Group business surface.

Run with Naftiko Expedia GroupRoom Type

What You Can Do

GET
Getroomtypes — Expedia Group Obtain a list of room types for a given property
/v1/properties/{propertyid}/roomtypes
POST
Createroomtype — Expedia Group Creates a new room type
/v1/properties/{propertyid}/roomtypes
GET
Getroomtype — Expedia Group Read a single room type from a given property
/v1/properties/{propertyid}/roomtypes/{roomtypeid}
PUT
Updateroomtype — Expedia Group Modify an existing room type
/v1/properties/{propertyid}/roomtypes/{roomtypeid}
PATCH
Patchroomtype — Expedia Group Patch an existing room type
/v1/properties/{propertyid}/roomtypes/{roomtypeid}

MCP Tools

expedia-group-obtain-list-room

Expedia Group Obtain a list of room types for a given property

read-only idempotent
expedia-group-creates-new-room

Expedia Group Creates a new room type

expedia-group-read-single-room

Expedia Group Read a single room type from a given property

read-only idempotent
expedia-group-modify-existing-room

Expedia Group Modify an existing room type

idempotent
expedia-group-patch-existing-room

Expedia Group Patch an existing room type

idempotent

Capability Spec

expedia-lodging-product-room-type.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Expedia Group Product API — Room Type
  description: 'Expedia Group Product API — Room Type. 5 operations. Lead operation: Expedia Group Obtain a list of room types
    for a given property. Self-contained Naftiko capability covering one Expedia Group business surface.'
  tags:
  - Expedia Group
  - Room Type
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    EXPEDIA_GROUP_API_KEY: EXPEDIA_GROUP_API_KEY
capability:
  consumes:
  - type: http
    namespace: expedia-lodging-product-room-type
    baseUri: https://services.expediapartnercentral.com
    description: Expedia Group Product API — Room Type business capability. Self-contained, no shared references.
    resources:
    - name: properties-propertyId-roomTypes
      path: /properties/{propertyId}/roomTypes
      operations:
      - name: getroomtypes
        method: GET
        description: Expedia Group Obtain a list of room types for a given property
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: propertyId
          in: path
          type: string
          description: Expedia Property ID
          required: true
      - name: createroomtype
        method: POST
        description: Expedia Group Creates a new room type
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: propertyId
          in: path
          type: string
          description: Expedia Property ID
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: properties-propertyId-roomTypes-roomTypeId
      path: /properties/{propertyId}/roomTypes/{roomTypeId}
      operations:
      - name: getroomtype
        method: GET
        description: Expedia Group Read a single room type from a given property
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: propertyId
          in: path
          type: string
          description: Expedia Property ID
          required: true
        - name: roomTypeId
          in: path
          type: string
          description: Room type resource ID
          required: true
      - name: updateroomtype
        method: PUT
        description: Expedia Group Modify an existing room type
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: propertyId
          in: path
          type: string
          description: Expedia Property ID
          required: true
        - name: roomTypeId
          in: path
          type: string
          description: Room type resource ID
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: patchroomtype
        method: PATCH
        description: Expedia Group Patch an existing room type
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: propertyId
          in: path
          type: string
          description: Expedia Property Id
          required: true
        - name: roomTypeId
          in: path
          type: string
          description: Room type resource ID
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: basic
      username: '{{env.EXPEDIA_GROUP_USER}}'
      password: '{{env.EXPEDIA_GROUP_PASS}}'
  exposes:
  - type: rest
    namespace: expedia-lodging-product-room-type-rest
    port: 8080
    description: REST adapter for Expedia Group Product API — Room Type. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/properties/{propertyid}/roomtypes
      name: properties-propertyid-roomtypes
      description: REST surface for properties-propertyId-roomTypes.
      operations:
      - method: GET
        name: getroomtypes
        description: Expedia Group Obtain a list of room types for a given property
        call: expedia-lodging-product-room-type.getroomtypes
        with:
          propertyId: rest.propertyId
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createroomtype
        description: Expedia Group Creates a new room type
        call: expedia-lodging-product-room-type.createroomtype
        with:
          propertyId: rest.propertyId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/properties/{propertyid}/roomtypes/{roomtypeid}
      name: properties-propertyid-roomtypes-roomtypeid
      description: REST surface for properties-propertyId-roomTypes-roomTypeId.
      operations:
      - method: GET
        name: getroomtype
        description: Expedia Group Read a single room type from a given property
        call: expedia-lodging-product-room-type.getroomtype
        with:
          propertyId: rest.propertyId
          roomTypeId: rest.roomTypeId
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateroomtype
        description: Expedia Group Modify an existing room type
        call: expedia-lodging-product-room-type.updateroomtype
        with:
          propertyId: rest.propertyId
          roomTypeId: rest.roomTypeId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: patchroomtype
        description: Expedia Group Patch an existing room type
        call: expedia-lodging-product-room-type.patchroomtype
        with:
          propertyId: rest.propertyId
          roomTypeId: rest.roomTypeId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: expedia-lodging-product-room-type-mcp
    port: 9090
    transport: http
    description: MCP adapter for Expedia Group Product API — Room Type. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: expedia-group-obtain-list-room
      description: Expedia Group Obtain a list of room types for a given property
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: expedia-lodging-product-room-type.getroomtypes
      with:
        propertyId: tools.propertyId
      outputParameters:
      - type: object
        mapping: $.
    - name: expedia-group-creates-new-room
      description: Expedia Group Creates a new room type
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: expedia-lodging-product-room-type.createroomtype
      with:
        propertyId: tools.propertyId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: expedia-group-read-single-room
      description: Expedia Group Read a single room type from a given property
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: expedia-lodging-product-room-type.getroomtype
      with:
        propertyId: tools.propertyId
        roomTypeId: tools.roomTypeId
      outputParameters:
      - type: object
        mapping: $.
    - name: expedia-group-modify-existing-room
      description: Expedia Group Modify an existing room type
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: expedia-lodging-product-room-type.updateroomtype
      with:
        propertyId: tools.propertyId
        roomTypeId: tools.roomTypeId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: expedia-group-patch-existing-room
      description: Expedia Group Patch an existing room type
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: expedia-lodging-product-room-type.patchroomtype
      with:
        propertyId: tools.propertyId
        roomTypeId: tools.roomTypeId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.