Skip to main content

Get hotels whose content changed since an instant

POST 

/content/hotels/v1/hotels/changed-since

Incremental content feed. Returns the same merged payload as by-base-codes, restricted to hotels whose content actually changed after since, plus a marker of what changed (hotel, media, descriptions, rooms).

What "changed" means here. The feed reads a per-hotel content fingerprint, not a row timestamp. Every ingestion run rewrites the hotel rows whether or not a field moved, so a feed keyed on the row timestamp would return the whole catalogue after each sync. Only a hotel whose fingerprint differs appears here.

How to follow it. Call with since set to the last checkpoint you stored. While the response carries a cursor, call again passing it back to get the next page; the last page has no cursor. Store checkpointAt as the next since. Changes are ordered oldest first, so an interrupted run resumes without gaps.

Hotels that changed but have no base code yet are skipped and reported in warnings (WARN_UNMAPPED_SKIPPED); they arrive in a later page once mapping catches up.

Removals. Properties a supplier stopped sending are soft-deleted (hotels.deleted_at) and appear in deleted[], paged independently with deletedCursor. Omit parts to receive both live changes and removals; pass parts: ["deleted"] for removals only.

First call per provider. Fingerprints are computed while loading, so a provider that has not been synced since the feed was enabled has none stored yet. Its first sync after that reports its whole catalogue once, and every later one reports only real changes. Plan the first run as a full read; a provider synced fortnightly reaches steady state after at most one cycle.

Request

Responses

Successful response