Hotel master data · internal platform

One master record
for every hotel you sell.

Hotel Dossier pulls hotel content from GIATA, Vervotech and Gimmonix — plus manual entry — into a single company master, maps every record to 44 supplier IDs with AI-adjudicated conflict checks, and keeps a full audit trail of who changed what, and why.

Source

Feeds + manual

GIATA Vervotech Gimmonix Manual

Master

5.56M records

Map

3-provider + AI

Distribute

44 suppliers

5,557,307

hotels in the master

91.7%

mapping coverage

5,097,700

supplier-ID mappings

44

distribution suppliers

01 How it works

Feed to front desk, in four moves.

01

Ingest the master

Weekly scheduled downloads pull the full hotel universe from GIATA, Vervotech and Gimmonix — added, updated and deleted deltas applied per run. Hotels can also be added by hand through the web UI when a partner property isn't in any feed yet.

GIATA Vervotech Gimmonix Manual
02

Map to supplier IDs

Each Dossier ID is linked to supplier hotel codes using the providers' own mapping downloads. Every pairing is stored in a global registry with its source, the date it was added and a full history — when a provider withdraws a pairing, the record stays, flagged.

2183407 ↔ EXP-30177 · source: Gimmonix
03

Let AI settle disagreements

When two providers map the same supplier code to different properties, a conflict is raised. The AI engine weighs name similarity, geo distance, star category and address evidence, then recommends: keep the priority provider's pairing, adopt the other code, or remove the mapping.

Same hotel · 95% Different · 90%
04

Distribute with confidence

Mapped hotels flow to 44 suppliers — distribution platforms and independents alike — with per-supplier deltas, environment-scoped flow rules and image governance. Every change — feed, AI or human — lands in the hotel's audit trail.

Full Inventory · Production · Staging · Sandbox · Developers

02 Sources

Three equal feeds and a web form. One master.

No vendor is hard-coded as primary — an admin sets the vendor priority, and rank 1's pairings win disagreements by default. Every record in the master carries its provenance — which provider run brought it in, or which approved request created it — shown on the hotel page and in the audit trail.

GIATA Mon 02:00 UTC

Global coverage

Weekly full refresh with deltas. 5.56M hotels, 11 runs recorded, automatic retry on failure.

Vervotech Wed 01:30 UTC

Global coverage

3.15M hotels on a weekly refresh — its pairings and content stand on equal footing with the other feeds.

Gimmonix Wed 01:30 UTC

Global · strong APAC

2.41M hotels with deep APAC coverage, plus its own pairings for the mapping layer.

Manual HD-###### IDs

Web entry

Any team member can propose a hotel from the UI. It only enters the master after maker–checker approval.

03 The master record

Everything worth knowing about a hotel, on one record.

Each of the 5.56M master records is more than a name and a code. Identity, contacts, location, media, mappings, provenance and history travel together — and every sellable room product hangs off its hotel record with its own codes and detail — so when the record flows to 44 suppliers, the context flows with it.

The Surin Phuket

118 Moo 3, Choeng Thale, Thalang, Phuket 83110, Thailand · ★★★★★

Active
HD-2183407 GIATA Vervotech Gimmonix
Coordinates
7.9751° N · 98.2796° E
Supplier codes
EXP-30177 · BK-402188 + 30 more
Room types
108 rooms & suites · 33–108 m² · sleeps 1–6
Contacts
+66 76 316 400 · reservations@thesurinphuket.com
Media
412 photos · 9 room IDs · 3 videos
Documents
Factsheet · floor plan · brochure
Added by
GDL-2026-W11 · GIATA feed
History
12 events — feed, AI, human

last event 2026-08-19 — mapping conflict CONF-2026-0031 raised · AI Engine

Sample records modelled on publicly listed details of a real 5★ Phuket beach resort and its published room lineup, shown for representation only.

The Surin Phuket — beachfront cottages at dusk

Identity, contacts & status

Name, address, star category and a lifecycle state — plus phones and emails, each tagged with its source. Dead contacts stay flagged inactive.

+66 76 316 400 · reservations@thesurinphuket.com · via GIATA feed

Pansea Beach, Choeng Thale — the hotel's location

Location & geo

City, country and coordinates, cross-checked across providers — geo distance is one of the four signals the AI weighs when feeds disagree.

7.9751° N · 98.2796° E · 3 providers agree within 40 m

