In plain words
You don't need this page to build rules. It is the fine print behind . A booking counts once on each night it covers, dated the day it was made, and only in the room types a rule measures. Expected is the average of what up to eight received over the same stretch, with the highest and lowest set aside. Small gaps read as Normal on purpose, so a rule stays quiet on small numbers.
Start with Booking speed if you have not read it. It covers what you choose in the builder, the seven levels and which one to pick.
What is counted
For each night in the window, MAYA counts the bookings made for that night during the stretch your rule measures. Eight things set what goes into the count.
One booking counts once. A booking is one reservation for one night, however many rooms it holds. A 20-room reservation is 20 booked rooms for sellable occupancy and one booking for .
It counts as one booking on each night it is booked for, and as one booking again whenever one of those nights is later used as a similar night for another date. If a room is added to that reservation a week later, it is still one booking, dated when it was first made, so the added room never reads as a new booking.
A group counts once. Rooms booked as separate reservations count as separate bookings, with two exceptions: a group your property system links, and bookings made together (next, and only if you turn it on). On Cloudbeds, the reservations picked up from one allotment block are one booking, dated when the first of them was made. So are the reservations attached to one group profile, when Cloudbeds sends the group's code with them. On ThinkReservations, the reservations in one group are one booking, and so are the reservations whose rooms come from one group block. Here MAYA goes by your system's own link. It never reads the block itself or the rooms it holds, and never keeps the group's code, id or name. Groups count this way once MAYA has read your booking history with the links, so count their groups the same way; until then each reservation is its own booking (read Cloudbeds or ThinkReservations). When a group was counted once in the days a rule counted, the change log says so: "10 reservations in one Cloudbeds group counted as one booking.", or "one Think Reservations group". A group whose first reservation came before those days isn't in the count at all, and isn't named. With Count a group as up to above 1, a group counts as up to that many bookings instead (below).
Bookings made together can count once too. When you turn on Settings, Bookings, Count bookings made together as one, 3 or more separate reservations for the same room type and the same dates made within 3 hours of each other count as one booking, dated when the first was made. It starts off on every property, because a rush of separate guests for one event can look the same: until you turn it on, each of those reservations is its own booking. Made together means all of them were made within 3 hours of each other, first to last, for stays of up to 30 nights, so separate bookings for the same night made further apart still count one by one. It goes by the time each booking was made, which MAYA reads from your property system with the booking, never by who made it. A reservation in a group your system links counts with that group instead. Bookings made together count this way once MAYA has read your booking history with those times, so similar past nights count them the same way. A property connected since then has that from its history import. If Settings shows "Starts once MAYA has re-read your booking history.", Get suggestions from my data re-reads it on Cloudbeds and ThinkReservations, and on Mews it fills in by itself. Until then each reservation is its own booking. Once they count as one, they stay one booking when some of them cancel, and one that joins them later, made within those 3 hours, is part of a booking that was already there. When bookings made together were counted once in the days a rule counted, the change log says so: "4 bookings made together for the same dates were counted as one." and occupancy still count every room. Settings has the setting.
Example: A team booked one room at a time
On Wednesday, September 30, someone books 10 Standard rooms at the Juniper Lodge for November 12 to 14, one reservation at a time, between 7:15 pm and 7:20 pm. Counted one by one, as they are while the setting is off, that is 10 bookings in a day for a night that usually gets almost none, and a rule for Surging in Past day would raise. With the setting on, they are bookings made together, so one booking, and the rule waits for real demand. Both nights still count 10 booked rooms for occupancy.
A group can count as up to a few bookings. Under Settings, Bookings, Advanced, Count a group as up to sets how many bookings a group counts as, from 1 to 10. It starts at 1: each group is one booking, as above. With 3, a group of 10 reservations counts as 3 bookings and a group of 2 as 2. MAYA takes the group's reservations in the order it first saw them (the one made earliest first when two arrived together): the first two count on their own and the rest as one more, dated when the earliest of the rest was made. So a third reservation that reaches MAYA after a rule acted is a new booking for that rule, as a separate reservation would be, and the ones after it add nothing more. It applies to the groups your property system links and to bookings made together alike, and only to booking speed. The change log then says "10 reservations in one Cloudbeds group counted as 3 bookings." or "4 bookings made together for the same dates were counted as 3."
The date is the booking date. A booking counts on the day your property system recorded it, not on the day of the stay. For a rule that raises, Past day counts bookings dated today, Past week today and the six days before it, and Past month today and the 29 days before it. "Today" is today on your property's own calendar, so a reading taken at 12:10 am has almost nothing in Past day yet. A rule that cuts counts whole days only, ending yesterday: Past day is yesterday, Past week the seven days up to yesterday. The similar nights are read over the same whole days.
Each night counts its own bookings. A three-night stay is one booking on each of its three nights, because each night is priced on its own. That is why one booking can turn up in the count for two different nights: it is a booking for both, not two bookings on one.
An extension keeps the booking's date. When a guest extends a stay, or a booking's dates are changed in your property system, the added nights belong to the same booking, dated when it was first made. They count as booked rooms for on the next read, but they are usually too old to count in Past day or Past week. This is the same in Cloudbeds, ThinkReservations and Mews. If the extra nights are booked as a new reservation instead, that is a new booking, dated the day it was made.
Only the room types the rule measures are counted. A rule that measures Standard and Deluxe counts bookings in those types and no others. A room type you have unticked as a room is never counted. Read Measure one set of room types, change another.
When a guest cancels, your property system stops reporting the booking and it leaves the count on the next read. It is not counted as a negative. Every booking counts the same whatever channel it came from: there is no way to count only direct bookings.
Cloudbeds reports each room of a booking on its own. MAYA groups the rooms back into one booking by the booking's reservation number, so a four-room booking is one booking. Reservations in one allotment block are one booking too (read above). Bookings with the status confirmed, checked in, checked out or "Confirmation Pending" count. Cancelled bookings and no-shows do not. The booking date is the creation date Cloudbeds reports.
ThinkReservations reports each room booking inside a reservation on its own. MAYA groups them back into one booking by the reservation, so a reservation with three rooms is one booking. Reservations in one group, or from one group block, are one booking too (read above). Every booking counts except cancelled bookings and no-shows. The booking date is the reservation's creation date, on your property's calendar.
A Mews reservation is one room, so each reservation is one booking, including each reservation in a group. Rooms booked at the same moment arrive as separate reservations, so each counts on its own unless you turn on Count bookings made together as one. With it on, 3 or more of them for the same room type and dates count as one booking. Every Mews reservation counts, including enquiries and optional (tentative) and requested ones. Only cancelled reservations are left out. Read Which bookings count. The booking date is the reservation's creation date, on your property's calendar.
What "expected" means
A count on its own says little. Three bookings in a week is a rush for a quiet Tuesday in February and a worry for a Saturday in August. So MAYA compares the count with what in your own history had received by the same point.
Each night is compared with up to eight similar past nights from the last three years: the same weekday (or, near a holiday, the same position around it) and the same time of year. A night near a holiday has 3 similar nights at most, one from each year. Which past nights your rules compare with (advanced) explains how they are chosen and what happens when there are too few. A booked so far vs usual rule finds its similar nights the same way, on your seasons as they stood at the end of last month, so near the edge of a season the two can compare with different nights (Seasons).
Each similar night is read over the same stretch of its own booking curve. If the night you are pricing is 40 days away and the window is Past week, MAYA counts what each similar night received in the 7 days when it was 40 days away. It never compares with a similar night's whole history.
Expected is the average of those counts. Once there are five or more similar nights, the single highest and the single lowest are dropped before averaging, so one odd night cannot swing the number. The result is kept to two decimals, so expected can be a fraction, such as 0.4 for a quiet night far out. The change log reads "almost none" when it is under 1, and Show the numbers reads "almost no bookings". Otherwise both round it to a whole number.
A similar night that has no bookings anywhere in your history is treated as unknown, not as zero, and is left out of the average. A night that has history but nothing in the stretch is a real zero and stays in.
Where the lines fall
The smaller the numbers, the bigger the gap has to be compared with what is usual before a night reads anything but Normal. With 5 expected you need 9 to read Faster Than Normal, nearly double. With 20 expected you need 27, about a third more. The outer levels, Stalled and Surging, need a bigger gap still. With fewer than five to compare with, the reading stays within one step of Normal. That is always the case near a holiday.
These checks can only pull a reading towards Normal, never away from it. When one of them kept a reading nearer Normal, Show the numbers says so in one of three lines. Each is quoted here only far enough for you to find it:
- "The numbers leaned away from Normal": the gap was too small for this many bookings, so the level stays Normal.
- "The numbers pointed one step further from Normal": a Stalled or Surging reading did not have a big enough gap, so it stepped in one level, to Much Slower Than Normal or Much Faster Than Normal.
- "Only a few similar nights were found": there were fewer than five similar nights, so the level stays within one step of Normal however strong the numbers look. A reading built from (see similar nights) always counts as one similar night, so it always stays within one step.
Example: The exact lines, for the curious
MAYA divides the count by expected, with expected treated as at least 0.5 for the division. At least 1.25 times expected reads Faster Than Normal, at least 2 times Much Faster, at least 3.5 times Surging. The slow side mirrors it: 0.8 times or less is Slower, half or less Much Slower, 1 in 3.5 or less Stalled.
Then three checks. The difference must be at least 2 bookings, or 1.5 times the square root of expected when that is more, or the night reads Normal. Stalled and Surging need a difference of at least 4, or 2 times the square root of expected, or they step in one level. With four or fewer similar nights, the reading stays at Faster or Slower at most.
The worked table
How many bookings a night needs, in the window, to read each level. Computed from the lines and checks above, with five or more similar nights behind the expectation.
| Expected | Stalled | Much Slower | Slower | Normal | Faster | Much Faster | Surging |
|---|---|---|---|---|---|---|---|
| 0 (a night far out) | never | never | never | 0 or 1 | never | 2 or 3 | 4 or more |
| 1 | never | never | never | 0 to 2 | never | 3 or 4 | 5 or more |
| 3 | never | 0 | never | 1 to 5 | never | 6 to 10 | 11 or more |
| 5 | 0 | 1 | never | 2 to 8 | 9 | 10 to 17 | 18 or more |
| 10 | 0 to 2 | 3 to 5 | never | 6 to 14 | 15 to 19 | 20 to 34 | 35 or more |
| 20 | 0 to 5 | 6 to 10 | 11 to 13 | 14 to 26 | 27 to 39 | 40 to 69 | 70 or more |
Two things in the table are on purpose. At small expectations some levels can never be reached: with 1 expected, one missing booking is inside the ordinary ups and downs, so the night cannot read slow at all. And with fewer than five similar nights, every "Much" cell and both ends collapse to Faster Than Normal or Slower Than Normal. Nights near a holiday always read this way, because they never have more than 3 similar nights.
Example: Where the Friday lands
Take the Friday from Booking speed, with 5 expected from five similar Fridays. In the past week it received 9 bookings, 1.8 times the usual, and a gap of 4 is big enough at this size. Five similar nights is enough for the full range. The level is Faster Than Normal.
With 10 bookings instead of 9, twice the usual, the level is Much Faster Than Normal. With 18, 3.6 times the usual, it reads Surging. With 1 booking, a fifth of the usual, the first reading would be Stalled, but a gap of 4 is not enough for the outermost level, so it steps in to Much Slower Than Normal.
When the reading shows
You cannot see a night's on the calendar. The reading appears under Show the numbers on a price change for that night, in the change log or in Why this price? (Find out why a price changed), when at least one of your booking speed rules was read there in that run. A rule that measures the whole property leaves its reading under every room type's change on the night. A reading from a rule that measures only some room types shows only under the room types changed by booking speed rules that measure that same set, which can be every room type.
Most readings are taken when MAYA checks whether a booking speed rule acts on the night. Some are taken at other times, for example while a rule waits and another booking speed or pickup rule is ready to act on the same room type, or while Skip price adjustments or going live from your current rates holds it. And a rule can go unread on a night: for example while it is switched off, stopped there or waiting, or for a while after a change it counts from, when there is nothing new to count yet (Counting after a change).
The Rate Simulator lets you pick a level for a made-up night, but does not count anything.
After a change on the night. Once the rule, or a stronger booking speed or pickup rule that moves the price the same way, has changed a night, the rule usually counts only the bookings made since (Counting after a change), and the sentences say from when. In the Hot-week surge example there, the rule raised Standard for Friday, November 13, 2026 on Monday, October 12 and counted again on Wednesday, October 14: 12 bookings arrived in those 3 days, against the 5 similar Fridays got in a whole week at that point. Under Show the numbers it says: "The newest raise still on this night's price, by the rule behind this reading or a stronger rule, was made on Mon, Oct 12 2026. In the 3 days from that raise on, 12 bookings arrived for it, with 30 days still to go before arrival."
When only the day of the raise has been counted so far, the change log says "later on the day of this rule or a stronger one's latest raise still on this night", and a rule that does not raise on a fast pace ends with "in a day". The second sentence under Show the numbers then begins "Later that day". After a cut the sentence reads "in the 3 full days after this rule or a stronger one's latest cut still on this night".
Booking speed on part of the hotel
A rule that measures every room type ticked as a room reads the whole hotel's history. A rule that measures only some types (Standard alone, say) gets its own counts over the same , shared with every other rule that measures the same set.
Two things follow. A room type that started selling only last year has no data before its first sale, so it has fewer similar nights and its reading more often stays within one step of Normal. And a small set has a small expected, so small gaps keep the reading at Normal more often. That is by design: a rule on a small set acts less often rather than wrongly.
If a rule on two Suites seems too quiet, widen what it measures: tick Change prices on different room types, measure your whole property and change only the Suites.