Listing AI Search
Endpoints
Full AI Search (AI + listing search + pricing)
POST /api/v1/crs/listings/ai-search
{
"query": "Pet-friendly villas in Goa for 6 adults this weekend under 20k",
"rawParams": [
{ "filterName": "channelId", "filterValues": ["B2C"] }
]
}
Response:
{
"intent": {
"listingIds": ["lst_abc", "lst_def"],
"checkInDate": "2026-04-05",
"checkOutDate": "2026-04-07",
"adultCount": 6,
"city": "Goa",
"propertyType": "Villa",
"budgetPerNight": 20000,
"petFriendly": true,
"originalQuery": "Pet-friendly villas in Goa..."
},
"results": {
"singleListings": [ ... full listing cards with pricing ... ],
"combinations": []
}
}
Intent Only (for populating filter UI)
POST /api/v1/crs/listings/ai-search/intent
{ "query": "3 BHK villa in Lonavala for 8 people next weekend" }
Response:
{
"listingIds": ["lst_abc", "lst_def"],
"checkInDate": "2026-04-05",
"checkOutDate": "2026-04-07",
"adultCount": 8,
"city": "Lonavala",
"propertyType": "Villa"
}
Use this to auto-fill the search filter UI from a natural language query.
Extracted Fields
The LLM extracts these structured filters from the natural language:
| Field | Example |
|---|---|
checkInDate / checkOutDate | 2026-04-05 (resolved from "this weekend") |
adultCount / childCount | 6, 2 |
city | Goa |
propertyType | Villa |
budgetPerNight | 20000 |
petFriendly | true |