One Bedroom Hillside Cottage — 67 m² room product

Room-level detail & media

Each room product carries size, occupancy, bed setup, view, smoking policy and floor — plus photos per room ID with source vendor and enable/disable history.

PR-2183407-R04 · 67 m² · sleeps 3 · 14 photos · 3 vendors

Resort exterior distributed across supplier channels

Supplier mappings

Every linked supplier code, which provider contributed the pairing, whether it's live on that channel right now — and if not, the reason why.

EXP-30177 · Gimmonix · live since 2026-05-07

Garden wing — provenance tracked per feed run

Provenance

Which feed run brought the record in — or which approved manual request created it — with the providers that cross-confirmed it listed on the record.

GDL-2026-W11 · GIATA feed · 2 cross-confirmations

Evening view — every change written to the audit trail

Full audit trail

Feed, AI and human changes appended in order, attributed to a source — deactivations and reactivations included, with maker–checker approvals.

2026-08-19 · AI Engine · conflict CONF-2026-0031 raised

04 Mapping

When providers disagree, AI adjudicates.

All three providers can match the same hotel — and occasionally they map a supplier code to different properties. Hotel Dossier never silently picks one. A conflict is raised, the AI engine checks the evidence, and a human applies the verdict: keep the priority provider's pairing, adopt the other code, or remove the mapping.

  • Global registry of every Dossier ID ↔ supplier ID pairing, with the source written to the record
  • Full per-pairing history — added, cross-confirmed, withdrawn — kept even after unmapping
  • Verdicts and resolutions are logged to the hotel's audit trail under the AI Engine

The Surin Phuket · Expedia

CONF-2026-0031 · detected 2026-08-19 04:20

Conflict
GIATA EXP-30177 ≠ Vervotech EXP-88196

AI verdict

Same hotel · 92% confidence

Name similarity

96%

Geo distance

147 m apart

Star category

Identical

Address

Street match

Both codes point to the same physical property — keep the mapping and align to the priority provider's code.

Global mapping registry

5,097,700 mappings · source + history on every row

Dossier ID Supplier code Source Added Status
2183407 EXP-30177 Gimmonix 2026-05-07 Active
2183407 BK-402188 GIATA 2026-03-26 Active
2183407 TRA-880451 Gimmonix 2026-05-25 Unmapped by Gimmonix
2183407 AGO-551204 GIATA 2026-05-02 Active

05 Distribution

44 shelves to sell on — platforms and independents.

The same mapped master feeds two kinds of partners. Distribution platforms like Juniper, TravelgateX and Netstorming carry your content onward to their own buyer networks, while independent suppliers — Agoda, Expedia, Booking.com, Ctrip.com and 40 more — pull mapped IDs directly, each on its own schedule with its own deltas.

44

suppliers supported

3

distribution platforms

41

independent suppliers

2

in onboarding

Distribution platforms

  • Juniper

    EMEA distribution platform — one connection carries the master to its buyer network

  • TravelgateX

    Global connectivity marketplace — mapped IDs flow through its seller network

  • Netstorming

    European switch — distributes mapped content to tour operators and OTAs

Independent suppliers

Agoda Expedia Booking.com Ctrip.com Trip.com Hotels.com Hotelbeds WebBeds HRS Amadeus Sabre Travelport + 29 more

06 Inventory API

Every release flow, callable.

Each general-release flow exposes its filtered inventory over a REST API — full pulls, single records, and 15-minute deltas. Responses carry the full record: supplier codes, media counts, room-level attributes, and contact details with their source and active status — dead emails arrive flagged inactive, never silently dropped.

  • Cursor pagination, 600 requests/min per key, deltas retained for 30 days
  • Flow-rule read and Excel-export endpoints — integrations can explain why a hotel is in or out
  • Sandbox and Developers environments carry their own rule-shaped slices for safe testing

Inventory API — Production environment

hds_prod_R48••••6yUe
GET /v1/production/hotels?updated_since=2026-08-18
GET /v1/production/hotels/2183407
GET /v1/production/hotels/delta?since=2026-08-18T04:00Z
GET /v1/production/flow-rules
POST /v1/exports/flow-rules → Excel by backend mail
{
              "dossierId": "2183407",
              "name": "The Surin Phuket",
              "contacts": [
                { "kind": "email", "label": "Reservations",
                  "value": "reservations@thesurinphuket.com",
                  "source": "GIATA", "active": true },
                { "kind": "phone", "label": "Front desk",
                  "value": "+66 76 316 400",
                  "source": "Booking.com", "active": false }
              ],
              "roomTypes": [
                { "roomId": "one-bedroom-hillside-cottage-4201",
                  "sizeM2": 67, "maxOccupancy": 3 }
              ]
              }

