Listdom booking availability search helps visitors find a bookable option that fits their dates, capacity needs, and other selected criteria. With the Booking add-on, you can connect booking-aware search fields to a results layout and show the specific available items that matched.
The key is to match a usable option inside a listing. A property with one cheap small room and one expensive large room should not qualify for a cheap large-room search by combining facts from both. This guide explains the fields, fixed result restrictions, and checks that keep the search journey consistent through to the booking form.
Begin with working bookable items
Configure a representative listing and its bookable items before building the search page. Identify the booking setup involved: date range, single event, time slot, quantity, or request. The supported capacity and availability measures depend on that setup.
For example, an accommodation directory may need date ranges and separate adult and child counts. A workshop directory may need event dates and remaining places. A request-based service should not be described as providing the same guest-capacity model as accommodation.
Use the Listdom Booking add-on setup guide for the underlying reservation lifecycle, approval, and payment decisions. Here, the goal is narrower: make the discovery criteria select an eligible item and carry a valid choice into that existing booking workflow.
Choose fields that express the visitor’s question
Go to Listdom → Search and Filter Builder and create or edit the search form. Add Available Between for date-range availability. Existing forms may retain the legacy Start & End Dates field; use Available Between for a new form.
Choose capacity fields by what they measure:
| Field | Meaning | Appropriate question |
|---|---|---|
| Capacity | Total capacity | Does the option have the required overall capacity? |
| Guest capacity | Stored capacity of an eligible date-range item | What guest limit does this accommodation option support? |
| Remaining slots | Remaining inventory for supported setups | Are enough places or units left? |
| Adults and Children | Requested guest counts | Can an eligible property-style item accommodate this group? |
These are not interchangeable labels for group size. A total capacity of four does not by itself explain separate adult and child limits. An event that originally offered 20 places may have only two remaining. Choose the measure that reflects what the visitor needs to reserve.
Add Price range and Available only where they help. Available only is a switch, not an event-status selector. Keep labels and placeholders clear enough that visitors understand whether they are requesting guests or filtering a stored capacity.
Connect the form to the intended results
Configure field widths and responsive arrangement, then connect the form to the intended results page or listing shortcode. Save it and verify the destination before adjusting its appearance in detail.
On a page containing several search forms or results blocks, identify the intended target explicitly. Otherwise, a visitor may change booking criteria and see an unrelated collection respond. The Listdom search-form guide explains the form and results relationship.
For a first implementation, use one form and one results block. Submit dates and a simple capacity request against a known sample item. Once that relationship works, add the additional fields needed by the real directory. Starting with several overlapping forms makes a matching problem harder to isolate.
Set the page’s fixed booking restrictions
Open the relevant results layout in Listdom → Shortcodes and review its filter options. Fixed filters define what this page can show before a visitor narrows it further.
Use Booking Setup to restrict the page to the appropriate setup, such as date-range accommodation or single-event listings. Set Available only or Available between if the page itself needs an availability restriction.
Choose a capacity basis before entering bounds. Available bases include total capacity, guest, adult, child, and remaining slots. Guest capacity applies to date-range items. Remaining slots applies to date-range, single-event, time-slot, and quantity setups. Request items do not provide guest capacity.
For price bounds, choose Minimum price, Maximum price, or Base price. These identify price measures; they do not select a per-night or per-ticket billing model. Configure the underlying item’s pricing appropriately, then choose the measure suitable for this results collection.
Visitor criteria narrow these fixed restrictions. They do not remove them. If a page is intentionally restricted to one booking setup, a broader visitor selection should not be expected to expose another setup.
Check that one item satisfies every criterion
Consider this hypothetical accommodation listing for the same requested dates:
| Bookable item | Available? | Guest capacity | Illustrative price |
|---|---|---|---|
| Garden Room | Yes | 2 | 80 |
| Family Suite | Yes | 6 | 180 |
Assume the selected price basis and currency make those values comparable. A request for capacity of at least six and a maximum price of 100 should not match this listing. The Garden Room meets the price requirement but lacks capacity. The Family Suite meets capacity but exceeds the price limit.
One eligible item must satisfy the combined criteria. Combining the cheapest price from one item with capacity from another would describe an option the visitor cannot actually book.
A maximum price of 200 changes the hypothetical result: the Family Suite now meets both bounds, provided its dates and any additional guest requirements also match. If the suite becomes unavailable, the room’s availability does not rescue the six-guest request.
Use this kind of counterexample when testing your own configuration. A listing with several items reveals matching errors that a single-item listing cannot expose. Test the applicable adult and child limits separately when they are part of the requested group.
Choose an order visitors can understand
The available booking-related order options include Booking price, Maximum booking price, Capacity, Next available, Start date, End date, Start time, and End time. Choose an order that supports the collection’s purpose.
An event directory may benefit from a date-oriented order. A price-sensitive comparison page may need an appropriate booking-price order. Missing values appear after items that have the selected sort value, so inspect records with incomplete data before treating the order as arbitrary.
Keep bounds meaningful. A zero price or zero remaining-slots bound is a real value, not an absent filter. Unlimited capacity can satisfy a minimum requirement but is not a finite maximum. A filter that displays sold-out items does not make those items reservable.
These edge cases deserve a small test collection before you expose the filters to visitors. Clear field labels cannot correct an unsuitable capacity basis behind the page.
Show the matching option on result cards
In Listdom → Shortcodes, edit a supported skin and enable Display Matched Bookables in its display options. The feature is available in List, Grid, List + Grid, Half Map, and Masonry.
Attach the booking search form to the shortcode or confirm that the form targets it. For date-based availability, supply a complete date range. Matched cards require the active Booking add-on and at least one item that satisfies the submitted criteria.
The matching option can show its title, description, relevant dates and time, availability or remaining slots, capacity, calculated price for the selected period, and Book this option. Property items can show separate adult and child limits.
That detail helps answer the visitor’s next question: “Which option at this listing fits my request?” Without it, a listing can look suitable in search while requiring people to inspect every bookable item again on the detail page.
Test the handoff to the booking form
Select Book this option on a matched item. The action opens the listing’s booking section and carries valid item, date, and guest values into the form. Listdom checks that the item belongs to the listing and remains available.
This is a useful continuation of the search, not a reservation hold or payment confirmation. Inventory can change between search and booking. The booking workflow must still validate availability and follow its approval and payment rules.
Confirm that the single-listing layout contains the Booking element. An otherwise valid search cannot provide a complete journey if the destination does not present the booking form. Check the selected item, dates, and requested adults and children where those values apply.
Avoid testing this by creating a paid booking in a live payment environment. Use an appropriate safe setup and stop before an irreversible action unless that transaction is explicitly part of your authorized test.
Make empty states useful
When a property is missing, inspect its blocked dates, existing holds or reservations, and adult and child limits. When an event is missing, check its dates, expiration, remaining slots, and Listdom → Settings → Add-ons → Booking → Event Availability.
The booking area distinguishes between no items for the selected dates and no items for the selected filters. If availability notifications are configured, visitors can see the notification form; otherwise, the interface prompts them to contact the listing owner.
A useful response explains which choice the visitor can change. Asking someone to broaden dates is different from asking them to reduce group size or change price criteria. Keep your surrounding page copy consistent with the constraints the form actually supports.
For listings that qualify but show no matched cards, check Display Matched Bookables, the supported skin, the complete date range, and the form target. The booking availability and matched-items reference provides the detailed configuration and troubleshooting controls.
Run an acceptance test before adding more filters
Use clearly labeled sample items and write the expected outcome before submitting each search:
| Test | Expected behavior |
|---|---|
| Available item satisfying all applicable criteria | Appears as an eligible match |
| Cheap small item plus separate expensive large item | Does not jointly satisfy a cheap large-capacity request |
| Matching capacity but unavailable dates | Does not become available because capacity matches |
| Visitor choice broader than a fixed shortcode restriction | Does not remove the fixed restriction |
| Valid matched-card selection | Carries valid selection into the listing’s booking form |
| Item no longer available after search | Must pass availability checks again; no search-based guarantee |
Repeat the important tests on a narrow screen. Visitors should be able to understand date labels, capacity units, the matched option, and the next action without losing their selection. Add another filter only when it answers a real decision the existing form cannot express.
FAQ
Is Guest capacity the same as Adults and Children?
No. Guest capacity filters a stored limit on an eligible date-range item. Adults and Children describe the requested guest group for items supporting those separate limits.
Can different items in one listing satisfy different filters?
No. One eligible item must satisfy the combined criteria. A cheap small option and a separate expensive large option cannot jointly meet a cheap large-capacity search.
Why do results appear without matched bookable cards?
Check Display Matched Bookables, the supported skin, the Booking add-on, the target results shortcode, and a complete date range where required. At least one item must match.
Can visitors override a page’s fixed booking filters?
No. Submitted criteria narrow the saved shortcode restrictions. They do not remove those restrictions.
Does Book this option reserve the inventory?
No. It carries a valid choice to the listing’s booking form. Availability, ownership of the item, and the normal booking rules still require validation.
Should I replace a working Start & End Dates field immediately?
Existing forms can retain that legacy field. Use Available Between for new forms and test the complete destination and matching behavior when changing an existing setup.



