Skip to main content

Search context and URLs

Most booking shortcodes read the same information from the page URL. That shared snapshot is called search context.

When someone submits [bec_search], the browser navigates with a GET request to the form’s action URL. bec_checkin, bec_checkout, guest fields, and any other bec_* inputs are sent as query parameters on that URL.

The destination is not always the same page as the shortcode:

  • Default [bec_search] (no redirect_url) — WordPress sends visitors to the units archive (or home if no archive URL exists) with the search parameters attached—handy for homepage → inventory flows.
  • redirect_url="…" — Sends the same parameters to whatever page or URL you choose.

Other templates (auto-inserted search, bec_render_search_form(), etc.) compute action from the current request; see bec_search shortcode and the bec_search_form_action filter in Sync hooks & filters.

URL with BEC query parameters


Common parameters

ParameterMeaning
bec_checkinStay start date (format your site expects—normally YYYY-MM-DD).
bec_checkoutStay end date.
bec_adultsNumber of adults when using adults + children mode.
bec_childrenNumber of children when using adults + children mode.
bec_total_guestsSingle guest count when the provider uses total guests mode (internal wiring maps this into quote/checkout context).
bec_child_age[]Repeated field—one age per child when child ages are enabled.
bec_rate_idSelected rate plan when multiple rates exist—booking summary links rewrite this value.

Exact parameter names always begin with bec_ so they do not collide with other plugins.


“Complete” context

Shortcodes that need live pricing (quotes, checkout, booking summary) require a complete context:

  • Check-in and check-out filled in
  • At least one paying guest represented in the internal adults count (total-guest mode satisfies this automatically)

If dates are missing, those shortcodes usually show search-only or empty states rather than calling the API.


Example URLs

Homepage search lands on the units archive (default [bec_search]):

https://example.com/properties/?bec_checkin=2026-06-01&bec_checkout=2026-06-08&bec_adults=2&bec_children=1

Custom results page via redirect_url:

https://example.com/availability-results/?bec_checkin=2026-06-01&bec_checkout=2026-06-08&bec_total_guests=3

Same dates preserved on a unit page:

https://example.com/properties/ocean-room/?bec_checkin=2026-06-01&bec_checkout=2026-06-08&bec_adults=2&bec_children=0

Use [bec_unit_url] when building links so you do not hand-copy parameters—see bec_unit_url.