For hotels · Front desk, concierge, airport shuttle

Know the guest is late before the guest calls.

A reservation has an arrival time on it that was typed weeks ago. The flight behind it moves on the day, and the guest finds out at the gate, not the desk. Watching the flight turns a no-show at midnight into a held room and a shuttle that leaves when the aircraft lands.

The two evenings that cost a review

The room released at midnight

The no-show rule ran. The guest landed at 00:40 after a three-hour delay, took a taxi, and arrived to a desk that had given the room away. Everything after that is a refund and a review.

The shuttle that left on time

The van went to the airport for the 21:10 arrival. The aircraft landed at 21:55. The driver waited, the other guests on the van waited, and the next run was late as well.

Both are fixed by one fact arriving at the desk on time: the guest’s flight is late, by this much, landing at this time. A subscription per arrival delivers it.

How to wire it

Five steps, one of which is a form field.

01

Capture the flight number at booking

A single optional field on the booking form and in the pre-arrival email: airline, flight number, date. Frame it as a service (“so we can hold your room if your flight is late”), and guests who fly in fill it in, which is the point: they are the ones who arrive late.

02

Subscribe with the airport as the selector

When a reservation has a flight, subscribe to it on the arrival date with destination set to the airport that serves the hotel, so a number that flies twice a day resolves to the right leg. Set the delay threshold to thirty minutes: the desk does not act on ten.

POST /v1/subscriptions
x-api-key: $FLIGHTBYTE_KEY
idempotency-key: pms:RES-20931

{
  "carrier": "TK",
  "flightNumber": "1848",
  "date": "2026-09-12",
  "destination": "IST",
  "webhookUrl": "https://ops.yourhotel.com/hooks/flights",
  "secret": "$FLIGHTBYTE_WEBHOOK_SECRET",
  "delayThresholdMinutes": 30,
  "events": [
    "delay.increased", "arrival.estimated.changed", "flight.cancelled",
    "flight.diverted", "flight.reinstated", "status.changed",
    "flight.arrived", "arrival.baggage.changed"
  ],
  "metadata": { "reservation": "RES-20931", "room": "412" }
}
03

Put the fact where the desk looks

The receiver verifies the signature, answers 204, and writes one line where the evening shift will see it: a note on the reservation, a message in the desk’s channel, or both. The wording is the whole product, so write it for a person at 23:00 with a queue.

⏱ Guest delayed · Room 412
RES-20931 · A. Guest · 2 nights
TK1848 Athens → Istanbul
Landing 23:40 · 55 min late
Hold the room. Shuttle: leave at 23:55.
04

Time the shuttle off the landing, not the timetable

status.changed to landed is the signal the van has been waiting for. From a large airport, count twenty minutes to the gate and the belt, then the walk; from a small one, ten. When arrival.baggage.changed arrives, the guest is fifteen minutes from the kerb.

05

Let it end

FlightByte completes the subscription once the aircraft is at the gate and the belt window has passed; a cancelled reservation deletes it. A flight added to a reservation more than a week out waits as pending and activates by itself when the airline publishes it.

The events a hotel needs

Eight of the 23. Gate and terminal changes are left out: the guest is coming to you, not to a gate.

Change types for a hotel integration
EventWhy it is on the list
delay.increasedThe guest is later than the reservation says. Threshold at 30 minutes; the desk does not care about ten.
arrival.estimated.changedThe landing moved. Re-time the shuttle and the late check-in note.
flight.cancelledThe guest may not arrive today. Hold the room, send the message, do not release at midnight.
flight.divertedThe guest is landing at another airport. Someone should call.
flight.reinstatedA cancelled flight came back. So does the arrival.
status.changedLanded: the shuttle leaves in twenty minutes, not on the scheduled time.
flight.arrivedAt the gate. Start the clock for the pickup.
arrival.baggage.changedBags on a belt. The guest is fifteen minutes from the kerb.

An arrival, hour by hour

Timeline of one reservation
WhenWhat happensWho does it
Booking made, 5 days outFlight number captured. Subscription created; flight not published yet, so it sits as pending.Your backend
2 days outFlight appears; subscription activates. subscription.activated delivered.FlightByte
Day of, 20:15Departure slips 55 minutes. delay.increased crosses the 30-minute threshold.FlightByte → desk
20:16Note on the reservation: landing 23:40, hold the room, shuttle at 23:55.Your backend
23:38Aircraft lands. status.changed to landed.FlightByte → shuttle
23:52At the gate; belt 7 published. flight.arrived, arrival.baggage.changed.FlightByte → shuttle
00:37Belt window passes. subscription.completed.FlightByte

What it costs a hotel

One arrival with a flight number is one watched flight. The plan follows how many guests fly in.

Up to 100 arrivals / month
Hobby, $9

A boutique property. Less than one late-night refund.

Up to 500 arrivals / month
Starter, $19

A busy hotel where fifteen or so arrivals a day come with a flight.

Up to 2,000 arrivals / month
Growth, $49

A group of properties on one integration; extra arrivals at three cents each.

Full plans on the pricing page.

Questions hotel teams ask

Guests do not give us their flight number.
Ask for it in the booking form and again in the pre-arrival email, framed as "so we can hold your room if your flight is late". Coverage of a third of arrivals removes most of the midnight no-shows, because those are exactly the guests who fly in.
Do we need a developer for this?
For an afternoon. The receiver is thirty lines and the examples come in Node, Python and Go. No-code tools can receive the webhook, but verifying the signature needs a code step, and a hotel endpoint that accepts unsigned "guest is late" messages is a hotel that will one day be told a guest is late by someone who is not us.
Does this integrate with our PMS?
FlightByte does not talk to property management systems. Your receiver does whatever your PMS allows: write a note on the reservation through its API, or post to the desk's Slack or WhatsApp group when it does not have one. The message matters more than where it lands.
We already offer late check-in. Why watch the flight?
Late check-in is a policy; a delayed flight is a fact the guest has not told you yet. The watch is what turns "we would have held the room" into "we held the room, and the shuttle was there when you landed".

Other uses

Get started

Hold the room on facts.

A key, a form field, one subscription per arrival. The desk gets a sentence; the guest gets a room.

A free key in a minute, no card. On a paid plan? Request a key