27 May 2026

MinLOS: Smarter control of length of stay with rate codes and buckets

How to entice guests to stay longer without blocking shorter bookings.

In an earlier blog, we wrote about MinLOS, the minimum length of stay. A useful tool to get more out of your available rooms around peak days. But MinLOS is a blunt instrument. Sometimes you want more refined control: rewarding longer stays without outright refusing a one-night guest.

This blog is about one such refinement. You build a rate ladder in the PMS with separate rate codes, each linked to a minimum number of nights. The longer the stay, the greater the discount on BAR. With Rate Buckets in RevControl, those rates open and close automatically based on occupancy.

Why MinLOS isn’t always the right tool

MinLOS does one thing: it refuses bookings below a certain length of stay. That works, but it’s harsh. A guest who only wants to stay one night can’t book at all, even if they’re willing to pay more than BAR. On OTAs, guests often only see “unavailable” in that case, with no explanation, and this can also put pressure on your visibility on adjacent dates.

What you’d prefer: making longer stays more attractive without blocking shorter bookings. And as your hotel fills up, you gradually turn off those discounts. A stacked rate structure provides the solution.

The idea: a rate ladder below BAR

Instead of one Best Available Rate, you sell a series of rates derived from it. Each rate requires a minimum number of nights and offers a fixed discount on BAR:

Rate code Minimum LOS Discount on BAR For whom
BAR 1+ nights 0% The standard 1-night booker
STAY3 3+ nights -10% Short breaks, midweek guests
STAY5 5+ nights -18% Holiday stays, extended business
STAY7 7+ nights -25% Long stays, filling low season

Important: every STAY code is derived from BAR. If BAR rises, the entire ladder rises with it. You retain the dynamics you’ve already built in RevControl; the LOS dimension is layered on top.

Why this works better than hard restrictions

  • BAR remains available. Guests who want to book one night can do so. No refusals, no lost short bookings.
  • Rate parity stays intact. Your BAR is and remains the public rate on OTAs. The STAY codes are separate products.
  • You entice rather than forbid. Guests themselves choose a longer stay because it benefits them.
  • The discount is predictable and explainable, for the guest and for your sales team.

The automation: Rate Buckets

So far, this is a fairly standard rate structure that any PMS can handle. The tricky part is that you don’t always want these discounts open. A STAY7 with -25% discount in a week where you’d sell out anyway is simply wasted money. You mainly want deep discounts when you’re at risk of having empty rooms.

That’s where Rate Buckets comes in. With this feature in RevControl, you link each rate code to a threshold. As long as the expected occupancy stays below that threshold, the code remains open. Once occupancy exceeds it, the code closes automatically.

Rate code Open while occupancy Closes above
BAR Always open -
STAY3 < 75% 75%
STAY5 < 60% 60%
STAY7 < 45% 45%

The result: at low demand, all STAY codes are open and you actively stimulate longer stays. As occupancy rises, the biggest discounts close first, then the middle ones, and eventually you’re only selling BAR. Fully automatic, per night, per room type.

A calculation example: Hotel Bloesem

To make this concrete, let’s look at a midweek scenario at a fictional 20-room hotel in a mid-sized city.

On Wednesday, there’s a large trade fair. BAR rates: Tuesday € 100, Wednesday € 200, Thursday € 100. Expected demand for one night: Tuesday 8 bookings, Wednesday 25 (of which 5 must be turned away because you only have 20 rooms), Thursday 7.

Scenario A: BAR only, no steering

Night Sold Rate Revenue
Tuesday 8 € 100 € 800
Wednesday 20 (sold out) € 200 € 4,000
Thursday 7 € 100 € 700
Total € 5,500

Wednesday is a success. But Tuesday and Thursday together leave 25 rooms empty.

Scenario B: STAY3 at -15%, bucket closes above 75%

By opening the STAY3 code, you give guests a reason to book three nights. STAY3 rates become: Tuesday € 85, Wednesday € 170, Thursday €85.

Assumption: four guests book a three-night stay from Tuesday through Thursday via STAY3. They come in first; then one-night demand fills Wednesday further until the bucket closes above 75% occupancy (= 15 rooms total).

