Enquiries Channel manager Bookings Your website Booking engine Pricing Log in Sign up
v2026-09

Search and property links

The booking page is the end of a brand site, not all of it. The search page and each property page take the same dates and guest counts, so you can link a guest in at whatever depth suits the campaign and the trip follows them through to checkout.

Three pages, one vocabulary. checkin, checkout, adults and children mean the same thing on all of them, and each page passes them on to the next as the guest moves forward.

text
/                    search, with filters       indexable
/p/{slug}            one property               indexable
/book                checkout                   noindex

Pick the deepest page that still makes sense for the click. An ad for one villa on known dates should go to /book; an ad for a destination should go to the search page with the dates filled in and let the guest choose.

A property page

/p/{slug}, where the slug is the same identifier a stay token uses. Dates and guests here seed the property's own date picker and its Book now button, which then builds the booking-page link for the guest.

Field Type Required Description
checkin date Required with checkout Arrival as YYYY-MM-DD. Same three rules as the booking page: both or neither, departure after arrival, not in the past. Any failure clears both.
checkout date Required with checkin Departure as YYYY-MM-DD.
adults integer Optional Defaults to 2. Clamped to the occupancy left after children.
children integer Optional Defaults to 0. Clamped to one below maximum occupancy.
A dated property link text
https://villas.doorloom.com/p/villa-alto?checkin=2026-12-24&checkout=2026-12-27&adults=4&children=2

Unlike the booking page, a property page always renders — there is no payment configuration to satisfy — so this is the safer landing page when you are not certain the brand takes online payments yet.

The search page

The brand home page doubles as its search page, and its filters are read on the server, so a link produces a fully rendered result set rather than an empty page that fills in afterwards. Good for ads, and good for sharing.

Filters

Field Type Required Description
checkin date Optional Together with checkout, restricts results to properties free for the whole range, and prices the cards. Carried onto every result link.
checkout date Optional As above. An unparseable pair is ignored rather than erroring.
adults integer Optional Added to children and matched against maximum occupancy.
children integer Optional As above.
location string, repeatable Optional A city. Repeat the key, or comma-join: location=Goa,Alibaug. Matched as a partial name, and several are combined as “any of”.
property_type string Optional An exact property type, for example villa.
rooms integer Optional Minimum number of bedrooms.
pets integer Optional 1 restricts to pet-friendly properties.
categories string, repeatable Optional Any of pure_veg, pool, pet_friendly. Several are combined as “all of”.
amenities string, repeatable Optional Amenity names, comma-joined or repeated. Combined as “all of”.
min_price number Optional Lower bound on the nightly base price, in rupees.
max_price number Optional Upper bound on the nightly base price, in rupees.
Pet-friendly villas in Goa with a pool, for a dated weekend text
https://villas.doorloom.com/?location=Goa&property_type=villa&categories=pool&pets=1
  &checkin=2027-01-15&checkout=2027-01-17&adults=4&children=0

Send adults explicitly when you send dates

A missing adults is treated as two guests when filtering the list, but as one guest when pricing the cards on it. The result is a correctly filtered page whose prices are quoted for a single guest, which is not what a family reading the ad will pay. Always include adults on a dated search link.

A filter it cannot make sense of is skipped rather than rejected, so a link built from a stale list of cities or amenities degrades into a broader result set instead of an error page. Convenient in production, easy to miss in testing — check that a filtered link actually narrows the results.

How the trip travels

Each page writes the current trip into the links it renders, so nothing has to be re-entered:

  • Search to property. Dates and guest counts are appended to every result card and map pin, so a guest arriving on a dated search keeps those dates when they open a villa.
  • Property to booking page. The Book now button turns the selected dates, guests and property into a stay token and sends the guest to /book.
  • Inside the booking page. Every edit is written back to the address bar, so the link a guest copies mid-checkout reproduces their cart exactly. See booking page parameters.

The practical consequence for you: you only ever need to put dates on the first page in the journey. Putting them on a search link is enough for them to reach checkout.

Which to link for SEO

The search page and the property pages are indexable and are the right targets for organic content, a blog post or a listing on another site. The booking page is not: it is noindex, nofollow and disallowed in the brand's robots.txt, because a checkout with a distinct URL per cart has no business in an index.

So a dated search link is a legitimate landing page you can publish. A dated /book link belongs behind a click you control — a button, an email, a message, a paid ad.

Something unclear or wrong on this page? Write to [email protected] and tell us which page — we would rather fix the doc than answer the ticket twice.