> ## Documentation Index
> Fetch the complete documentation index at: https://docs.valpashotels.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Batch fetch hotels by GIATA IDs

> Returns multiple hotels matching the provided GIATA MultiCodes identifiers. Maximum 1000 IDs per request. IDs with no matching hotel are omitted from the response. Requires the `giata` scope.



## OpenAPI

````yaml /openapi.json post /hotels/giata/batch
openapi: 3.1.0
info:
  title: Valpas Public API
  description: Hotel data for external developers
  version: 1.0.0
servers:
  - url: https://connect.valpashotels.com
    description: Production
security:
  - ApiKeyAuth: []
paths:
  /hotels/giata/batch:
    post:
      summary: Batch fetch hotels by GIATA IDs
      description: >-
        Returns multiple hotels matching the provided GIATA MultiCodes
        identifiers. Maximum 1000 IDs per request. IDs with no matching hotel
        are omitted from the response. Requires the `giata` scope.
      operationId: batchGetHotelsByGiataIds
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - giata_ids
              properties:
                giata_ids:
                  type: array
                  items:
                    type: integer
                  description: >-
                    Array of GIATA IDs to look up (max 1000). Integer-valued
                    strings are also accepted.
                  example:
                    - 99999999
                    - 99999998
      responses:
        '200':
          description: List of matching hotels
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Hotel'
              example:
                - id: 00391351-e308-4aae-8b66-d868ebb37ff3
                  name: Paris Marriott Rive Gauche Hotel & Conference Center
                  description: >-
                    Surrounded by diverse attractions, Paris Marriott Rive
                    Gauche Hotel is a stylish haven in an iconic travel
                    destination.
                  address: 17 Boulevard Saint Jacques, 75014 Paris France
                  postal_code: '75014'
                  city: Paris
                  country_code: FR
                  latitude: 48.831917
                  longitude: 2.340172
                  language: null
                  star_rating: null
                  room_count: null
                  website_url: >-
                    https://www.marriott.com/en-us/hotels/parst-paris-marriott-rive-gauche-hotel-and-conference-center/overview/
                  email: null
                  images:
                    - url: >-
                        https://misxceaqoppcaiaitpkj.supabase.co/storage/v1/object/public/hotel-images/00391351-e308-4aae-8b66-d868ebb37ff3/1.jpg
                      caption: Great Room Lobby
                    - url: >-
                        https://misxceaqoppcaiaitpkj.supabase.co/storage/v1/object/public/hotel-images/00391351-e308-4aae-8b66-d868ebb37ff3/2.jpg
                      caption: Palyma Bar
                    - url: >-
                        https://misxceaqoppcaiaitpkj.supabase.co/storage/v1/object/public/hotel-images/00391351-e308-4aae-8b66-d868ebb37ff3/3.jpg
                      caption: Brasserie Restaurant
                  certified: true
                  certified_from: null
                  certified_until: null
                  certification_url: https://valpashotels.com
                  netstorming_id: '45373'
                  giata_id: 99999999
        '400':
          description: Invalid request body
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Request body must include a `giata_ids` array
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Unauthorized
        '403':
          description: API key lacks the `giata` scope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Forbidden
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Internal server error
components:
  schemas:
    Hotel:
      type: object
      required:
        - id
        - name
        - description
        - postal_code
        - city
        - country_code
        - language
        - star_rating
        - website_url
        - email
        - images
        - certified
        - certified_from
        - certified_until
        - certification_url
        - netstorming_id
        - giata_id
      properties:
        id:
          type: string
          description: Unique hotel identifier
          example: 00391351-e308-4aae-8b66-d868ebb37ff3
        name:
          type: string
          description: Hotel name
          example: Grand Helsinki Hotel
        description:
          type:
            - string
            - 'null'
          description: Marketing description of the hotel (null if not available)
          example: >-
            A refined stay in the heart of Helsinki, steps from the central
            railway station.
        address:
          type:
            - string
            - 'null'
          description: Street address of the hotel
          example: Mannerheimintie 1, 00100 Helsinki
        postal_code:
          type:
            - string
            - 'null'
          description: Postal code (null if not available)
          example: '00100'
        city:
          type:
            - string
            - 'null'
          description: City name (null if not available)
          example: Helsinki
        country_code:
          type:
            - string
            - 'null'
          description: Country code (ISO 3166-1 alpha-2, null if not available)
          example: FI
        latitude:
          type:
            - number
            - 'null'
          description: Geographic latitude in decimal degrees
          example: 60.1699
        longitude:
          type:
            - number
            - 'null'
          description: Geographic longitude in decimal degrees
          example: 24.9384
        language:
          type:
            - string
            - 'null'
          description: Primary language at the hotel (ISO 639-1 code)
          example: fi
        star_rating:
          type:
            - number
            - 'null'
          description: Official hotel star rating, e.g. 4 or 4.5 (null if not available)
          example: 4.5
        room_count:
          type:
            - integer
            - 'null'
          description: Total number of rooms (null if not configured)
          example: 85
        website_url:
          type:
            - string
            - 'null'
          format: uri
          description: Hotel website URL (null if not available)
          example: https://www.grandhelsinkihotel.com
        email:
          type:
            - string
            - 'null'
          format: email
          description: Hotel reception email address (null if not available)
          example: reception@grandhelsinkihotel.com
        images:
          type: array
          description: >-
            Hotel photos (up to 3), served from the Valpas CDN. Empty array if
            no photos are available.
          items:
            type: object
            required:
              - url
              - caption
            properties:
              url:
                type: string
                format: uri
                description: Publicly accessible image URL
              caption:
                type:
                  - string
                  - 'null'
                description: Short image caption (null if not available)
          example:
            - url: >-
                https://misxceaqoppcaiaitpkj.supabase.co/storage/v1/object/public/hotel-images/00391351-e308-4aae-8b66-d868ebb37ff3/1.jpg
              caption: Great Room Lobby
        certified:
          type: boolean
          description: Whether the hotel holds a current Valpas certification
          example: true
        certified_from:
          type:
            - string
            - 'null'
          format: date
          description: >-
            Date when the hotel's Valpas certification becomes valid
            (YYYY-MM-DD)
          example: '2026-01-15'
        certified_until:
          type:
            - string
            - 'null'
          format: date
          description: Date when the hotel's Valpas certification expires (YYYY-MM-DD)
          example: '2026-03-30'
        certification_url:
          type:
            - string
            - 'null'
          format: uri
          description: >-
            Link target for the Valpas certification badge (null when the hotel
            is not certified)
          example: https://valpashotels.com
        netstorming_id:
          type:
            - string
            - 'null'
          description: Netstorming integration identifier
          example: '45373'
        giata_id:
          type:
            - integer
            - 'null'
          description: >-
            GIATA MultiCodes property identifier (null if the hotel is not
            mapped to a GIATA code, or if your API key lacks the `giata` scope)
          example: 99999999
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
          description: Human-readable error message
          example: Unauthorized
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````