---
title: "Get hotel detail"
method: GET
path: "/v1/hotels/{hotelId}"
tags: ["Hotels"]
---

# Get hotel detail

`GET /v1/hotels/{hotelId}`

Returns static hotel detail (name, stars, address, images, amenities, reviews). Use ?view=detail for the richer UI projection.

## Path parameters

- `hotelId` integer, required

## Query parameters

- `locale` string
- `view` 'default' | 'detail'

## Response `200`

Hotel detail (agent default) or the detail projection.

- object
  - `hotelId` number, required — The hotel's numeric id.
  - `name` string, required — Hotel display name.
  - `star` number — Star rating (1-5), when classified.
  - `review` object — Aggregate guest review score and count.
    - `score` number, required — Aggregate guest review score (0-10).
    - `count` number, required — Number of guest reviews behind the score.
  - `location` object, required — Where the hotel is: coordinates and place names.
    - `lat` number — Latitude in decimal degrees.
    - `lng` number — Longitude in decimal degrees.
    - `address` string — Street address, when available.
    - `cityName` string — City name.
    - `districtName` string — District or neighbourhood name.
    - `countryName` string — Country name.
  - `propertyType` string — Property type, e.g. Hotel, Apartment.
  - `brandName` string — Brand name, when the hotel belongs to one.
  - `chainName` string — Parent chain name, when known.
  - `description` string — Editorial description of the hotel.
  - `amenities` string[] — Hotel-level amenity names.
  - `images` string[] — Hotel image URLs.
  - `distanceToCityCentre` number — Kilometres from the city's place-record coordinate (the point GET /v1/places reports for the city). Where a city record covers an island, a city-state or a whole administrative area, that point can sit far from the commercial centre. For a specific landmark, compute distance from location.lat/lng. Present when upstream reports it.
  - `distanceToNearestAirport` number — Distance to the nearest airport, as the upstream reports it (unit not normalized here). Absent when upstream omits it.
  - `categorizedImages` object[] — view=detail only – hotel images grouped by category (e.g. Rooms, Pool). Absent when the content service supplies none.
    - `category` string, required — Image category name, e.g. Rooms, Pool.
    - `images` object[], required — Images in this category.
      - `url` string, required — Image URL.
      - `altText` string — Alt text for the image, when provided.
  - `reviewHighlights` object[] — view=detail only – short editorial review snippets with a sentiment tag. Absent when none are published.
    - `sentiment` string — Sentiment tag for the snippet, e.g. positive, negative.
    - `text` string, required — The review snippet text.
  - `highlights` object[] — Editorial badges from the hotel content service.
    - `text` string, required — Badge label.
    - `subtext` string — Badge supporting text, when present.

## Other responses

- `400` — Invalid request parameters.
- `401` — Missing or invalid bearer token.
- `404` — Unknown hotel.
- `429` — Rate limit exceeded; retry after the `Retry-After` seconds.
- `502` — The upstream hotels service returned an invalid response.
- `503` — The hotels service is unavailable (`upstream_unavailable`) or rate-limited upstream (`upstream_rate_limited`); retry after the `Retry-After` seconds.

---

[API](https://skmtc.net/wego/apis/wego-api.md) · [All operations](https://skmtc.net/wego/apis/wego-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/wego/wego-api/revisions/e5d7af502419/schema)
