Can I set minimum and maximum booking length (min nights / max days)?
Yes. You can set a minimum and maximum booking length when embedding your calendar by using the shortcode parameters minimum_days and maximum_days. If you use selection_style=”split” (recommended for nights), the restriction applies to nights; if you use selection_style=”normal”, it applies to days. Important: if the Booking Restrictions add-on is installed, the minimum_days and maximum_days shortcode parameters are ignored, so you should configure the rules in Booking Restrictions instead.
On this page
- What minimum/maximum booking length controls
- What you’ll need
- Step 1: Choose days vs nights (selection style)
- Step 2: Set minimum_days and maximum_days in your embed
- Step 3: If you use Booking Restrictions, configure rules there
- Step 4: Test the restriction on the front-end
- Common issues (and quick fixes)
- Best practices
- Mini FAQ
What minimum/maximum booking length controls
- Minimum booking length prevents short stays (for example: minimum 2 nights).
- Maximum booking length prevents very long stays (for example: maximum 21 nights).
- The restriction is enforced at date selection time, so visitors cannot submit a booking outside the allowed range.
What you’ll need
- WP Booking System installed and activated
- A calendar and a booking form (if you accept bookings)
- Access to the page where the calendar is embedded
Step 1: Choose days vs nights (selection style)
Before setting min/max length, decide how you want bookings to work: full days or nights. The selection_style parameter controls this and also affects how the restriction is interpreted.
- selection_style=”split”: recommended for rentals; start and end behave like check-in/check-out, and when using pricing it counts nights.
- selection_style=”normal”: counts full days; useful when you want day-based bookings without a check-in/check-out concept.
Step 2: Set minimum_days and maximum_days in your embed
Set the restriction directly in the shortcode you use to embed the calendar. Use minimum_days for the minimum length and maximum_days for the maximum length.
Example: minimum 2 nights, maximum 14 nights (recommended setup)
[wpbs id="1" form_id="1" selection_style="split" minimum_days="2" maximum_days="14"]
This allows bookings from 2 to 14 nights, using the split (nights) selection style.
Example: minimum 3 days, maximum 10 days (day-based setup)
[wpbs id="1" form_id="1" selection_style="normal" minimum_days="3" maximum_days="10"]
This allows bookings from 3 to 10 days, using the normal (days) selection style.
Example: set only a minimum stay (no maximum)
[wpbs id="1" form_id="1" selection_style="split" minimum_days="2"]
Leaving maximum_days at 0 (or not setting it) means there is no maximum restriction.
Example: set only a maximum stay (no minimum)
[wpbs id="1" form_id="1" selection_style="split" maximum_days="21"]
Leaving minimum_days at 0 (or not setting it) means there is no minimum restriction.
Step 3: If you use Booking Restrictions, configure rules there
If the Booking Restrictions add-on is installed, minimum_days and maximum_days set in the shortcode are ignored, so you should define the minimum/maximum stay in the Booking Restrictions settings instead.
- Use Booking Restrictions when you need advanced rules, like different minimum stays depending on the day the booking starts (for example: bookings starting on Friday must be at least 3 nights).
- Use Booking Restrictions when you want to enforce specific start/end days (for example: only Saturday check-in and Saturday check-out).
Tip: If you are not sure which rules apply, temporarily disable the add-on (on a staging site) to confirm whether the shortcode parameters are being ignored.
Step 4: Test the restriction on the front-end
Always test min/max rules on the front-end, because selection style and other restrictions can change how visitors experience date selection.
- Open the booking page in an incognito/private window.
- Try selecting a stay shorter than your minimum and confirm it cannot be completed.
- Try selecting a stay longer than your maximum and confirm it cannot be completed.
- Try selecting a stay inside the allowed range and submit a test booking.
Common issues (and quick fixes)
The minimum/maximum stay does not seem to apply
- Check if Booking Restrictions is installed; if it is, the shortcode parameters minimum_days and maximum_days are ignored.
- Confirm you added the parameters to the exact shortcode used on the live page.
- Clear cache and test again in an incognito/private window.
My “minimum nights” feels off by one
- Use selection_style=”split” for night-based bookings and test again.
- Confirm you are using selection_type=”multiple” if you require selecting a date range.
- When in doubt, keep the rule and validate it by selecting a few real date ranges on the front-end.
Visitors can still select dates, but the form cannot be submitted
- This can happen when multiple restrictions overlap (min/max stay combined with start/end day rules); simplify the rules to isolate the issue.
- If you use Booking Restrictions, confirm the rules there match what you expect for the selected dates.
Best practices
- Use selection_style=”split” for rentals and stay-based bookings, because it matches check-in/check-out behavior.
- Keep minimum stay rules simple unless you truly need advanced logic; complex rules increase support questions.
- If you change rules, test three scenarios: too short, too long, and valid length.
- If you rely on multiple channels (Airbnb/Booking.com), combine stay rules with a workflow that prevents double bookings.
Mini FAQ
What values should I use for a “minimum 2 nights” rule?
Use selection_style=”split” and set minimum_days=”2″, then test on the front-end to confirm the selection behaves as expected for your booking flow.
Can I set different minimum stays depending on check-in day?
Yes. That is an advanced rule and is typically handled by the Booking Restrictions add-on (for example: different minimum stays for Monday vs Friday arrivals).
Do these rules work if I show availability only?
Minimum and maximum stay restrictions are mainly relevant when visitors can select dates to book; if you show availability only, these rules usually do not matter because visitors are not submitting bookings from the calendar.