200 OK · 84 ms · every record carries contacts and room-level detail

An environment per release flow

Full Inventory, Production, Staging, Sandbox and Developers are each their own API environment — /v1/production returns exactly what the Production flow rules allow, nothing more.

Scoped API keys

Keys are issued per team and scoped to one flow — a staging key never sees production data, and the dummy test hotel only exists where its rule puts it.

Rule exports by backend mail

POST /v1/exports/flow-rules queues an Excel workbook of every flow's rule set and mails it to the caller — the same export available on the Flow Rules page.

07 Control

Built-in governance, not bolted on.

Master data is only trustworthy if the process around it is. Hotel Dossier ships the guardrails with the data.

Maker–checker approvals

Deactivations, reactivations and manual hotel entries all require a second pair of eyes. Nobody approves their own request — ops roles can't approve at all.

Alerts that find you

Failed downloads, mapping conflicts and AI flags land in one notification center with unread badges and deep links straight to the fix.

Schedules you can edit

Every feed and supplier pull runs on a cron-style schedule the team can retune — GIATA Mondays, Vervotech and Gimmonix Wednesdays, mapping Tuesdays.

Image governance

Every photo carries a source feed, per-room IDs and an enable/disable switch with history. Click any thumbnail to see where it came from.

General release

Full Inventory, Production, Staging, Sandbox and Developers each filter the master their own way — every hotel is checked against every flow's rules, and the rule set exports to Excel.

Supplier onboarding

Add a vendor with credentials, run a credential check across site variations, and its downloads join the schedule — failures raise alerts automatically.

08 Security & Vault

Secrets live in the vault — never in the clear.

Vendor credentials, variant secrets and user passwords live in Dossier Vault — an envelope-encrypted store where plaintext never exists at rest, in transit or in any log.

  • AES-256-GCM with a unique data key per entry, envelope-encrypted under an HSM-backed KMS master key
  • Master key rotates every 90 days — data keys re-wrap in place, with zero downtime and no re-entry of credentials
  • TLS 1.3 in transit; decryption happens in memory only, and every vault open is written to the audit trail
  • Only the last 4 characters of a key are ever shown again — to anyone, including admins

AES-256

GCM authenticated encryption

90-day

master-key rotation

TLS 1.3

encryption in transit

last 4

characters ever displayed

Dossier Vault — credential entry

sealed
entry supplier/hotelbeds/usa · api key
cipher AES-256-GCM · 96-bit nonce · per-entry data key
ciphertext gcm:v7:9f3a1c…8be02d · sealed · 212 bytes
data key dk_07 — wrapped by KMS master, never stored raw
master key kms/dossier-vault · HSM-backed · 90-day rotation
last opened A. Rao · 2026-08-20 14:02 UTC · audit-logged

Plaintext never touches disk, logs or analytics — only the last 4 characters are ever shown again

09 Scope

What Hotel Dossier is — and what it deliberately isn't.

In scope

  • ✓ Company hotel master (5.56M records) sourced from GIATA, Vervotech, Gimmonix and approved manual entries
  • ✓ Dossier ID ↔ supplier ID mapping registry for 44 suppliers — platforms and independents — with source, status and full history
  • ✓ AI adjudication of cross-provider mapping conflicts with human-applied verdicts
  • ✓ Scheduled master & mapping downloads with run health, deltas and failure alerts
  • ✓ Room-level image library with provenance, room IDs and enable/disable governance
  • ✓ Maker–checker approvals, role scopes, per-environment flow rules and supplier onboarding
  • ✓ Inventory API per release environment — full pulls and deltas returning contacts and room-level detail, plus flow-rule exports to Excel by backend mail

Out of scope

  • — Rates, availability and inventory — this is master data, not a booking engine
  • — Guest reservations, payments or channel-management connectivity
  • — Content authored by the hotel chain itself (descriptions stay provider-sourced)
  • — Supplier commercial terms, contracts or commission logic