Glossary
The terms used in these docs and in the API's field names, in plain English. Where the API uses a different word from the app, both are given.
In short
Plain-English meanings of the words used across Beacon's APIs, such as run, reference, credit and LOS. Look a word up when you meet it. You don't need to read this page from top to bottom.
Rate Capture
- Report
- A named list of properties, with one currency and one stay length. The same report you build in the app.
- Run
- One capture of a report: every property, for 365 check-in dates starting on today's date in the run's time zone. Each run keeps its own rows; a later run doesn't replace them.
- Run status,
status,complete -
Where a run has got to:
queued(accepted and charged, waiting to start),runningorcompleted.completeistrueonce the run has completed and no more rows will arrive, unless you retry its failed checks. - Reference (
reference) - Your own label for a run, such as a client or market name. It doesn't have to be unique, so the same reference can be used for every run of one list, however often you run it. The Lighthouse-compatible API calls it a subscription.
- Property
-
Any accommodation in a report: a hotel, aparthotel, serviced apartment, hostel or guest house. Some field names, such as
hotelId, say hotel; they mean the property. - Check
-
One property on one check-in date. A run of 10 properties makes 3,650 checks. Its counters
(
done,soldOut,failed,past,restricted,remaining) count checks. - Row
- One room and rate on one check-in date, as captured. A property and date with no rooms has one placeholder row instead.
- Rate
-
One price picked for a property and date (or per room type), using the filters you set. When none qualifies, the record says why in
message. - Credit
- What a run costs: one credit per property. A credit costs £1 in the app. Credits are taken when the run is accepted.
Stay and rate terms
- Stay length,
nights, LOS,los - How many nights the stay is. LOS is short for length of stay. Prices are always for the whole stay.
- Check-in date,
checkIn,arrivalDate - The night the stay starts. The Lighthouse-compatible API calls it the arrival date.
- Availability
-
Whether a date had rooms:
available, or on a placeholder rowsold out,not fetched(the check failed),past,not fetched yet(still to come), ormin stay N nights(the property needs a stay of at least N nights). - BAR,
bar -
Short for best available rate. With
bar=true, only the public flexible rate counts: free cancellation, and not a members-only or partner offer. - Best flex,
bestFlex,best_flex -
The chosen rate can be cancelled for free, and no cheaper free-cancellation rate exists for that property and date among the rates that pass the
persons, meal type andbarfilters. AroomTypefilter doesn't narrow this comparison. - Flexibility,
flexibility -
How freely a rate can be cancelled or moved:
flexible,semi_flexibleornon_flexible. It is empty when the site gives no way to tell. It is separate fromfreeCancellationandnonRefundable, which it doesn't change. - Cancellation deadline,
cancellationDeadline,cancellationDeadlineTime -
The date free cancellation ends (
YYYY-MM-DD), and the time of day on that date (HH:MM) when the site gives one. A Booking.com deadline with no stated time is00:00of that day, so free cancellation ends when that day starts. Both are empty for rates with no free cancellation or no stated deadline. - Reschedulable,
reschedulable -
truewhen the booking can be moved to other dates andfalsewhen it can't, including when the site doesn't offer rescheduling. It is empty only where there is no rate. - Property profile,
profile - What the site says about the hotel, such as its star rating and review score. It is kept per property, so it is the same in every report that has the property, and it is empty until the property has been captured.
- Cheapest of the day,
cheapestOfDay - Marks the cheapest rate of that property and date.
- Occupancy,
occupancy,persons,maxPersons,maxOccupancy - How many guests a room takes. The
personsfilter keeps rooms for at least that many guests. - Meal type,
mealType -
A filter and a field. The names are
any(filter only),room_only,breakfast,half_board,full_board,all_inclusive,breakfast_lunch,lunch_dinner,dinnerandlunch. A filter keeps only rates of exactly that meal plan. The legacy Lighthouse codes0to5still work as filters. Each rate carries its ownmealType;breakfastIncludedis a separate flag. - Partner offer,
partnerOffer - Marks a rate the site presents as a partner's offer rather than the property's own.
- Undercut,
undercutsDirect,undercutBy - A partner offer that comes in below the property's own cheapest rate.
undercutByis the difference in price. - Genius discount and members-only price,
geniusPrice -
Says a Genius member discount applies to a Booking.com rate. Where the rate has a members-only price,
priceis that member price andoriginalPricethe public price. Otherwisepriceis the public price. - Excluded row,
excludedReason -
Why a row is left out of rate comparisons: a partner's offer, or a rate with no price. It is
nullon normal rows. Rates skip rows that have one. - OTA,
ota -
Short for online travel agency. In the API,
otais a filter on the rates endpoints that says which site's rates to use:bookingdotcom(the default),travelodgeorpremierinn. A property on another site givesgeneral.missing. Where a property is captured from is its source. - Source,
source -
The site a property is on, in reports and result rows:
booking,travelodgeorpremierinn. Theotafilter calls the firstbookingdotcom. See property URLs. - Competitor set, compset,
compsetIds -
A group of competitors. On Beacon there is one competitor set,
1"All". In/hotels, its competitors are every property in the run after the first. As a rates filter,compsetIds=1means every property in the run, your own included. - Subscription,
subscriptionId -
Lighthouse's word for one property and its competitors. On Beacon it is a run reference:
subscriptionIdreads the newest completed run with that reference whose rows still exist and that the key can see.
Technical terms
- Endpoint
- One address in the API, such as
GET /v1/runs. - Scope
-
What a key may do:
read(Read in the app) allows everyGETand all of the Lighthouse-compatible API;read_write(Read and write) also allowsPOSTandDELETE. - Visibility
- Which reports and runs a key can see:
own(Its own runs) orcompany(All company runs). - IP allow-list, CIDR range
- The addresses a key may be used from. A range like
10.0.0.0/8covers every address that starts with the same fixed part. - Idempotency key,
Idempotency-Key -
A label you choose for one write, sent as a header. If the same write arrives again with the same key, Beacon doesn't do it twice: it returns the
first answer if it kept it, or
409 idempotency_in_progresswhile the first is still being handled. Keys are forgotten after 24 hours. See sending a write again. - Cursor,
nextCursor -
A bookmark for the next page of a list. Pass it back unchanged to get the next page. It is
nullon the last page. See lists and pages. - ndjson
- Newline-delimited JSON: one JSON object on each line. It lets you read a whole run in one request, line by line. See a whole run in one request.
- ETag,
If-None-Match, 304 -
A fingerprint of the rates of a completed run, from
GET /v1/runs/{id}/rates. Send it back asIf-None-Match. While nothing has changed, the answer is304 Not Modifiedwith no body, so you keep what you have. See caching rates. - Polling
- Asking for a run's status every so often until it finishes. Ask no more than once a minute.
- OpenAPI
- A standard, machine-readable description of an API. Tools can turn the Rate Capture API and Lighthouse-compatible files into client code or Postman collections.