RateHawk Hotel Content API

The Hotel Content API from RateHawk — 2 operation(s) for hotel content.

OpenAPI Specification

ratehawk-hotel-content-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: RateHawk / ETG API (WorldOta APIv3) Booking Hotel Content API
  description: B2B hotel and travel booking API operated by Emerging Travel Group (ETG) and exposed to partners as the RateHawk API. The Partner API (pAPI) v3 covers hotel search (SERP by region, hotels, and geo), hotelpage rate actualization, prebook, the asynchronous order booking flow (form, finish, finish status), order information, cancellation, and static hotel content. All endpoints are HTTP POST that accept and return JSON and authenticate with HTTP Basic using a key id (username) and key (password).
  termsOfService: https://www.ratehawk.com/
  contact:
    name: ETG API Support
    url: https://docs.emergingtravel.com/
  version: '3.0'
servers:
- url: https://api.worldota.net/api/b2b/v3
  description: Production
- url: https://api-sandbox.worldota.net/api/b2b/v3
  description: Sandbox / test
security:
- basicAuth: []
tags:
- name: Hotel Content
paths:
  /hotel/info/:
    post:
      operationId: hotelInfo
      tags:
      - Hotel Content
      summary: Hotel data search (static content)
      description: Static hotel content lookup by hotel identifier, including address, amenities, descriptions, images, metapolicy, room groups, and star rating. Used to fill gaps not present in the hotel data dump.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HotelInfoRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HotelInfoResponse'
  /hotel/info/dump/:
    post:
      operationId: hotelInfoDump
      tags:
      - Hotel Content
      summary: Hotel data dump
      description: Returns a URL to the archive of all available ETG hotels' static data for one language. The dump is regenerated daily.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HotelInfoDumpRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseResponse'
components:
  schemas:
    BaseResponse:
      type: object
      properties:
        status:
          type: string
          description: ok or error.
        error:
          type: string
          nullable: true
        debug:
          type: object
          nullable: true
        data:
          type: object
          nullable: true
    HotelInfoRequest:
      type: object
      required:
      - id
      - language
      properties:
        id:
          type: string
        language:
          type: string
    HotelInfoDumpRequest:
      type: object
      required:
      - language
      properties:
        language:
          type: string
        inventory:
          type: string
    Region:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        country_code:
          type: string
        iata:
          type: string
        type:
          type: string
    HotelInfoResponse:
      type: object
      properties:
        status:
          type: string
        error:
          type: string
          nullable: true
        data:
          $ref: '#/components/schemas/HotelInfoData'
    HotelInfoData:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        address:
          type: string
        latitude:
          type: number
        longitude:
          type: number
        star_rating:
          type: integer
        kind:
          type: string
        images:
          type: array
          items:
            type: string
        region:
          $ref: '#/components/schemas/Region'
        is_closed:
          type: boolean
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication. The username is the API key id and the password is the API key (uuid). Both are issued per contract for the test (sandbox) and production environments.