Night Sold Mix Revenue
Tuesday 12 4 × STAY3 (€ 85) + 8 × BAR (€ 100) € 1,140
Wednesday 20 4 × STAY3 (€ 170) + 16 × BAR (€ 200) € 3,880
Thursday 11 4 × STAY3 (€ 85) + 7 × BAR (€ 100) € 1,040
Total € 6,060

Difference vs. Scenario A: +€ 560, or just over 10% more revenue. The four STAY3 bookings yield 12 room nights in total. On the sold-out Wednesday, they displace 4 BAR bookings, so net you sell 8 extra room nights. And they all fall on the shoulder nights that would otherwise have been empty.

Scenario C: Larger discount (-25%) on STAY3

What happens if you discount more aggressively? STAY3 rates become: Tuesday € 75, Wednesday € 150, Thursday € 75.

Assumption: six guests now book STAY3 instead of four. A bigger discount attracts more bookers.

Night Sold Mix Revenue
Tuesday 14 6 × STAY3 (€ 75) + 8 × BAR (€ 100) € 1,250
Wednesday 20 6 × STAY3 (€ 150) + 14 × BAR (€ 200) € 3,700
Thursday 13 6 × STAY3 (€ 75) + 7 × BAR (€ 100) € 1,150
Total € 6,100

A mere € 40 more, while offering 10 percentage points more discount. How is that possible? The two extra STAY3 bookings do bring in additional revenue, but on Wednesday they also displace two BAR bookings at € 200 each. The lost BAR revenue almost entirely cancels out the extra STAY3 revenue. Net, there’s barely anything left.

The lesson: discounting more deeply barely yields more here. The optimum is where the discount is just large enough to entice guests, without unnecessarily sacrificing BAR revenue.

Thresholds in practice

The most important choice in this system: at what occupancy rate does each bucket close? A few rules of thumb that work for most hotels:

  • Set the STAY3 bucket relatively high (70–80%). This is the LOS rate you sell most often; don’t switch off that incentive too early.
  • STAY5 and STAY7 close earlier (50–65%). Large discounts only make sense when you genuinely have overcapacity.
  • Set your thresholds differently by day of the week. A midweek 60% behaves differently than a weekend 60%.
  • Account for your room type mix. If one type structurally fills up earlier, set a tighter threshold for it.

Common mistakes

  • Too many rate codes. Three levels (BAR, STAY3, STAY5) are enough for most hotels. Four or five becomes confusing and weakens each individual rate.
  • Too small discounts. A STAY3 at -5% is barely noticed by a guest. Below 8%, the incentive loses its effect.
  • Too large discounts. Above 25%, you sacrifice margin without meaningfully extending average length of stay.
  • Setting thresholds once and forgetting them. Demand changes, seasons shift, your calendar looks different a few months out. Review your thresholds at least quarterly.
  • Not measuring what happens. Without data on which rate converts, you’re flying blind.

How to approach It

  1. Start with three rate codes in your PMS: BAR, STAY3, and STAY5. Keep it manageable.
  2. Choose an initial set of discount percentages, for example: -10% and -18%. Starting conservatively is fine.
  3. Set up Rate Buckets with conservative thresholds (STAY3 closes above 75%, STAY5 closes above 60%).
  4. Test on one room type or in one season first before rolling out hotel-wide.
  5. Measure weekly: how many STAY bookings you receive, what the average length of stay is, what the ADR per rate level is, and how much displacement occurs on peak days.
  6. Only after four to eight weeks, adjust discounts and thresholds based on what you observe.

In conclusion

LOS-based pricing via rate codes and buckets doesn’t replace MinLOS, it complements it. For specific peak days, a hard restriction remains sometimes the right choice. But for the vast majority of your calendar, this approach gives your hotel more control with less lost revenue.

The beauty of this approach: once it’s set up, the system does the work. Your Friday peak fills up with BAR bookers who simply pay the full rate. Your quiet Tuesday in November is filled by STAY5 guests who would never have come otherwise. And revenue management is no longer about constantly setting and removing restrictions, but about monitoring and fine-tuning a few cleverly chosen thresholds.

Edwin Leenheer, Director Of Operations

Edwin LeenheerDirector Of Operations

Thinking of trying RevControl?
Talk to Edwin now

Discuss possibilities or book a demo

Book a demo Get in touch

More blogs

All blogs