You can filter the search by time-based availability in three ways.
The first option is only to return listings that have the entire provided time range available. This is useful, for example, for a car rental marketplace. If a customer wants to pick up a car on Monday at 5 PM and return it on Wednesday at 10 AM, you need to ensure that nobody else has booked the car for Tuesday afternoon.
The second option is to return all listings that have at least some availability within the provided range. This comes in handy for marketplaces that offer different types of events, for instance. Let’s say a customer has an afternoon off tomorrow from 1 PM to 5 PM and wants to try a yoga class. Any listing that begins and ends within the provided range can be a match, regardless of the duration.
The third option is to return all listings that have at least one available slot of a certain length within the provided range. For many service marketplaces, this is a must. The customer from the previous example might instead want to use their free afternoon to go to a hairdresser. They know their usual haircut takes an hour, so they need to find a hairdresser who is available for at least one hour somewhere between 1 PM and 5 PM tomorrow. This filtering option is now available also if you’re using day-based availability.
All these options also work with seats. As an example, let's say a marketplace is about guided two-hour tours. A family of 4 is going to have a one-week vacation next month. They want to find all the listings that have at least one slot available within that week, with at least 4 seats.
Sorting search by date, price, and extended data
Many customers might have more specific criteria for finding the right listing. New visitors could be looking for the cheapest ones to compare offerings. Old patrons might want to see the latest listings. On marketplaces for events, start date is usually a deciding factor.