Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "get_live_quote"
⟨426 unchanged words⟩ collected on every stay and included in thetotal.total; a long-stay rate can be lower, or zero where the law exempts the stay (taxes_note says why).","type":["number","null"]},"taxes_label":{"description":"Only a long-stay rate carries this field. It is the line's name, \"Lodging tax (long-stay rate)\".","type":"string"},"taxes_note":{"description":"Only a long-stay rate carries this field. It names the taxes the stay is exempt from and any that still apply.","type":"string"},"total":{"type":["number","null" ⟨362 unchanged words⟩ the home.","type":"boolean"},"lodging_tax_label":{"description":"Only a long-stay rate carries this field. It is the lodging tax line's name, \"Lodging tax (long-stay rate)\".","type":"string"},"lodging_tax_note":{"description":"Only a long-stay rate carries this field. It names the taxes this stay is exempt from and any that still apply.","type":"string"},"mandatory_fees_minor":{"description":"Cleaning and every other ⟨190 unchanged words⟩ tax comes from: the provider's own quote,orour verified rate table for the home's jurisdiction when the provider's quote hadnone.none,Eitherorwaya long-stay rule when the stay is long enough to be exempt from some of the place's lodging taxes (lodging_tax_note says which). In every case the tax that applies is collected and in the total.","enum":["provider","jurisdiction_table","long_stay_rule"],"type":"string"},"taxes_included": ⟨381 unchanged words⟩
Changed the definition of "get_booking_link" and "get_live_quote"
⟨61 unchanged words⟩ to sign the link without returning the total. An optional coupon_code is priced into the signed total the same way a live quote prices it, and the link carries the code only when it applied. Opening the link does not reserve the home, ⟨46 unchanged words⟩
⟨13 unchanged words⟩ date, YYYY-MM-DD.","type":"string"},"coupon_code":{"description":"A coupon code the guest was given. Optional. When it applies, the link's signed total includes it and the link carries the code, so the website prices the stay the same way. A code that does not apply, or that nobody issued, leaves the price unchanged and is reported in coupon with its reason. A code tied to one guest's email is reported as not found. A quote does not reserve a use of a code, and the code is checked again when the guest books, so it may no longer apply then.","maxLength":40,"type":"string"},"guests":{"description":"Everyone staying, including ⟨143 unchanged words⟩
Changed the definition of "get_live_quote"
⟨70 unchanged words⟩ deadline when check-in is more than 30 daysaway.away (a cancellation by then refunds everything paid except the 3.5% card processing fee). Returns a booking_url the guest opens to complete ⟨29 unchanged words⟩
⟨384 unchanged words⟩ added at checkout and included in the total. It is non-refundable when a refundable-rate stay is cancelled.","minimum":0,"type":["integer" ⟨597 unchanged words⟩ the nightly subtotal, taxed as rent, cancellableforuntil free_cancel_until; on afullcancellation
Added "get_booking_link"; changed the definition of "compare_properties", "get_live_quote", "get_property_details" and 2 more (6 tools before, 7 now)
⟨34 unchanged words⟩ each, for a guest deciding between specific homes. Each home carries `accommodation_type` and `bathroom_sharing`: a private room or shared room is not an entire home. Without dates no price is returned.
⟨25 unchanged words⟩ :"string"},"guests":{"description":"NumberEveryoneofstaying,guests.including children and infants.","maximum":50,"minimum":1,"type":"integer"},"pets":{"description":"WhetherHow
Removed "get_booking_link"; changed the definition of "compare_properties", "get_live_quote", "get_property_details" and 2 more (7 tools before, 6 now)
⟨34 unchanged words⟩ each, for a guest deciding between specific homes.Each home carries `accommodation_type` and `bathroom_sharing`: a private room or shared room is not an entire home. Without dates no price is returned.
⟨25 unchanged words⟩ :"string"},"guests":{"description":"Everyone staying, including childrenNumberandofinfants.guests.","maximum":50,"minimum":1,"type":"integer"},"pets":{"description":"How many petsWhether
Changed the definition of "get_booking_link"
⟨80 unchanged words⟩ take payment; the guest completes checkout on EscapeStays. When the guest has dates and wants to book, call get_booking_link and give the guest that URL. Never return a nightly rate as the price; quote all-in totals only. Never return an exact street address.
Added "get_booking_link"; changed the definition of "compare_properties", "get_live_quote", "get_property_details" and 2 more (6 tools before, 7 now)
⟨34 unchanged words⟩ each, for a guest deciding between specific homes. Each home carries `accommodation_type` and `bathroom_sharing`: a private room or shared room is not an entire home. Without dates no price is returned.
⟨25 unchanged words⟩ :"string"},"guests":{"description":"NumberEveryoneofstaying,guests.including children and infants.","maximum":50,"minimum":1,"type":"integer"},"pets":{"description":"WhetherHow
Removed "get_booking_link"; changed the definition of "compare_properties", "get_live_quote", "get_property_details" and 2 more (7 tools before, 6 now)
⟨34 unchanged words⟩ each, for a guest deciding between specific homes.Each home carries `accommodation_type` and `bathroom_sharing`: a private room or shared room is not an entire home. Without dates no price is returned.
⟨25 unchanged words⟩ :"string"},"guests":{"description":"Everyone staying, including childrenNumberandofinfants.guests.","maximum":50,"minimum":1,"type":"integer"},"pets":{"description":"How many petsWhether
Added "get_booking_link"; changed the definition of "get_live_quote" and "search_properties" (6 tools before, 7 now)
⟨99 unchanged words⟩ this tool does not book or take payment. Amounts ending in _minor are integer cents in `currency`.
⟨8 unchanged words⟩ available is false only property_id, available, reason, booking_url andbooking_urla short quote block are present.","properties":{"available":{" ⟨224 unchanged words⟩ null"]},"property_id":{"type":"integer"},"quote":{"description":"The authoritative, machine-readable quote for this stay, for the rate stay_total prices (the non-refundable rate). Amounts ending in _minor are integer cents in `currency`. total_stay_price_minor is exactly what the guest is charged in total, including taxes and the card processing fee, and the amounts add up: total_stay_price_minor = nightly_subtotal_minor + mandatory_fees_minor + optional_fees_minor + taxes_minor + card_fee_minor - discounts_minor. When available is false only availability_status, inventory_held, checked_at, canonical_url, incomplete and missing are present. The itemised _minor amounts are null only when missing includes price_breakdown.","properties":{"availability_status":{"enum":["available","unavailable"],"type":"string"},"cancellation_policy_id":{"description":"The rate this quote prices; rate_options lists both.","enum":["non_refundable","refundable"],"type":"string"},"cancellation_summary":{"type":"string"},"canonical_url":{"description":"The home's property page, not the booking link.","type":"string"},"card_fee_minor":{"description":"The 3.5% card processing fee, added at checkout and included in the total.","minimum":0,"type":["integer","null"]},"charges":{"description":"Every charge, itemised. The amounts of the rows with paid_at checkout add up to total_stay_price_minor exactly; a discount row is negative.","items":{"properties":{"amount_minor":{"type":"integer"},"name":{"type":"string"},"paid_at":{"description":"checkout: part of the total. outside_checkout: not part of it (the security hold).","enum":["checkout","outside_checkout"],"type":"string"},"type":{"enum":["nightly","fee","tax","discount","card_fee","security_hold","adjustment"],"type":"string"}},"required":["type","name","amount_minor","paid_at"],"type":"object"},"type":"array"},"checked_at":{"description":"When this quote was fetched, ISO 8601.","type":"string"},"currency":{"description":"ISO 4217 code, e.g. USD.","type":"string"},"discounts_minor":{"description":"A positive amount subtracted from the total; 0 when there is none.","minimum":0,"type":["integer","null"]},"due_later_minor":{"description":"The rest, charged automatically to the same card 60 days before check-in; 0 when everything is due now.","minimum":0,"type":"integer"},"due_now_minor":{"description":"Charged when the guest books: 50% of the total when check-in is more than 60 days away, otherwise all of it.","minimum":0,"type":"integer"},"expires_at":{"description":"When the quote lapses, ISO 8601; the same instant as quote_expires_at.","type":"string"},"incomplete":{"description":"True when a required input or tax could not be determined; missing says which.","type":"boolean"},"inventory_held":{"description":"False: a quote does not hold the home.","type":"boolean"},"mandatory_fees_minor":{"description":"Cleaning and every other required fee.","minimum":0,"type":["integer","null"]},"missing":{"description":"rent_tax_rate: the provider's fee table could not be read, so the refundable rate cannot be priced. price_breakdown: the provider sent only a total. line_items_mismatch: the itemised charges add up to more than the total.","items":{"type":"string"},"type":"array"},"nightly_subtotal_minor":{"description":"Rent for the nights before any discount, plus the refundable-rate premium when that rate is quoted.","minimum":0,"type":["integer","null"]},"nights":{"type":["integer","null"]},"optional_fees_minor":{"description":"Fees the guest chose, the pet fee for the pets in this quote.","minimum":0,"type":["integer","null"]},"quote_id":{"description":"Stable id for this priced stay: the same home, dates, guests, pets, rate and total give the same id; any change gives a new one. Not a hold or a reservation.","type":"string"},"refundable_security_hold_minor":{"description":"A refundable hold on the card on file, separate from the total. The home's own amount, or the standard hold when it states none.","minimum":0,"type":"integer"},"tax_source":{"description":"Where the tax comes from: the provider's own quote, or our verified rate table for the home's jurisdiction when the provider's quote had none. Either way the tax is collected and in the total.","enum":["provider","jurisdiction_table"],"type":"string"},"taxes_included":{"description":"True: the total includes lodging tax, which is collected on every stay.","type":"boolean"},"taxes_minor":{"description":"Lodging tax.","minimum":0,"type":["integer","null"]},"timezone":{"description":"IANA zone of the home: the provider's own zone when it states one, otherwise the zone of the home's US state (timezone_source says which). Null when unknown.","type":["string","null"]},"timezone_source":{"enum":["listing","market","unknown"],"type":"string"},"total_stay_price_minor":{"description":"The whole price of the stay, equal to stay_total in cents.","minimum":0,"type":"integer"}},"required":["availability_status","inventory_held","checked_at","canonical_url","incomplete","missing"],"type":"object
Changed the definition of "compare_properties", "get_availability", "get_live_quote" and 3 more
CompareCompares 2 to 5 homes in one call: ⟨19 unchanged words⟩ dates, availability and the stay total foreach. Use iteach,whenfor a guestisdeciding between specific homes. Each home carries `accommodation_type` and `bathroom_sharing`: a private room or shared room is not an entire home. Without dates no price is returned.
⟨3 unchanged words⟩ check_in":{"description":"Check-in date, YYYY-MM-DD.Give
Changed the definition of "compare_properties", "get_availability", "get_live_quote" and 3 more
ComparesCompare 2 to 5 homes in one call: ⟨19 unchanged words⟩ dates, availability and the stay total foreach,each.forUse it when a guest is deciding betweenspecifichomes.
⟨3 unchanged words⟩ check_in":{"description":"Check-in date, YYYY-MM-DD.Totals are returned only whenGive
Changed the definition of "compare_properties", "get_availability", "get_live_quote" and 3 more
CompareCompares 2 to 5 homes in one call: ⟨19 unchanged words⟩ dates, availability and the stay total foreach. Use iteach,whenfor a guestisdeciding between specific homes.
⟨3 unchanged words⟩ check_in":{"description":"Check-in date, YYYY-MM-DD.GiveTotals are returned only when
Changed the definition of "compare_properties", "get_availability", "get_live_quote" and 3 more
ComparesCompare 2 to 5 homes in one call: ⟨19 unchanged words⟩ dates, availability and the stay total foreach,each.forUse it when a guest is deciding betweenspecifichomes.
⟨3 unchanged words⟩ check_in":{"description":"Check-in date, YYYY-MM-DD.Totals are returned only whenGive
Changed the definition of "compare_properties" and "search_properties"
⟨35 unchanged words⟩ ,"type":"boolean"},"avg_per_night":{"description":"No longer returned; stay_total is the price of the stay.","type":"number"},"bathrooms":{"type" ⟨93 unchanged words⟩ ,"from_price_per_night":{"description":"Starting nightly rate. It excludes cleaning, fees and taxes, so it is not the price of any stay. Only present on a row without stay_total. Null means no starting rate is published for ⟨206 unchanged words⟩
⟨5 unchanged words⟩ description":"False means availability is unknown andevery
Changed the definition of "compare_properties", "get_live_quote" and "search_properties"
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨27 unchanged words⟩ "description":"Number of guests.","maximum":4050,"minimum":1,"type":"integer"}, ⟨36 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨18 unchanged words⟩ "description":"Number of guests.","maximum":4050
Changed the definition of "compare_properties", "get_availability", "get_live_quote" and 3 more
CompareCompares 2 to 5 homes in one call: ⟨19 unchanged words⟩ dates, availability and the stay total foreach. Use iteach,whenfor a guestisdeciding between specific homes.
⟨3 unchanged words⟩ check_in":{"description":"Check-in date, YYYY-MM-DD.GiveTotals are returned only when
Changed the definition of "compare_properties", "get_availability", "get_live_quote" and 3 more
ComparesCompare 2 to 5 homes in one call: ⟨19 unchanged words⟩ dates, availability and the stay total foreach,each.forUse it when a guest is deciding betweenspecifichomes.
⟨3 unchanged words⟩ check_in":{"description":"Check-in date, YYYY-MM-DD.Totals are returned only whenGive
Changed the definition of "compare_properties", "get_availability", "get_live_quote" and 3 more
CompareCompares 2 to 5 homes in one call: ⟨19 unchanged words⟩ dates, availability and the stay total foreach. Use iteach,whenfor a guestisdeciding between specific homes.
⟨3 unchanged words⟩ check_in":{"description":"Check-in date, YYYY-MM-DD.GiveTotals are returned only when
Changed the definition of "get_live_quote"
⟨74 unchanged words⟩ ,"note":{"type":"string"},"payment_schedule":{"description":"When the guest pays. plan 'deposit': due_at_booking now and the balance charged automatically to the same card on balance_charged_on (60 days before check-in). plan 'full': everything at booking.","properties":{"balance":{"type":"number"},"balance_charged_on":{"type":"string"},"due_at_booking":{"type":"number"},"plan":{"enum":["full","deposit"],"type":"string"}},"type":"object"},"pets":{"type":"boolean"},"price_breakdown" ⟨93 unchanged words⟩ ":"A refundable hold, not part oftotal_due_now.stay_total.","type":["number","null"]},"stay_total":{"description":"The price of the stay, including cleaning, fees and taxes. State this as the price, never the nightly rate alone.","type":["number","null"]},"total_display":{"description":"stay_total, formatted.","type":"string"},"total_due_now":{"description":"EverythingWhat the guest pays at booking,:including
Changed the definition of "get_property_details"
⟨133 unchanged words⟩ {"type":"string"},"country":{"description":"Null when the provider gave none; never assume one.","type":["string","null"]},"neighbourhood":{"description":"Neighbourhood-level location ⟨152 unchanged words⟩
Changed the definition of "compare_properties", "get_property_details" and "search_properties"
⟨209 unchanged words⟩ "type":["number","null"]},"pet_policy_note":{"type":"string"},"pets_allowed":{"description":"Omitted when pet policy could not be verified.","type":"boolean"},"property_id":{"type ⟨80 unchanged words⟩
⟨205 unchanged words⟩ "type":["number","null"]},"pet_policy_note":{"type":"string"},"pets_allowed":{"description":"Omitted when pet policy could not be verified.","type":"boolean"},"policies_source":{"enum" ⟨34 unchanged words⟩
Changed the definition of "compare_properties", "get_availability", "get_live_quote" and 3 more
before
—after
{"properties":{"compared":{"type":"integer"},"dates_checked":{"type":"boolean"},"homes":{"items":{"properties":{"available":{"description":"Only present when dates were given. A reason of not_checked means this home's availability could not be read, not that it is booked.","type":"boolean"},"avg_per_night":{"type":"number"},"bathrooms":{"type":["number","null"]},"bedrooms":{"type":["number","null"]},"booking_url":{"type":"string"},"check_in_from":{"type":"string"},"check_out_by":{"type":"string"},"city":{"type":"string"},"detail_note":{"type":"string"},"details_available":{"description":"Only present, and only false, when this home's record could not be loaded. Such a row carries no name, place, amenity or review fields at all -- read detail_note, and call get_property_details for it again.","type":"boolean"},"from_price_note":{"description":"Only present when from_price_per_night is null: what we can and cannot see about this home's calendar. Call get_availability before suggesting dates; do not describe the home as booked out or as ready to book.","type":"string"},"from_price_per_night":{"description":"Starting nightly rate. Null means no starting rate is published for this home, never that it is free -- read from_price_note.","type":["number","null"]},"highlights":{"description":"Up to three short phrases an agent can repeat when recommending the home.","items":{"type":"string"},"type":"array"},"name":{"type":"string"},"neighbourhood":{"description":"Neighbourhood-level location only; the exact address is shared after booking.","type":["string","null"]},"nights":{"type":["integer","null"]},"pet_fee":{"type":["number","null"]},"pets_allowed":{"type":"boolean"},"property_id":{"type":"integer"},"reason":{"type":"string"},"review_count":{"description":"How many 4- and 5-star reviews this home has. Never present this as, or derive, an average rating.","type":"integer"},"review_sources":{"description":"Which platforms those reviews came from.","items":{"type":"string"},"type":"array"},"security_deposit_hold":{"type":["number","null"]},"sleeps":{"type":["integer","null"]},"state":{"type":["string","null"]},"stay_total":{"type":"number"},"stay_total_display":{"type":"string"},"top_amenities":{"items":{"type":"string"},"type":"array"}},"required":["property_id","booking_url"],"type":"object"},"type":"array"},"note":{"type":"string"}},"required":["compared","dates_checked","homes","note"],"type":"object"}Changed the definition of "compare_properties", "get_availability", "get_live_quote" and 3 more
before
{"properties":{"compared":{"type":"integer"},"dates_checked":{"type":"boolean"},"homes":{"items":{"properties":{"available":{"description":"Only present when dates were given. A reason of not_checked means this home's availability could not be read, not that it is booked.","type":"boolean"},"avg_per_night":{"type":"number"},"bathrooms":{"type":["number","null"]},"bedrooms":{"type":["number","null"]},"booking_url":{"type":"string"},"check_in_from":{"type":"string"},"check_out_by":{"type":"string"},"city":{"type":"string"},"detail_note":{"type":"string"},"details_available":{"description":"Only present, and only false, when this home's record could not be loaded. Such a row carries no name, place, amenity or review fields at all -- read detail_note, and call get_property_details for it again.","type":"boolean"},"from_price_per_night":{"type":["number","null"]},"highlights":{"description":"Up to three short phrases an agent can repeat when recommending the home.","items":{"type":"string"},"type":"array"},"name":{"type":"string"},"neighbourhood":{"description":"Neighbourhood-level location only; the exact address is shared after booking.","type":["string","null"]},"nights":{"type":["integer","null"]},"pet_fee":{"type":["number","null"]},"pets_allowed":{"type":"boolean"},"property_id":{"type":"integer"},"reason":{"type":"string"},"review_count":{"description":"How many 4- and 5-star reviews this home has. Never present this as, or derive, an average rating.","type":"integer"},"review_sources":{"description":"Which platforms those reviews came from.","items":{"type":"string"},"type":"array"},"security_deposit_hold":{"type":["number","null"]},"sleeps":{"type":["integer","null"]},"state":{"type":["string","null"]},"stay_total":{"type":"number"},"stay_total_display":{"type":"string"},"top_amenities":{"items":{"type":"string"},"type":"array"}},"required":["property_id","booking_url"],"type":"object"},"type":"array"},"note":{"type":"string"}},"required":["compared","dates_checked","homes","note"],"type":"object"}Changed the definition of "search_properties"
⟨11 unchanged words⟩ size, bedrooms and amenities. With dates, onlypropertieshomesactuallyconfirmed available are returned. Interchangeable units of the same ⟨21 unchanged words⟩ `limit` counts those results, while `total_matching` counts the individualhomes.homes confirmed available. A busy market can hold more than one request can price, so `unpriced_in_time` counts matching homes whose availability was never established: they are unknown, not unavailable. Never tell a guest a place has nothing when that number is above zero -- raise `limit`, narrow the place, or quote a specific home. Always quote the stay total from get_live_quote rather than the nightly rate.
Changed the definition of "compare_properties", "get_availability", "get_live_quote" and 3 more
before
—after
{"properties":{"compared":{"type":"integer"},"dates_checked":{"type":"boolean"},"homes":{"items":{"properties":{"available":{"description":"Only present when dates were given. A reason of not_checked means this home's availability could not be read, not that it is booked.","type":"boolean"},"avg_per_night":{"type":"number"},"bathrooms":{"type":["number","null"]},"bedrooms":{"type":["number","null"]},"booking_url":{"type":"string"},"check_in_from":{"type":"string"},"check_out_by":{"type":"string"},"city":{"type":"string"},"detail_note":{"type":"string"},"details_available":{"description":"Only present, and only false, when this home's record could not be loaded. Such a row carries no name, place, amenity or review fields at all -- read detail_note, and call get_property_details for it again.","type":"boolean"},"from_price_per_night":{"type":["number","null"]},"highlights":{"description":"Up to three short phrases an agent can repeat when recommending the home.","items":{"type":"string"},"type":"array"},"name":{"type":"string"},"neighbourhood":{"description":"Neighbourhood-level location only; the exact address is shared after booking.","type":["string","null"]},"nights":{"type":["integer","null"]},"pet_fee":{"type":["number","null"]},"pets_allowed":{"type":"boolean"},"property_id":{"type":"integer"},"reason":{"type":"string"},"review_count":{"description":"How many 4- and 5-star reviews this home has. Never present this as, or derive, an average rating.","type":"integer"},"review_sources":{"description":"Which platforms those reviews came from.","items":{"type":"string"},"type":"array"},"security_deposit_hold":{"type":["number","null"]},"sleeps":{"type":["integer","null"]},"state":{"type":["string","null"]},"stay_total":{"type":"number"},"stay_total_display":{"type":"string"},"top_amenities":{"items":{"type":"string"},"type":"array"}},"required":["property_id","booking_url"],"type":"object"},"type":"array"},"note":{"type":"string"}},"required":["compared","dates_checked","homes","note"],"type":"object"}Added "compare_properties"; changed the definition of "search_properties" (5 tools before, 6 now)
⟨16 unchanged words⟩ dates, only properties actually available are returned. Interchangeable units of the same type are returned once, with every unit's id listed in `similar_units` so any of them can still be quoted and booked; `limit` counts those results, while `total_matching` counts individual homes. Always quote the stay total from get_live_quote rather than the nightly rate.
⟨26 unchanged words⟩ :"string"},"type":"array"},"bathrooms_min":{"description":"Fewest bathrooms acceptable.","maximum":100,"minimum":1,"type":"integer"},"bedrooms_min":{"description":"Fewest bedrooms acceptable.", ⟨119 unchanged words⟩ :"string"},"sort":{"description":"Ordertotal_price_* needs dates and orders by the
Certificate recorded, valid to 2026-11-29
Authorization not required
Unknown → Live
First tool surface recorded: 5 tools (server version 1.0.0)
https://stay.luxurylodgingpm.com/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 31 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨39 unchanged words⟩ : the same home, dates, party, rate, coupon and attribution, with a freshly signed quote token (so its quote_ref differs from the quote's). It names the coupon only when the coupon applied.","type":"string"},"canonical_url":{ ⟨33 unchanged words⟩ ","enum":[false],"type":"boolean"},"coupon":{"description":"What happened to the coupon_code that was sent. Only returned when one was sent. The stay's totals already include the coupon when applied is true and are the price without it when applied is false.","properties":{"amount_off":{"description":"Dollars taken off the stay's rent. Only when applied is true; it is already inside the totals.","type":"number"},"applied":{"description":"True when the code took money off this stay.","type":"boolean"},"code":{"description":"The code as sent, in upper case.","type":"string"},"label":{"description":"What the discount is called. Only when applied is true.","type":"string"},"message":{"description":"A sentence the guest can read about the code.","type":"string"},"reason":{"description":"Why the code did not apply. Only when applied is false. unknown: no such code. unavailable: the code could not be checked just now.","enum":["unknown","inactive","expired","not_started","wrong_market","wrong_home","requires_attribution","no_discountable_amount","outside_offer_window","blacked_out","minimum_nights","already_used","unavailable"],"type":"string"}},"required":["code","applied","message"],"type":"object"},"guests":{"type":"integer"} ⟨79 unchanged words⟩
⟨113 unchanged words⟩ this tool does not book or take payment. An optional coupon_code is applied to the rent before the rates are priced, as on the website, so when the code applies every total includes it; when it does not, the totals are the price without it and the coupon field says why. The booking_url carries the code only when it applied, and the code is checked again at booking. Amounts ending in _minor are integer cents in `currency`.
⟨13 unchanged words⟩ date, YYYY-MM-DD.","type":"string"},"coupon_code":{"description":"A coupon code the guest was given. Optional. When it applies, the totals and every rate's total include it, and the discount appears in price_breakdown and as a negative row in quote.charges. A code that does not apply, or that nobody issued, leaves the price unchanged and is reported in coupon with its reason. A code tied to one guest's email is reported as not found. A quote does not reserve a use of a code, and the code is checked again when the guest books, so it may no longer apply then.","maxLength":40,"type":"string"},"guests":{"description":"Everyone staying, including ⟨69 unchanged words⟩
before
{"description":"A live total for one stay. When available is false only property_id, available, reason, booking_url and a short quote block are present.","properties":{"available":{"type":"boolean"},"booking_url":{"type":"string"},"cancellation":{"description":"This home's own cancellation terms for the non-refundable rate, which stay_total prices. Each entry in rate_options carries its own terms, and those are the only refund terms that apply to that rate.","type":"string"},"check_in":{"type":"string"},"check_in_from":{"type":"string"},"check_out":{"type":"string"},"check_out_by":{"type":"string"},"currency":{"type":"string"},"guests":{"type":"integer"},"maximum_nights":{"type":["number","null"]},"minimum_nights":{"type":["number","null"]},"name":{"type":"string"},"nights":{"type":["integer","null"]},"note":{"type":"string"},"payment_schedule":{"description":"When the guest pays. plan 'deposit': due_at_booking now and the balance charged automatically to the same card on balance_charged_on (60 days before check-in). plan 'full': everything at booking.","properties":{"balance":{"type":"number"},"balance_charged_on":{"type":"string"},"due_at_booking":{"type":"number"},"plan":{"enum":["full","deposit"],"type":"string"}},"type":"object"},"pets":{"description":"How many pets this quote is for. pet_fee in price_breakdown is the fee for that many.","maximum":4,"minimum":0,"type":"integer"},"price_breakdown":{"properties":{"card_processing_fee":{"type":["number","null"]},"cleaning_fee":{"type":["number","null"]},"discount":{"type":["number","null"]},"extra_guest_fee":{"type":["number","null"]},"nightly_subtotal":{"type":["number","null"]},"other_fees":{"type":["number","null"]},"pet_fee":{"type":["number","null"]},"refundable_rate_premium":{"description":"The 8% of the nightly subtotal the refundable rate adds; 0 on the non-refundable rate.","type":["number","null"]},"taxes":{"description":"Lodging tax. It is collected on every stay and included in the total.","type":["number","null"]},"total":{"type":["number","null"]}},"type":["object","null"]},"property_id":{"type":"integer"},"quote":{"description":"The authoritative, machine-readable quote for this stay, for the rate stay_total prices (the non-refundable rate). Amounts ending in _minor are integer cents in `currency`. total_stay_price_minor is exactly what the guest is charged in total, including taxes and the card processing fee, and the amounts add up: total_stay_price_minor = nightly_subtotal_minor + mandatory_fees_minor + optional_fees_minor + taxes_minor + card_fee_minor - discounts_minor. When available is false only availability_status, inventory_held, checked_at, canonical_url, incomplete and missing are present. The itemised _minor amounts are null only when missing includes price_breakdown.","properties":{"availability_status":{"enum":["available","unavailable"],"type":"string"},"cancellation_policy_id":{"description":"The rate this quote prices; rate_options lists both.","enum":["non_refundable","refundable"],"type":"string"},"cancellation_summary":{"type":"string"},"canonical_url":{"description":"The home's property page, not the booking link.","type":"string"},"card_fee_minor":{"description":"The 3.5% card processing fee, added at checkout and included in the total. It is non-refundable when a refundable-rate stay is cancelled.","minimum":0,"type":["integer","null"]},"charges":{"description":"Every charge, itemised. The amounts of the rows with paid_at checkout add up to total_stay_price_minor exactly; a discount row is negative.","items":{"properties":{"amount_minor":{"type":"integer"},"name":{"type":"string"},"paid_at":{"description":"checkout: part of the total. outside_checkout: not part of it (the security hold).","enum":["checkout","outside_checkout"],"type":"string"},"type":{"enum":["nightly","fee","tax","discount","card_fee","security_hold","adjustment"],"type":"string"}},"required":["type","name","amount_minor","paid_at"],"type":"object"},"type":"array"},"checked_at":{"description":"When this quote was fetched, ISO 8601.","type":"string"},"currency":{"description":"ISO 4217 code, e.g. USD.","type":"string"},"discounts_minor":{"description":"A positive amount subtracted from the total; 0 when there is none.","minimum":0,"type":["integer","null"]},"due_later_minor":{"description":"The rest, charged automatically to the same card 60 days before check-in; 0 when everything is due now.","minimum":0,"type":"integer"},"due_now_minor":{"description":"Charged when the guest books: 50% of the total when check-in is more than 60 days away, otherwise all of it.","minimum":0,"type":"integer"},"expires_at":{"description":"When the quote lapses, ISO 8601; the same instant as quote_expires_at.","type":"string"},"incomplete":{"description":"True when a required input or tax could not be determined; missing says which.","type":"boolean"},"inventory_held":{"description":"False: a quote does not hold the home.","type":"boolean"},"mandatory_fees_minor":{"description":"Cleaning and every other required fee.","minimum":0,"type":["integer","null"]},"missing":{"description":"rent_tax_rate: the provider's fee table could not be read, so the refundable rate cannot be priced. price_breakdown: the provider sent only a total. line_items_mismatch: the itemised charges add up to more than the total.","items":{"type":"string"},"type":"array"},"nightly_subtotal_minor":{"description":"Rent for the nights before any discount, plus the refundable-rate premium when that rate is quoted.","minimum":0,"type":["integer","null"]},"nights":{"type":["integer","null"]},"optional_fees_minor":{"description":"Fees the guest chose, the pet fee for the pets in this quote.","minimum":0,"type":["integer","null"]},"quote_id":{"description":"Stable id for this priced stay: the same home, dates, guests, pets, rate and total give the same id; any change gives a new one. Not a hold or a reservation.","type":"string"},"refundable":{"description":"True when the rate this quote prices can be cancelled for a refund until its free-cancellation deadline; false for the non-refundable rate.","type":"boolean"},"refundable_security_hold_minor":{"description":"A refundable hold on the card on file, separate from the total. The home's own amount, or the standard hold when it states none.","minimum":0,"type":"integer"},"tax_source":{"description":"Where the tax comes from: the provider's own quote, or our verified rate table for the home's jurisdiction when the provider's quote had none. Either way the tax is collected and in the total.","enum":["provider","jurisdiction_table"],"type":"string"},"taxes_included":{"description":"True: the total includes lodging tax, which is collected on every stay.","type":"boolean"},"taxes_minor":{"description":"Lodging tax.","minimum":0,"type":["integer","null"]},"timezone":{"description":"IANA zone of the home: the provider's own zone when it states one, otherwise the zone of the home's US state (timezone_source says which). Null when unknown.","type":["string","null"]},"timezone_source":{"enum":["listing","market","unknown"],"type":"string"},"total_stay_price_minor":{"description":"The whole price of the stay, equal to stay_total in cents.","minimum":0,"type":"integer"}},"required":["availability_status","inventory_held","checked_at","canonical_url","incomplete","missing"],"type":"object"},"quote_expires_at":{"description":"When this quote lapses. After it, the price of the stay can differ from stay_total until it is quoted again.","type":"string"},"quoted_at":{"type":"string"},"rate_options":{"description":"Every rate on offer for this stay. The first is the non-refundable rate (the same totals as the top level). When check-in is more than 30 days away a refundable rate follows: 8% more on the nightly subtotal, taxed as rent, cancellable until free_cancel_until; on a cancellation by then the 3.5% card processing fee is non-refundable and everything else paid is refunded in full. Each rate has its own booking_url.","items":{"properties":{"booking_url":{"type":"string"},"cancellation":{"description":"This rate's terms.","type":"string"},"free_cancel_until":{"description":"Refundable rate only. The last instant, in UTC, the stay can be cancelled for a refund of everything paid except the 3.5% card processing fee.","type":"string"},"payment_schedule":{"type":"object"},"plan":{"enum":["non_refundable","refundable"],"type":"string"},"price_breakdown":{"type":"object"},"refundable":{"description":"True when this rate can be cancelled for a refund until free_cancel_until; false when a confirmed reservation cannot be cancelled for a refund.","type":"boolean"},"stay_total":{"type":"number"},"total_due_now":{"type":"number"}},"required":["plan","refundable","stay_total","total_due_now","cancellation","booking_url"],"type":"object"},"type":"array"},"reason":{"description":"Why the stay cannot be booked. Only present when available is false.","type":"string"},"security_deposit_hold":{"description":"A refundable hold, not part of stay_total.","type":["number","null"]},"stay_total":{"description":"The price of the stay, including cleaning, fees and taxes. Nightly rates exclude them.","type":["number","null"]},"total_display":{"description":"stay_total, formatted.","type":"string"},"total_due_now":{"description":"What the guest pays at booking: the whole stay_total, or 50% of it when check-in is more than 60 days away; payment_schedule says which.","type":["number","null"]}},"required":["property_id","available","booking_url"],"type":"object"}after
{"description":"A live total for one stay. When available is false only property_id, available, reason, booking_url and a short quote block are present.","properties":{"available":{"type":"boolean"},"booking_url":{"description":"Where the guest completes the booking on Luxury Lodging's own site, for the non-refundable rate. It names the coupon only when the coupon applied.","type":"string"},"cancellation":{"description":"This home's own cancellation terms for the non-refundable rate, which stay_total prices. Each entry in rate_options carries its own terms, and those are the only refund terms that apply to that rate.","type":"string"},"check_in":{"type":"string"},"check_in_from":{"type":"string"},"check_out":{"type":"string"},"check_out_by":{"type":"string"},"coupon":{"description":"What happened to the coupon_code that was sent. Only returned when one was sent. The stay's totals already include the coupon when applied is true and are the price without it when applied is false.","properties":{"amount_off":{"description":"Dollars taken off the stay's rent. Only when applied is true; it is already inside the totals.","type":"number"},"applied":{"description":"True when the code took money off this stay.","type":"boolean"},"code":{"description":"The code as sent, in upper case.","type":"string"},"label":{"description":"What the discount is called. Only when applied is true.","type":"string"},"message":{"description":"A sentence the guest can read about the code.","type":"string"},"reason":{"description":"Why the code did not apply. Only when applied is false. unknown: no such code. unavailable: the code could not be checked just now.","enum":["unknown","inactive","expired","not_started","wrong_market","wrong_home","requires_attribution","no_discountable_amount","outside_offer_window","blacked_out","minimum_nights","already_used","unavailable"],"type":"string"}},"required":["code","applied","message"],"type":"object"},"currency":{"type":"string"},"guests":{"type":"integer"},"maximum_nights":{"type":["number","null"]},"minimum_nights":{"type":["number","null"]},"name":{"type":"string"},"nights":{"type":["integer","null"]},"note":{"type":"string"},"payment_schedule":{"description":"When the guest pays. plan 'deposit': due_at_booking now and the balance charged automatically to the same card on balance_charged_on (60 days before check-in). plan 'full': everything at booking.","properties":{"balance":{"type":"number"},"balance_charged_on":{"type":"string"},"due_at_booking":{"type":"number"},"plan":{"enum":["full","deposit"],"type":"string"}},"type":"object"},"pets":{"description":"How many pets this quote is for. pet_fee in price_breakdown is the fee for that many.","maximum":4,"minimum":0,"type":"integer"},"price_breakdown":{"properties":{"card_processing_fee":{"type":["number","null"]},"cleaning_fee":{"type":["number","null"]},"discount":{"description":"Dollars the coupon took off the rent; 0 when none applied.","type":["number","null"]},"extra_guest_fee":{"type":["number","null"]},"nightly_subtotal":{"type":["number","null"]},"other_fees":{"type":["number","null"]},"pet_fee":{"type":["number","null"]},"refundable_rate_premium":{"description":"The 8% of the nightly subtotal the refundable rate adds; 0 on the non-refundable rate.","type":["number","null"]},"taxes":{"description":"Lodging tax. It is collected on every stay and included in the total.","type":["number","null"]},"total":{"type":["number","null"]}},"type":["object","null"]},"property_id":{"type":"integer"},"quote":{"description":"The authoritative, machine-readable quote for this stay, for the rate stay_total prices (the non-refundable rate). Amounts ending in _minor are integer cents in `currency`. total_stay_price_minor is exactly what the guest is charged in total, including taxes and the card processing fee, and the amounts add up: total_stay_price_minor = nightly_subtotal_minor + mandatory_fees_minor + optional_fees_minor + taxes_minor + card_fee_minor - discounts_minor. When available is false only availability_status, inventory_held, checked_at, canonical_url, incomplete and missing are present. The itemised _minor amounts are null only when missing includes price_breakdown.","properties":{"availability_status":{"enum":["available","unavailable"],"type":"string"},"cancellation_policy_id":{"description":"The rate this quote prices; rate_options lists both.","enum":["non_refundable","refundable"],"type":"string"},"cancellation_summary":{"type":"string"},"canonical_url":{"description":"The home's property page, not the booking link.","type":"string"},"card_fee_minor":{"description":"The 3.5% card processing fee, added at checkout and included in the total. It is non-refundable when a refundable-rate stay is cancelled.","minimum":0,"type":["integer","null"]},"charges":{"description":"Every charge, itemised. The amounts of the rows with paid_at checkout add up to total_stay_price_minor exactly; a discount row is negative.","items":{"properties":{"amount_minor":{"type":"integer"},"name":{"type":"string"},"paid_at":{"description":"checkout: part of the total. outside_checkout: not part of it (the security hold).","enum":["checkout","outside_checkout"],"type":"string"},"type":{"enum":["nightly","fee","tax","discount","card_fee","security_hold","adjustment"],"type":"string"}},"required":["type","name","amount_minor","paid_at"],"type":"object"},"type":"array"},"checked_at":{"description":"When this quote was fetched, ISO 8601.","type":"string"},"currency":{"description":"ISO 4217 code, e.g. USD.","type":"string"},"discounts_minor":{"description":"A positive amount subtracted from the total; 0 when there is none.","minimum":0,"type":["integer","null"]},"due_later_minor":{"description":"The rest, charged automatically to the same card 60 days before check-in; 0 when everything is due now.","minimum":0,"type":"integer"},"due_now_minor":{"description":"Charged when the guest books: 50% of the total when check-in is more than 60 days away, otherwise all of it.","minimum":0,"type":"integer"},"expires_at":{"description":"When the quote lapses, ISO 8601; the same instant as quote_expires_at.","type":"string"},"incomplete":{"description":"True when a required input or tax could not be determined; missing says which.","type":"boolean"},"inventory_held":{"description":"False: a quote does not hold the home.","type":"boolean"},"mandatory_fees_minor":{"description":"Cleaning and every other required fee.","minimum":0,"type":["integer","null"]},"missing":{"description":"rent_tax_rate: the provider's fee table could not be read, so the refundable rate cannot be priced. price_breakdown: the provider sent only a total. line_items_mismatch: the itemised charges add up to more than the total.","items":{"type":"string"},"type":"array"},"nightly_subtotal_minor":{"description":"Rent for the nights before any discount, plus the refundable-rate premium when that rate is quoted.","minimum":0,"type":["integer","null"]},"nights":{"type":["integer","null"]},"optional_fees_minor":{"description":"Fees the guest chose, the pet fee for the pets in this quote.","minimum":0,"type":["integer","null"]},"quote_id":{"description":"Stable id for this priced stay: the same home, dates, guests, pets, rate and total give the same id; any change gives a new one. Not a hold or a reservation.","type":"string"},"refundable":{"description":"True when the rate this quote prices can be cancelled for a refund until its free-cancellation deadline; false for the non-refundable rate.","type":"boolean"},"refundable_security_hold_minor":{"description":"A refundable hold on the card on file, separate from the total. The home's own amount, or the standard hold when it states none.","minimum":0,"type":"integer"},"tax_source":{"description":"Where the tax comes from: the provider's own quote, or our verified rate table for the home's jurisdiction when the provider's quote had none. Either way the tax is collected and in the total.","enum":["provider","jurisdiction_table"],"type":"string"},"taxes_included":{"description":"True: the total includes lodging tax, which is collected on every stay.","type":"boolean"},"taxes_minor":{"description":"Lodging tax.","minimum":0,"type":["integer","null"]},"timezone":{"description":"IANA zone of the home: the provider's own zone when it states one, otherwise the zone of the home's US state (timezone_source says which). Null when unknown.","type":["string","null"]},"timezone_source":{"enum":["listing","market","unknown"],"type":"string"},"total_stay_price_minor":{"description":"The whole price of the stay, equal to stay_total in cents.","minimum":0,"type":"integer"}},"required":["availability_status","inventory_held","checked_at","canonical_url","incomplete","missing"],"type":"object"},"quote_expires_at":{"description":"When this quote lapses. After it, the price of the stay can differ from stay_total until it is quoted again.","type":"string"},"quoted_at":{"type":"string"},"rate_options":{"description":"Every rate on offer for this stay. The first is the non-refundable rate (the same totals as the top level). When check-in is more than 30 days away a refundable rate follows: 8% more on the nightly subtotal, taxed as rent, cancellable until free_cancel_until; on a cancellation by then the 3.5% card processing fee is non-refundable and everything else paid is refunded in full. Each rate has its own booking_url.","items":{"properties":{"booking_url":{"type":"string"},"cancellation":{"description":"This rate's terms.","type":"string"},"free_cancel_until":{"description":"Refundable rate only. The last instant, in UTC, the stay can be cancelled for a refund of everything paid except the 3.5% card processing fee.","type":"string"},"payment_schedule":{"type":"object"},"plan":{"enum":["non_refundable","refundable"],"type":"string"},"price_breakdown":{"type":"object"},"refundable":{"description":"True when this rate can be cancelled for a refund until free_cancel_until; false when a confirmed reservation cannot be cancelled for a refund.","type":"boolean"},"stay_total":{"type":"number"},"total_due_now":{"type":"number"}},"required":["plan","refundable","stay_total","total_due_now","cancellation","booking_url"],"type":"object"},"type":"array"},"reason":{"description":"Why the stay cannot be booked. Only present when available is false.","type":"string"},"security_deposit_hold":{"description":"A refundable hold, not part of stay_total.","type":["number","null"]},"stay_total":{"description":"The price of the stay, including cleaning, fees and taxes, and the coupon when one applied. Nightly rates exclude them.","type":["number","null"]},"total_display":{"description":"stay_total, formatted.","type":"string"},"total_due_now":{"description":"What the guest pays at booking: the whole stay_total, or 50% of it when check-in is more than 60 days away; payment_schedule says which.","type":["number","null"]}},"required":["property_id","available","booking_url"],"type":"object"}⟨7 unchanged words⟩ "homes":{"items":{"properties":{"accommodation_type":{"description":"What the guest rents: an entire home, a private room in a shared building or a shared room. A private room or shared room is not an entire home. unknown means the type is not recorded for this home.","enum":["entire_home","private_room","shared_room","unknown"],"type":"string"},"available":{"description":"Only present when dates ⟨31 unchanged words⟩ the stay.","type":"number"},"bathroom_sharing":{"description":"Whether the guest has a private bathroom or shares one. unknown means it is not recorded for this home.","enum":["private","shared","unknown"],"type":"string"},"bathrooms":{"type":["number","null" ⟨51 unchanged words⟩ :"boolean"},"from_price_note":{"description":"Only present when from_price_per_night is null: what is and is not visible about this home's calendar. A null starting rate means neither that the home is booked out norDeprecated,thatnoitlongerisreturnedreadyalongtowithbook.from_price_per_night.","type":"string"},"from_price_per_night":{"description":"Starting nightly rate. It excludes cleaning, fees and taxesDeprecated,so it is not the price of any stay.noOnlylongerpresentreturned:ononly a rowwithout stay_total.withNullameansconfirmednostay_totalstartingcarriesrateaisprice.publishedKeptforin thishome, not that itschemaissofree;existingfrom_price_noteclientssaysstillwhy.validate.","type":["number","null"]} ⟨39 unchanged words⟩ "null"]},"pet_fee":{"description":"For aThestayfeewithfor one pet, from the fee table the quote chargesfrom.from; with several pets a live quote charges it as pet_fee_basis says (per pet, per pet per night) and states the total in price_breakdown.pet_fee. Null when the home charges none; omitted when ⟨12 unchanged words⟩ },"pet_fee_basis":{"enum":["per stay","per night","per pet","per pet per night ⟨107 unchanged words⟩
⟨99 unchanged words⟩ this tool does not book or take payment. Amounts ending in _minor are integer cents in `currency`.
⟨16 unchanged words⟩ :"string"},"guests":{"description":"NumberEveryoneofstaying,guests.including children and infants.","maximum":50,"minimum":1,"type":"integer"},"pets":{"description":"WhetherHow many pets the guest is bringing,a0pet;tothis4; 0 or leave out for none. true means one pet and false none. This changes theprice.price: some homes charge per pet or per pet per night.","maximum":4,"minimum":0,"type":["integer","boolean"]},"property_id":{"description":"Property id ⟨10 unchanged words⟩
before
{"description":"A live total for one stay. When available is false only property_id, available, reason and booking_url are present.","properties":{"available":{"type":"boolean"},"booking_url":{"type":"string"},"cancellation":{"description":"This home's own cancellation terms for the non-refundable rate, which stay_total prices. Each entry in rate_options carries its own terms, and those are the only refund terms that apply to that rate.","type":"string"},"check_in":{"type":"string"},"check_in_from":{"type":"string"},"check_out":{"type":"string"},"check_out_by":{"type":"string"},"currency":{"type":"string"},"guests":{"type":"integer"},"maximum_nights":{"type":["number","null"]},"minimum_nights":{"type":["number","null"]},"name":{"type":"string"},"nights":{"type":["integer","null"]},"note":{"type":"string"},"payment_schedule":{"description":"When the guest pays. plan 'deposit': due_at_booking now and the balance charged automatically to the same card on balance_charged_on (60 days before check-in). plan 'full': everything at booking.","properties":{"balance":{"type":"number"},"balance_charged_on":{"type":"string"},"due_at_booking":{"type":"number"},"plan":{"enum":["full","deposit"],"type":"string"}},"type":"object"},"pets":{"type":"boolean"},"price_breakdown":{"properties":{"card_processing_fee":{"type":["number","null"]},"cleaning_fee":{"type":["number","null"]},"discount":{"type":["number","null"]},"extra_guest_fee":{"type":["number","null"]},"nightly_subtotal":{"type":["number","null"]},"other_fees":{"type":["number","null"]},"pet_fee":{"type":["number","null"]},"refundable_rate_premium":{"description":"The 8% of the nightly subtotal the refundable rate adds; 0 on the non-refundable rate.","type":["number","null"]},"taxes":{"description":"Lodging tax. It is collected on every stay and included in the total.","type":["number","null"]},"total":{"type":["number","null"]}},"type":["object","null"]},"property_id":{"type":"integer"},"quote_expires_at":{"description":"When this quote lapses. After it, the price of the stay can differ from stay_total until it is quoted again.","type":"string"},"quoted_at":{"type":"string"},"rate_options":{"description":"Every rate on offer for this stay. The first is the non-refundable rate (the same totals as the top level). When check-in is more than 30 days away a refundable rate follows: 8% more on the nightly subtotal, taxed as rent, cancellable for a full refund of everything paid until free_cancel_until. Each rate has its own booking_url.","items":{"properties":{"booking_url":{"type":"string"},"cancellation":{"description":"This rate's terms.","type":"string"},"free_cancel_until":{"description":"Refundable rate only. The last instant, in UTC, the stay can be cancelled for a full refund.","type":"string"},"payment_schedule":{"type":"object"},"plan":{"enum":["non_refundable","refundable"],"type":"string"},"price_breakdown":{"type":"object"},"stay_total":{"type":"number"},"total_due_now":{"type":"number"}},"required":["plan","stay_total","total_due_now","cancellation","booking_url"],"type":"object"},"type":"array"},"reason":{"description":"Why the stay cannot be booked. Only present when available is false.","type":"string"},"security_deposit_hold":{"description":"A refundable hold, not part of stay_total.","type":["number","null"]},"stay_total":{"description":"The price of the stay, including cleaning, fees and taxes. Nightly rates exclude them.","type":["number","null"]},"total_display":{"description":"stay_total, formatted.","type":"string"},"total_due_now":{"description":"What the guest pays at booking: the whole stay_total, or 50% of it when check-in is more than 60 days away; payment_schedule says which.","type":["number","null"]}},"required":["property_id","available","booking_url"],"type":"object"}⟨52 unchanged words⟩ each with its source; no average rating exists. `accommodation_type` and `bathroom_sharing` say whether the guest rents an entire home or a room: a private room or shared room is not an entire home.
{"properties":{"accommodation_type":{"description":"What the guest rents: an entire home, a private room in a shared building or a shared room. A private room or shared room is not an entire home. unknown means the type is not recorded for this home.","enum":["entire_home","private_room","shared_room","unknown"],"type":"string"},"alias":{"type":["string","null" ⟨9 unchanged words⟩ ,"unavailable"],"type":"string"},"bathroom_sharing":{"description":"Whether the guest has a private bathroom or shares one. unknown means it is not recorded for this home.","enum":["private","shared","unknown"],"type":"string"},"bathrooms":{"type":["number","null" ⟨188 unchanged words⟩ "null"]},"pet_fee":{"description":"For aThestayfeewithfor one pet, from the fee table the quote chargesfrom.from; with several pets a live quote charges it as pet_fee_basis says (per pet, per pet per night) and states the total in price_breakdown.pet_fee. Null when the home charges none; omitted when ⟨12 unchanged words⟩ "pet_fee_basis":{"description":"How pet_fee applies.A per-pet-per-nightPerfeenight multiplies by thenights.nights; per pet by the number of pets; per pet per night by both.","enum":["per stay","per night","per pet","per pet per night ⟨91 unchanged words⟩
⟨18 unchanged words⟩ homes and the largest group each can sleep. Counts are given for the city alone and for the wider area a search covers, split into whole homes and rooms. It shows whether a destination is covered, including ⟨8 unchanged words⟩
⟨4 unchanged words⟩ "markets":{"items":{"properties":{"area_name":{"type":"string"},"city":{"type":"string"},"collection_url" ⟨42 unchanged words⟩ "type":["string","null"]},"counts":{"description":"The same stays split into whole homes and rooms, for the city alone and for the area. homes includes unknown_type; a room is not a whole home.","properties":{"area":{"properties":{"homes":{"description":"Entire homes, plus homes whose type is not recorded (unknown_type).","type":"integer"},"private_rooms":{"type":"integer"},"shared_rooms":{"type":"integer"},"total":{"type":"integer"},"unknown_type":{"description":"Counted inside homes: nothing on record says whether these are whole homes.","type":"integer"}},"required":["total","homes","private_rooms","shared_rooms","unknown_type"],"type":"object"},"city":{"properties":{"homes":{"description":"Entire homes, plus homes whose type is not recorded (unknown_type).","type":"integer"},"private_rooms":{"type":"integer"},"shared_rooms":{"type":"integer"},"total":{"type":"integer"},"unknown_type":{"description":"Counted inside homes: nothing on record says whether these are whole homes.","type":"integer"}},"required":["total","homes","private_rooms","shared_rooms","unknown_type"],"type":"object"}},"type":"object"},"homes":{"type":"integer"},"homes_in_area":{"description":"Stays a search for this market returns before dates, including nearby cities (Chicago: 65 miles around the city). At least homes.","type":"integer"},"sleeps_max":{"description":"The largest group any ⟨18 unchanged words⟩ it.","type":["string","null"]},"summary":{"description":"The counts as a guest reads them, e.g. \"41 stays in Chicago · 47 in the Chicago area, including 13 private rooms\".","type":"string"}},"required":["city","homes", ⟨18 unchanged words⟩
⟨95 unchanged words⟩ was not established: they are unknown, notunavailable.unavailable, and `unpriced_property_ids` lists the property_id of up to 30 of them, each of which can be priced individually with a live quote. Pet-friendly searches also report `pet_policy_unknown`: otherwise matching homes ⟨25 unchanged words⟩ or a narrower place covers more of it. Without dates no price is returned. Each result carries `accommodation_type` and `bathroom_sharing`: a private room or shared room is not an entire home. Optional filters cover accommodation type, exact bedrooms, required amenities and a budget; results can be paged with `cursor`, and `completeness` is partial when a matching home was left unpriced or unchecked. A query that names a known landmark or area ("near McCormick Place") returns homes within `radius_miles` of it, nearest first, each with `distance_miles` and `distance_type` straight_line: a direct distance, not a driving or walking route.
{"additionalProperties":false,"properties":{"accommodation_type":{"description":"What the guest rents. Homes whose type is not recorded are left out and counted in accommodation_type_unknown.","enum":["entire_home","private_room","shared_room"],"type":"string"},"amenities":{"description":"Amenities every returned home has, as recorded by the property manager. The same hard filter as amenities_required, except a home with no amenity data is left out without being counted.","items":{"enum":["pool", ⟨7 unchanged words⟩ :"string"},"type":"array"},"amenities_preferred":{"description":"Amenities that order homes when the requested sort ties, and appear in match_reasons. Homes lacking them stay in the results.","items":{"enum":["pool","hot_tub","parking","wifi","kitchen","washer","pets"],"type":"string"},"type":"array"},"amenities_required":{"description":"Amenities every returned home has. A home whose amenity data is unavailable fails the filter and is counted in amenities_unknown.","items":{"enum":["pool","hot_tub","parking","wifi","kitchen","washer","pets"],"type":"string"},"type":"array"},"bathrooms_min":{"description":"Fewest bathrooms acceptable.","maximum":100,"minimum":1,"type":"integer"},"bedrooms_exact":{"description":"Exactly this many bedrooms; 0 is a studio. Cannot be sent together with bedrooms_min.","maximum":100,"minimum":0,"type":"integer"},"bedrooms_min":{"description":"Fewest bedrooms acceptable.","maximum":100,"minimum":1,"type":"integer"},"budget":{"additionalProperties":false,"description":"A spending limit. scope total compares amount with each home's stay total including cleaning, fees and taxes, and needs check_in and check_out. scope nightly compares it with each home's starting nightly rate, which excludes cleaning, fees and taxes. amount, currency and scope are all required.","properties":{"amount":{"description":"The limit, in the stated currency.","exclusiveMinimum":0,"maximum":1000000,"type":"number"},"currency":{"description":"Only USD is supported.","enum":["USD"],"type":"string"},"scope":{"description":"total: the whole stay, with dates. nightly: the starting nightly rate, excluding fees and taxes.","enum":["total","nightly"],"type":"string"}},"required":["amount","currency","scope"],"type":"object"},"check_in":{"description":"Check-in date, YYYY-MM-DD. Availability is checked only when ⟨9 unchanged words⟩ date, YYYY-MM-DD.","type":"string"},"guestscursor":{"description":"NumberThe next_cursor value of the previous response, valid only with the same other inputs. Returns the page after it.","type":"string"},"guests":{"description":"Everyone staying, includingchildren.children and infants.","maximum":50,"minimum":1,"type ⟨51 unchanged words⟩ "minimum":1,"type":"integer"},"page":{"description":"Page number, starting at 1, counted in units of page_size. Cannot be sent together with cursor.","minimum":1,"type":"integer"},"page_size":{"description":"Results per page, up to 20. Takes the place of limit when both are sent.","maximum":20,"minimum":1,"type":"integer"},"pets":{"description":"TheHow many pets the guest is bringing,a0pet.to 4; 0 or leave out for none. true means one pet and false none. Results are limited to pet-friendly homes, dated totals include the pet fee for that many pets, and booking links keep thepetnumberselection.of pets.","maximum":4,"minimum":0,"type":["integer","boolean"]},"price_all_matches":{"description":"Prices every ⟨36 unchanged words⟩ description":"Free text place, e.g. 'Tampa', a neighbourhood, or a landmark such as 'near McCormick Place, Chicago'. A known Chicagodowntown'landmark or area (McCormick Place, Navy Pier, Wrigley Field, O'Hare Airport, the South Loop and others) returns homes within radius_miles, nearest first, with a straight-line distance. Text that names no city, state, neighbourhood oralandmarklandmark.is refused with INVALID_INPUT; it is not answered as an empty, complete result.","type":"string"},"radius_miles":{"description":"How far from a named landmark or area to search, in whole miles, 1 to 25. Homes are included by the distance they state, to the nearest half mile. Defaults to 5 for a landmark and 3 for an area. Ignored for any other place.","maximum":25,"minimum":1,"type":"integer"},"sort":{"description":"total_price_* needs dates and orders by the stay total; from_price_asc orders by a startingnightlyraterate;that is not returned, and with dates by the stay total; sleeps_desc puts the largest homes first.","enum ⟨8 unchanged words⟩
before
{"properties":{"availability_note":{"type":"string"},"dates_checked":{"description":"False means availability is unknown and no stay has been priced; no row carries a stay_total.","type":"boolean"},"matches":{"description":"How many results this response carries.","type":"integer"},"pet_policy_unknown":{"description":"Otherwise matching homes omitted from a pet-friendly search because their pet policy is unknown, not confirmed to prohibit pets. Applies with or without dates; included in unpriced_in_time when dated. A positive count means the pet-friendly inventory is incomplete.","type":"integer"},"properties":{"items":{"properties":{"avg_per_night":{"description":"No longer returned; stay_total is the price of the stay.","type":"number"},"avg_per_night_display":{"type":"string"},"bathrooms":{"type":["number","null"]},"bedrooms":{"type":["number","null"]},"booking_url":{"description":"Where the guest completes the booking on Luxury Lodging's own site.","type":"string"},"city":{"type":"string"},"from_price_note":{"description":"Only present when from_price_per_night is null: what is and is not visible about this home's calendar. A null starting rate means neither that the home is booked out nor that it is ready to book.","type":"string"},"from_price_per_night":{"description":"Starting nightly rate, used to order results. It excludes cleaning, fees and taxes, so it is not the price of any stay. Only present on a row without stay_total. Null means no starting rate is published for this home, not that it is free or cheap; from_price_note says why.","type":["number","null"]},"highlights":{"description":"Up to three short phrases describing what sets the home apart.","items":{"type":"string"},"type":"array"},"name":{"type":"string"},"neighbourhood":{"description":"Neighbourhood-level location only; the exact address is shared after booking.","type":["string","null"]},"nights":{"type":"integer"},"photo":{"type":["string","null"]},"property_id":{"type":"integer"},"property_type":{"type":["string","null"]},"review_count":{"description":"How many 4- and 5-star reviews this home has. It is a count, not a rating; no average rating exists for any home.","type":"integer"},"review_sources":{"description":"Which platforms those reviews came from.","items":{"type":"string"},"type":"array"},"similar_units":{"description":"Only present when interchangeable units of this type exist; any of these ids can be quoted and booked.","properties":{"count":{"type":"integer"},"note":{"type":"string"},"property_ids":{"items":{"type":"integer"},"type":"array"}},"required":["count","note","property_ids"],"type":"object"},"sleeps":{"type":["integer","null"]},"state":{"type":["string","null"]},"stay_total":{"description":"Total for the requested dates including cleaning, fees and taxes. Only present when dates were given and the home was priced.","type":"number"},"stay_total_display":{"type":"string"},"top_amenities":{"items":{"type":"string"},"type":"array"}},"required":["property_id","name","city","top_amenities","review_count","review_sources","highlights","booking_url"],"type":"object"},"type":"array"},"searched_location":{"type":["string","null"]},"total_matching":{"description":"How many individual homes matched, counting every interchangeable unit.","type":"integer"},"total_matching_groups":{"description":"How many distinct unit types matched.","type":"integer"},"unpriced_in_time":{"description":"Matching homes whose availability was not established for these dates, because their pet policy could not be verified, a quote failed, the request ran out of budget, or it did not reach them. They are unknown, not unavailable. `price_all_matches`, a higher `limit`, or a narrower place establishes more of them.","type":"integer"}},"required":["matches","total_matching","total_matching_groups","unpriced_in_time","dates_checked","availability_note","properties"],"type":"object"}Get a booking link — A link to Luxury Lodging's own site that opens checkout for one home, dates, party size and rate, for the same stay, rate and attribution as a live quote's booking_url, carrying a freshly signed quote token. It checks the stay the way a live quote does: valid dates, the home's guest limit and its pet policy, and it re-prices the stay to sign the link without returning the total. Opening the link does not reserve the home, hold dates or take payment; the guest completes checkout on EscapeStays. When the guest has dates and wants to book, call get_booking_link and give the guest that URL. Never…
⟨7 unchanged words⟩ "homes":{"items":{"properties":{"accommodation_type":{"description":"What the guest rents: an entire home, a private room in a shared building or a shared room. A private room or shared room is not an entire home. unknown means the type is not recorded for this home.","enum":["entire_home","private_room","shared_room","unknown"],"type":"string"},"available":{"description":"Only present when dates ⟨31 unchanged words⟩ the stay.","type":"number"},"bathroom_sharing":{"description":"Whether the guest has a private bathroom or shares one. unknown means it is not recorded for this home.","enum":["private","shared","unknown"],"type":"string"},"bathrooms":{"type":["number","null" ⟨51 unchanged words⟩ :"boolean"},"from_price_note":{"description":"Deprecated,Onlynopresentlongerwhenreturnedfrom_price_per_nightalongiswithnull:from_price_per_night.what is and is not visible about this home's calendar. A null starting rate means neither that the home is booked out nor that it is ready to book.","type":"string"},"from_price_per_night":{"description":"DeprecatedStarting nightly rate. It excludes cleaning,nofeeslongerandreturned:taxes,onlyso it is not the price of any stay. Only present on a rowwithwithoutastay_total.confirmedNullstay_totalmeanscarriesnoastartingprice.rateKeptisinpublished for thisschemahome,sonotexistingthatclientsitstillisvalidate.free; from_price_note says why.","type":["number","null"]} ⟨39 unchanged words⟩ "null"]},"pet_fee":{"description":"TheForfeeaforstay with one pet, from the fee table the quote chargesfrom; with several pets a live quote charges it as pet_fee_basis says (per pet, per pet per night) and states the total in price_breakdown.pet_fee.from. Null when the home charges none; omitted when ⟨12 unchanged words⟩ },"pet_fee_basis":{"enum":["per stay","per night","per pet","per pet per night ⟨107 unchanged words⟩
⟨99 unchanged words⟩ this tool does not book or take payment.Amounts ending in _minor are integer cents in `currency`.
⟨16 unchanged words⟩ :"string"},"guests":{"description":"Everyone staying, including childrenNumberandofinfants.guests.","maximum":50,"minimum":1,"type":"integer"},"pets":{"description":"How many petsWhether the guest is bringing,0 to 4; 0 or leave out for none. true means one pet and falseanone.pet;Thisthis changes theprice: some homes charge per pet or per pet per night.","maximum":4,"minimumprice.":0,"type":["integer","boolean"]},"property_id":{"description":"Property id ⟨10 unchanged words⟩
before
{"description":"A live total for one stay. When available is false only property_id, available, reason, booking_url and a short quote block are present.","properties":{"available":{"type":"boolean"},"booking_url":{"type":"string"},"cancellation":{"description":"This home's own cancellation terms for the non-refundable rate, which stay_total prices. Each entry in rate_options carries its own terms, and those are the only refund terms that apply to that rate.","type":"string"},"check_in":{"type":"string"},"check_in_from":{"type":"string"},"check_out":{"type":"string"},"check_out_by":{"type":"string"},"currency":{"type":"string"},"guests":{"type":"integer"},"maximum_nights":{"type":["number","null"]},"minimum_nights":{"type":["number","null"]},"name":{"type":"string"},"nights":{"type":["integer","null"]},"note":{"type":"string"},"payment_schedule":{"description":"When the guest pays. plan 'deposit': due_at_booking now and the balance charged automatically to the same card on balance_charged_on (60 days before check-in). plan 'full': everything at booking.","properties":{"balance":{"type":"number"},"balance_charged_on":{"type":"string"},"due_at_booking":{"type":"number"},"plan":{"enum":["full","deposit"],"type":"string"}},"type":"object"},"pets":{"description":"How many pets this quote is for. pet_fee in price_breakdown is the fee for that many.","maximum":4,"minimum":0,"type":"integer"},"price_breakdown":{"properties":{"card_processing_fee":{"type":["number","null"]},"cleaning_fee":{"type":["number","null"]},"discount":{"type":["number","null"]},"extra_guest_fee":{"type":["number","null"]},"nightly_subtotal":{"type":["number","null"]},"other_fees":{"type":["number","null"]},"pet_fee":{"type":["number","null"]},"refundable_rate_premium":{"description":"The 8% of the nightly subtotal the refundable rate adds; 0 on the non-refundable rate.","type":["number","null"]},"taxes":{"description":"Lodging tax. It is collected on every stay and included in the total.","type":["number","null"]},"total":{"type":["number","null"]}},"type":["object","null"]},"property_id":{"type":"integer"},"quote":{"description":"The authoritative, machine-readable quote for this stay, for the rate stay_total prices (the non-refundable rate). Amounts ending in _minor are integer cents in `currency`. total_stay_price_minor is exactly what the guest is charged in total, including taxes and the card processing fee, and the amounts add up: total_stay_price_minor = nightly_subtotal_minor + mandatory_fees_minor + optional_fees_minor + taxes_minor + card_fee_minor - discounts_minor. When available is false only availability_status, inventory_held, checked_at, canonical_url, incomplete and missing are present. The itemised _minor amounts are null only when missing includes price_breakdown.","properties":{"availability_status":{"enum":["available","unavailable"],"type":"string"},"cancellation_policy_id":{"description":"The rate this quote prices; rate_options lists both.","enum":["non_refundable","refundable"],"type":"string"},"cancellation_summary":{"type":"string"},"canonical_url":{"description":"The home's property page, not the booking link.","type":"string"},"card_fee_minor":{"description":"The 3.5% card processing fee, added at checkout and included in the total.","minimum":0,"type":["integer","null"]},"charges":{"description":"Every charge, itemised. The amounts of the rows with paid_at checkout add up to total_stay_price_minor exactly; a discount row is negative.","items":{"properties":{"amount_minor":{"type":"integer"},"name":{"type":"string"},"paid_at":{"description":"checkout: part of the total. outside_checkout: not part of it (the security hold).","enum":["checkout","outside_checkout"],"type":"string"},"type":{"enum":["nightly","fee","tax","discount","card_fee","security_hold","adjustment"],"type":"string"}},"required":["type","name","amount_minor","paid_at"],"type":"object"},"type":"array"},"checked_at":{"description":"When this quote was fetched, ISO 8601.","type":"string"},"currency":{"description":"ISO 4217 code, e.g. USD.","type":"string"},"discounts_minor":{"description":"A positive amount subtracted from the total; 0 when there is none.","minimum":0,"type":["integer","null"]},"due_later_minor":{"description":"The rest, charged automatically to the same card 60 days before check-in; 0 when everything is due now.","minimum":0,"type":"integer"},"due_now_minor":{"description":"Charged when the guest books: 50% of the total when check-in is more than 60 days away, otherwise all of it.","minimum":0,"type":"integer"},"expires_at":{"description":"When the quote lapses, ISO 8601; the same instant as quote_expires_at.","type":"string"},"incomplete":{"description":"True when a required input or tax could not be determined; missing says which.","type":"boolean"},"inventory_held":{"description":"False: a quote does not hold the home.","type":"boolean"},"mandatory_fees_minor":{"description":"Cleaning and every other required fee.","minimum":0,"type":["integer","null"]},"missing":{"description":"rent_tax_rate: the provider's fee table could not be read, so the refundable rate cannot be priced. price_breakdown: the provider sent only a total. line_items_mismatch: the itemised charges add up to more than the total.","items":{"type":"string"},"type":"array"},"nightly_subtotal_minor":{"description":"Rent for the nights before any discount, plus the refundable-rate premium when that rate is quoted.","minimum":0,"type":["integer","null"]},"nights":{"type":["integer","null"]},"optional_fees_minor":{"description":"Fees the guest chose, the pet fee for the pets in this quote.","minimum":0,"type":["integer","null"]},"quote_id":{"description":"Stable id for this priced stay: the same home, dates, guests, pets, rate and total give the same id; any change gives a new one. Not a hold or a reservation.","type":"string"},"refundable":{"description":"True when the rate this quote prices can be cancelled for a refund until its free-cancellation deadline; false for the non-refundable rate.","type":"boolean"},"refundable_security_hold_minor":{"description":"A refundable hold on the card on file, separate from the total. The home's own amount, or the standard hold when it states none.","minimum":0,"type":"integer"},"tax_source":{"description":"Where the tax comes from: the provider's own quote, or our verified rate table for the home's jurisdiction when the provider's quote had none. Either way the tax is collected and in the total.","enum":["provider","jurisdiction_table"],"type":"string"},"taxes_included":{"description":"True: the total includes lodging tax, which is collected on every stay.","type":"boolean"},"taxes_minor":{"description":"Lodging tax.","minimum":0,"type":["integer","null"]},"timezone":{"description":"IANA zone of the home: the provider's own zone when it states one, otherwise the zone of the home's US state (timezone_source says which). Null when unknown.","type":["string","null"]},"timezone_source":{"enum":["listing","market","unknown"],"type":"string"},"total_stay_price_minor":{"description":"The whole price of the stay, equal to stay_total in cents.","minimum":0,"type":"integer"}},"required":["availability_status","inventory_held","checked_at","canonical_url","incomplete","missing"],"type":"object"},"quote_expires_at":{"description":"When this quote lapses. After it, the price of the stay can differ from stay_total until it is quoted again.","type":"string"},"quoted_at":{"type":"string"},"rate_options":{"description":"Every rate on offer for this stay. The first is the non-refundable rate (the same totals as the top level). When check-in is more than 30 days away a refundable rate follows: 8% more on the nightly subtotal, taxed as rent, cancellable for a full refund of everything paid until free_cancel_until. Each rate has its own booking_url.","items":{"properties":{"booking_url":{"type":"string"},"cancellation":{"description":"This rate's terms.","type":"string"},"free_cancel_until":{"description":"Refundable rate only. The last instant, in UTC, the stay can be cancelled for a full refund.","type":"string"},"payment_schedule":{"type":"object"},"plan":{"enum":["non_refundable","refundable"],"type":"string"},"price_breakdown":{"type":"object"},"refundable":{"description":"True when this rate can be cancelled for a refund until free_cancel_until; false when a confirmed reservation cannot be cancelled for a refund.","type":"boolean"},"stay_total":{"type":"number"},"total_due_now":{"type":"number"}},"required":["plan","refundable","stay_total","total_due_now","cancellation","booking_url"],"type":"object"},"type":"array"},"reason":{"description":"Why the stay cannot be booked. Only present when available is false.","type":"string"},"security_deposit_hold":{"description":"A refundable hold, not part of stay_total.","type":["number","null"]},"stay_total":{"description":"The price of the stay, including cleaning, fees and taxes. Nightly rates exclude them.","type":["number","null"]},"total_display":{"description":"stay_total, formatted.","type":"string"},"total_due_now":{"description":"What the guest pays at booking: the whole stay_total, or 50% of it when check-in is more than 60 days away; payment_schedule says which.","type":["number","null"]}},"required":["property_id","available","booking_url"],"type":"object"}⟨52 unchanged words⟩ each with its source; no average rating exists.`accommodation_type` and `bathroom_sharing` say whether the guest rents an entire home or a room: a private room or shared room is not an entire home.
{"properties":{"accommodation_type":{"description":"What the guest rents: an entire home, a private room in a shared building or a shared room. A private room or shared room is not an entire home. unknown means the type is not recorded for this home.","enum":["entire_home","private_room","shared_room","unknown"],"type":"string"},"alias":{"type":["string","null" ⟨9 unchanged words⟩ ,"unavailable"],"type":"string"},"bathroom_sharing":{"description":"Whether the guest has a private bathroom or shares one. unknown means it is not recorded for this home.","enum":["private","shared","unknown"],"type":"string"},"bathrooms":{"type":["number","null" ⟨188 unchanged words⟩ "null"]},"pet_fee":{"description":"TheForfeeaforstay with one pet, from the fee table the quote chargesfrom; with several pets a live quote charges it as pet_fee_basis says (per pet, per pet per night) and states the total in price_breakdown.pet_fee.from. Null when the home charges none; omitted when ⟨12 unchanged words⟩ "pet_fee_basis":{"description":"How pet_fee applies.Per night multiplies by theAnights;per-pet-per-nightperfeepetmultiplies by thenumber of pets; per pet per night by both.nights.","enum":["per stay","per night","per pet","per pet per night ⟨91 unchanged words⟩
⟨18 unchanged words⟩ homes and the largest group each can sleep.Counts are given for the city alone and for the wider area a search covers, split into whole homes and rooms.It shows whether a destination is covered, including ⟨8 unchanged words⟩
⟨4 unchanged words⟩ "markets":{"items":{"properties":{"area_name":{"type":"string"},"city":{"type":"string"},"collection_url" ⟨42 unchanged words⟩ "type":["string","null"]},"counts":{"description":"The same stays split into wholehomesand rooms, for the city alone and for the area. homes includes unknown_type; a room is not a whole home.","properties":{"area":{"properties":{"homes":{"description":"Entire homes, plus homes whosetypeis not recorded (unknown_type).","type":"integer"},"private_rooms":{"type":"integer"},"shared_rooms":{"type":"integer"},"total":{"type":"integer"},"unknown_type":{"description":"Counted inside homes: nothing on record says whether these are whole homes.","type":"integer"}},"required":["total","homes","private_rooms","shared_rooms","unknown_type"],"type":"object"},"city":{"properties":{"homes":{"description":"Entire homes, plus homes whose type is not recorded (unknown_type).","type":"integer"},"private_rooms":{"type":"integer"},"shared_rooms":{"type":"integer"},"total":{"type":"integer"},"unknown_type":{"description":"Counted inside homes: nothing on record says whether these are whole homes.","type":"integer"}},"required":["total","homes","private_rooms","shared_rooms","unknown_type"],"type":"object"}},"type":"object"},"homes":{"type":"integer"},"homes_in_area":{"description":"Stays a search for this market returns before dates, including nearby cities (Chicago: 65 miles around the city). At least homes.","type":"integer"},"sleeps_max":{"description":"The largest group any ⟨18 unchanged words⟩ it.","type":["string","null"]},"summary":{"description":"The counts as a guest reads them, e.g. \"41 stays in Chicago · 47 in the Chicago area, including 13 private rooms\".","type":"string"}},"required":["city","homes", ⟨18 unchanged words⟩
⟨95 unchanged words⟩ was not established: they are unknown, notunavailable, and `unpriced_property_ids` lists the property_id of up to 30 of them, each of which can be priced individually with a live quote.unavailable. Pet-friendly searches also report `pet_policy_unknown`: otherwise matching ⟨26 unchanged words⟩ or a narrower place covers more of it.Without dates no price is returned. Each result carries `accommodation_type` and `bathroom_sharing`: a private room or shared room is not an entire home. Optional filters cover accommodation type, exact bedrooms, required amenities and a budget; results can be paged with `cursor`, and `completeness` is partial when a matching home was left unpriced or unchecked. A query that names a known landmark or area ("near McCormick Place") returns homes within `radius_miles` of it, nearest first, each with `distance_miles` and `distance_type` straight_line: a direct distance, not a driving or walking route.
{"additionalProperties":false,"properties":{"accommodation_type":{"description":"What the guest rents. Homes whose type is not recorded are left out and counted in accommodation_type_unknown.","enum":["entire_home","private_room","shared_room"],"type":"string"},"amenities":{"description":"Amenities every returned home has, as recorded by the property manager.The same hard filter as amenities_required, except a home with no amenity data is left out without being counted.","items":{"enum":["pool", ⟨7 unchanged words⟩ :"string"},"type":"array"},"amenities_preferred":{"description":"Amenities that order homes when the requested sort ties, and appear in match_reasons. Homes lacking them stay in the results.","items":{"enum":["pool","hot_tub","parking","wifi","kitchen","washer","pets"],"type":"string"},"type":"array"},"amenities_required":{"description":"Amenities every returned home has. A home whose amenity data is unavailable fails the filter and is counted in amenities_unknown.","items":{"enum":["pool","hot_tub","parking","wifi","kitchen","washer","pets"],"type":"string"},"type":"array"},"bathrooms_min":{"description":"Fewest bathrooms acceptable.","maximum":100,"minimum":1,"type":"integer"},"bedrooms_exact":{"description":"Exactly this many bedrooms; 0 is a studio. Cannot be sent together with bedrooms_min.","maximum":100,"minimum":0,"type":"integer"},"bedrooms_min":{"description":"Fewest bedrooms acceptable.","maximum":100,"minimum":1,"type":"integer"},"budget":{"additionalProperties":false,"description":"A spending limit. scope total compares amount with each home's stay total including cleaning, fees and taxes, and needscheck_inand check_out. scope nightly compares it with each home's starting nightly rate, which excludes cleaning, fees and taxes. amount, currency and scope are all required.","properties":{"amount":{"description":"The limit, in the stated currency.","exclusiveMinimum":0,"maximum":1000000,"type":"number"},"currency":{"description":"Only USD is supported.","enum":["USD"],"type":"string"},"scope":{"description":"total: the whole stay, with dates. nightly: the starting nightly rate, excluding fees and taxes.","enum":["total","nightly"],"type":"string"}},"required":["amount","currency","scope"],"type":"object"},"check_in":{"description":"Check-in date, YYYY-MM-DD. Availability is checked only when ⟨9 unchanged words⟩ date, YYYY-MM-DD.","type":"string"},"cursorguests":{"description":"The next_cursor valueNumber ofthe previous response, valid only with the same other inputs. Returns the page after it.","type":"string"},"guests":{"description":"Everyone staying, includingchildren and infants.children.","maximum":50,"minimum":1,"type ⟨51 unchanged words⟩ "minimum":1,"type":"integer"},"page":{"description":"Page number, starting at 1, counted in units of page_size. Cannot be sent together with cursor.","minimum":1,"type":"integer"},"page_size":{"description":"Results per page, up to 20. Takes the place of limit when both are sent.","maximum":20,"minimum":1,"type":"integer"},"pets":{"description":"How many pets theThe guest is bringing,0 to 4; 0 or leave out for none. true means one pet and falseanone.pet. Results are limited to pet-friendly homes, dated totals include the pet feefor that many pets, and booking links keep thenumber ofpetpets.","maximum":4,"minimumselection.":0,"type":["integer","boolean"]},"price_all_matches":{"description":"Prices every ⟨36 unchanged words⟩ description":"Free text place, e.g. 'Tampa',a neighbourhood, or a landmark such as'nearMcCormick Place, Chicago'. A knownChicagolandmark or area (McCormick Place, Navy Pier, Wrigley Field, O'Hare Airport, the South Loop and others) returns homes within radius_miles, nearest firstdowntown',withastraight-line distance. Text that names no city, state,neighbourhood orlandmark is refused with INVALID_INPUT; it is not answered as an empty, complete result.","type":"string"},"radius_miles":{"description":"How far fromanamed landmark or area to search, in whole miles, 1 to 25. Homes are included by the distance they state, to the nearest half mile. Defaults to 5 for a landmark and 3 for an area. Ignored for any other place.","maximum":25,"minimumlandmark.":1,"type":"integerstring"},"sort":{"description":"total_price_* needs dates and orders by the stay total; from_price_asc orders byastartingrate that is not returned, and with dates by the staynightlytotal;rate; sleeps_desc puts the largest homes first.","enum ⟨8 unchanged words⟩
before
{"properties":{"accommodation_type_unknown":{"description":"Otherwise matching homes left out of an accommodation_type search because no type is recorded for them. They are not confirmed to be another type. 0 when the filter was not sent.","type":"integer"},"amenities_unknown":{"description":"Otherwise matching homes left out of an amenities_required search because no amenity data is available for them. They are not confirmed to lack the amenity. 0 when the filter was not sent.","type":"integer"},"availability_note":{"type":"string"},"budget_applied":{"description":"Only returned when a budget was sent: what it was compared with.","properties":{"amount":{"type":"number"},"compared_to":{"description":"stay_total includes cleaning, fees and taxes; from_price_per_night is a starting nightly rate that excludes them.","enum":["stay_total","from_price_per_night"],"type":"string"},"currency":{"type":"string"},"homes_not_checked":{"description":"Matching homes the budget could not be checked against: unpriced for a total budget, no starting rate for a nightly one.","type":"integer"},"includes_fees_and_taxes":{"type":"boolean"},"note":{"type":"string"},"scope":{"enum":["total","nightly"],"type":"string"}},"required":["scope","amount","currency","compared_to","includes_fees_and_taxes","note"],"type":"object"},"budget_unverified":{"description":"Otherwise matching homes left out of a nightly budget search because no starting nightly rate is on record. 0 when the budget was not sent or was a total budget.","type":"integer"},"budget_unverified_property_ids":{"description":"The property_id of up to 30 of the homes counted in budget_unverified; each can be priced for specific dates with a live quote.","items":{"type":"integer"},"maxItems":30,"type":"array"},"completeness":{"description":"complete: no matching home is unpriced, and none was left out for an unknown pet policy, accommodation type, amenity data, starting rate or position. partial: at least one is, so the results may omit a home that matches.","enum":["complete","partial"],"type":"string"},"dates_checked":{"description":"False means availability is unknown and no stay has been priced; no row carries a stay_total.","type":"boolean"},"distance_unknown":{"description":"Only on a landmark or area search: otherwise matching homes left out because no position is recorded for them, so their distance is unknown. They are not confirmed to be outside the radius.","type":"integer"},"has_more":{"description":"True when more results follow this page in the same ordering, within the priced sample. Homes counted in unpriced_in_time are not part of any page and have no effect on this.","type":"boolean"},"matches":{"description":"How many results this response carries.","type":"integer"},"next_cursor":{"description":"The value to send as cursor, with every other input unchanged, to get the next page. Null when has_more is false.","type":["string","null"]},"offset":{"description":"How many results precede this page in the full ordering.","type":"integer"},"page_size":{"description":"How many results this page asked for.","type":"integer"},"pet_policy_unknown":{"description":"Otherwise matching homes omitted from a pet-friendly search because their pet policy is unknown, not confirmed to prohibit pets. Applies with or without dates; included in unpriced_in_time when dated. A positive count means the pet-friendly inventory is incomplete.","type":"integer"},"properties":{"items":{"properties":{"accommodation_type":{"description":"What the guest rents: an entire home, a private room in a shared building or a shared room. A private room or shared room is not an entire home. unknown means the type is not recorded for this home.","enum":["entire_home","private_room","shared_room","unknown"],"type":"string"},"availability_status":{"description":"available: confirmed available for the requested dates when this answer was produced. not_checked: no dates were given, so availability was not checked.","enum":["available","not_checked"],"type":"string"},"avg_per_night":{"description":"No longer returned; stay_total is the price of the stay.","type":"number"},"avg_per_night_display":{"type":"string"},"bathroom_sharing":{"description":"Whether the guest has a private bathroom or shares one. unknown means it is not recorded for this home.","enum":["private","shared","unknown"],"type":"string"},"bathrooms":{"type":["number","null"]},"bedrooms":{"type":["number","null"]},"booking_url":{"description":"Where the guest completes the booking on Luxury Lodging's own site.","type":"string"},"city":{"type":"string"},"content_updated_at":{"description":"When the property manager's record of this home last changed, ISO 8601, as the provider states it. Omitted when the provider gives no such time.","type":"string"},"data_checked_at":{"description":"When this home's availability and price were fetched, ISO 8601. Only present on a row whose stay was priced.","type":"string"},"distance_miles":{"description":"Only on a landmark or area search: how far this home is from it, in miles, rounded to the nearest 0.5 (0.5 means under 0.5 mile), as a straight line over the ground, not a driving or walking route.","type":"number"},"distance_type":{"description":"Only with distance_miles: how the distance was measured. straight_line is the direct distance, shorter than any route.","enum":["straight_line"],"type":"string"},"from_price_note":{"description":"Deprecated, no longer returned along with from_price_per_night.","type":"string"},"from_price_per_night":{"description":"Deprecated, no longer returned: only a row with a confirmed stay_total carries a price. Kept in this schema so existing clients still validate.","type":["number","null"]},"highlights":{"description":"Up to three short phrases describing what sets the home apart.","items":{"type":"string"},"type":"array"},"match_reasons":{"description":"Short statements of why this home passed the filters that were sent, e.g. \"2 bedrooms (exact)\" or \"has parking\". On a landmark search the first is the distance, e.g. \"1.5 mi from McCormick Place (straight line)\" or \"under 0.5 mi from McCormick Place (straight line)\". Empty when no filter was sent.","items":{"type":"string"},"type":"array"},"missing_or_unverified":{"description":"Facts about this home that could not be verified, drawn from: pet policy, amenities, accommodation type.","items":{"type":"string"},"type":"array"},"name":{"type":"string"},"neighbourhood":{"description":"Neighbourhood-level location only; the exact address is shared after booking.","type":["string","null"]},"nights":{"type":"integer"},"photo":{"type":["string","null"]},"property_id":{"type":"integer"},"property_type":{"type":["string","null"]},"review_count":{"description":"How many 4- and 5-star reviews this home has. It is a count, not a rating; no average rating exists for any home.","type":"integer"},"review_sources":{"description":"Which platforms those reviews came from.","items":{"type":"string"},"type":"array"},"similar_units":{"description":"Only present when interchangeable units of this type exist; any of these ids can be quoted and booked.","properties":{"count":{"type":"integer"},"note":{"type":"string"},"property_ids":{"items":{"type":"integer"},"type":"array"}},"required":["count","note","property_ids"],"type":"object"},"sleeps":{"type":["integer","null"]},"state":{"type":["string","null"]},"stay_total":{"description":"Total for the requested dates including cleaning, fees and taxes. Only present when dates were given and the home was priced.","type":"number"},"stay_total_display":{"type":"string"},"top_amenities":{"items":{"type":"string"},"type":"array"}},"required":["property_id","name","city","top_amenities","review_count","review_sources","highlights","booking_url","match_reasons","availability_status","missing_or_unverified"],"type":"object"},"type":"array"},"search_scope":{"description":"The place actually searched and how it was read.","properties":{"place":{"description":"The place searched; null when no place was given and every home was searched.","type":["string","null"]},"radius_miles":{"description":"How far from its centre or point homes are included; given for a metro, landmark or area.","type":"number"},"type":{"description":"metro: the metro area around the named city, within radius_miles. state: the whole state. city: homes in the named city. nearby_or_text: homes near the place or whose listing text matches it. landmark: homes within radius_miles of a named landmark, nearest first, by straight-line distance. area: the same, measured from the centre of a named area such as the South Loop.","enum":["all_homes","metro","state","city","nearby_or_text","landmark","area"],"type":"string"}},"required":["place","type"],"type":"object"},"searched_location":{"type":["string","null"]},"status":{"description":"NO_MATCHES: nothing matched and nothing is unknown (unpriced_in_time and pet_policy_unknown are both 0). It is a normal answer, not an error. Any other search is OK, even with no results, and unpriced_in_time and pet_policy_unknown say what is still unknown.","enum":["OK","NO_MATCHES"],"type":"string"},"total_matching":{"description":"How many individual homes matched, counting every interchangeable unit.","type":"integer"},"total_matching_groups":{"description":"How many distinct unit types matched.","type":"integer"},"unpriced_in_time":{"description":"Matching homes whose availability was not established for these dates, because their pet policy could not be verified, a quote failed, the request ran out of budget, or it did not reach them. They are unknown, not unavailable. `price_all_matches`, a higher `limit`, or a narrower place establishes more of them. These counts cover the whole search, not one page, and the homes they count are not part of any page. A later page quotes more homes, so the count can fall.","type":"integer"},"unpriced_property_ids":{"description":"The property_id of up to 30 of the homes counted in unpriced_in_time; each can be priced individually with a live quote. Homes whose quote failed or timed out come first, then homes the request did not reach. A home listed here is unknown, not unavailable.","items":{"type":"integer"},"maxItems":30,"type":"array"}},"required":["matches","total_matching","total_matching_groups","unpriced_in_time","unpriced_property_ids","dates_checked","availability_note","properties","completeness","search_scope","has_more","next_cursor"],"type":"object"}Get a booking link — A link to Luxury Lodging's own site that opens checkout for one home, dates, party size and rate, for the same stay, rate and attribution as a live quote's booking_url, carrying a freshly signed quote token. It checks the stay the way a live quote does: valid dates, the home's guest limit and its pet policy, and it re-prices the stay to sign the link without returning the total. Opening the link does not reserve the home, hold dates or take payment; the guest completes checkout on EscapeStays. When the guest has dates and wants to book, call get_booking_link and give the guest that URL. Never…
⟨7 unchanged words⟩ "homes":{"items":{"properties":{"accommodation_type":{"description":"What the guest rents: an entire home, a private room in a shared building or a shared room. A private room or shared room is not an entire home. unknown means the type is not recorded for this home.","enum":["entire_home","private_room","shared_room","unknown"],"type":"string"},"available":{"description":"Only present when dates ⟨31 unchanged words⟩ the stay.","type":"number"},"bathroom_sharing":{"description":"Whether the guest has a private bathroom or shares one. unknown means it is not recorded for this home.","enum":["private","shared","unknown"],"type":"string"},"bathrooms":{"type":["number","null" ⟨51 unchanged words⟩ :"boolean"},"from_price_note":{"description":"Only present when from_price_per_night is null: what is and is not visible about this home's calendar. A null starting rate means neither that the home is booked out norDeprecated,thatnoitlongerisreturnedreadyalongtowithbook.from_price_per_night.","type":"string"},"from_price_per_night":{"description":"Starting nightly rate. It excludes cleaning, fees and taxesDeprecated,so it is not the price of any stay.noOnlylongerpresentreturned:ononly a rowwithout stay_total.withNullameansconfirmednostay_totalstartingcarriesrateaisprice.publishedKeptforin thishome, not that itschemaissofree;existingfrom_price_noteclientssaysstillwhy.validate.","type":["number","null"]} ⟨39 unchanged words⟩ "null"]},"pet_fee":{"description":"For aThestayfeewithfor one pet, from the fee table the quote chargesfrom.from; with several pets a live quote charges it as pet_fee_basis says (per pet, per pet per night) and states the total in price_breakdown.pet_fee. Null when the home charges none; omitted when ⟨12 unchanged words⟩ },"pet_fee_basis":{"enum":["per stay","per night","per pet","per pet per night ⟨107 unchanged words⟩
⟨99 unchanged words⟩ this tool does not book or take payment. Amounts ending in _minor are integer cents in `currency`.
⟨16 unchanged words⟩ :"string"},"guests":{"description":"NumberEveryoneofstaying,guests.including children and infants.","maximum":50,"minimum":1,"type":"integer"},"pets":{"description":"WhetherHow many pets the guest is bringing,a0pet;tothis4; 0 or leave out for none. true means one pet and false none. This changes theprice.price: some homes charge per pet or per pet per night.","maximum":4,"minimum":0,"type":["integer","boolean"]},"property_id":{"description":"Property id ⟨10 unchanged words⟩
before
{"description":"A live total for one stay. When available is false only property_id, available, reason and booking_url are present.","properties":{"available":{"type":"boolean"},"booking_url":{"type":"string"},"cancellation":{"description":"This home's own cancellation terms for the non-refundable rate, which stay_total prices. Each entry in rate_options carries its own terms, and those are the only refund terms that apply to that rate.","type":"string"},"check_in":{"type":"string"},"check_in_from":{"type":"string"},"check_out":{"type":"string"},"check_out_by":{"type":"string"},"currency":{"type":"string"},"guests":{"type":"integer"},"maximum_nights":{"type":["number","null"]},"minimum_nights":{"type":["number","null"]},"name":{"type":"string"},"nights":{"type":["integer","null"]},"note":{"type":"string"},"payment_schedule":{"description":"When the guest pays. plan 'deposit': due_at_booking now and the balance charged automatically to the same card on balance_charged_on (60 days before check-in). plan 'full': everything at booking.","properties":{"balance":{"type":"number"},"balance_charged_on":{"type":"string"},"due_at_booking":{"type":"number"},"plan":{"enum":["full","deposit"],"type":"string"}},"type":"object"},"pets":{"type":"boolean"},"price_breakdown":{"properties":{"card_processing_fee":{"type":["number","null"]},"cleaning_fee":{"type":["number","null"]},"discount":{"type":["number","null"]},"extra_guest_fee":{"type":["number","null"]},"nightly_subtotal":{"type":["number","null"]},"other_fees":{"type":["number","null"]},"pet_fee":{"type":["number","null"]},"refundable_rate_premium":{"description":"The 8% of the nightly subtotal the refundable rate adds; 0 on the non-refundable rate.","type":["number","null"]},"taxes":{"description":"Lodging tax. It is collected on every stay and included in the total.","type":["number","null"]},"total":{"type":["number","null"]}},"type":["object","null"]},"property_id":{"type":"integer"},"quote_expires_at":{"description":"When this quote lapses. After it, the price of the stay can differ from stay_total until it is quoted again.","type":"string"},"quoted_at":{"type":"string"},"rate_options":{"description":"Every rate on offer for this stay. The first is the non-refundable rate (the same totals as the top level). When check-in is more than 30 days away a refundable rate follows: 8% more on the nightly subtotal, taxed as rent, cancellable for a full refund of everything paid until free_cancel_until. Each rate has its own booking_url.","items":{"properties":{"booking_url":{"type":"string"},"cancellation":{"description":"This rate's terms.","type":"string"},"free_cancel_until":{"description":"Refundable rate only. The last instant, in UTC, the stay can be cancelled for a full refund.","type":"string"},"payment_schedule":{"type":"object"},"plan":{"enum":["non_refundable","refundable"],"type":"string"},"price_breakdown":{"type":"object"},"stay_total":{"type":"number"},"total_due_now":{"type":"number"}},"required":["plan","stay_total","total_due_now","cancellation","booking_url"],"type":"object"},"type":"array"},"reason":{"description":"Why the stay cannot be booked. Only present when available is false.","type":"string"},"security_deposit_hold":{"description":"A refundable hold, not part of stay_total.","type":["number","null"]},"stay_total":{"description":"The price of the stay, including cleaning, fees and taxes. Nightly rates exclude them.","type":["number","null"]},"total_display":{"description":"stay_total, formatted.","type":"string"},"total_due_now":{"description":"What the guest pays at booking: the whole stay_total, or 50% of it when check-in is more than 60 days away; payment_schedule says which.","type":["number","null"]}},"required":["property_id","available","booking_url"],"type":"object"}⟨52 unchanged words⟩ each with its source; no average rating exists. `accommodation_type` and `bathroom_sharing` say whether the guest rents an entire home or a room: a private room or shared room is not an entire home.
{"properties":{"accommodation_type":{"description":"What the guest rents: an entire home, a private room in a shared building or a shared room. A private room or shared room is not an entire home. unknown means the type is not recorded for this home.","enum":["entire_home","private_room","shared_room","unknown"],"type":"string"},"alias":{"type":["string","null" ⟨9 unchanged words⟩ ,"unavailable"],"type":"string"},"bathroom_sharing":{"description":"Whether the guest has a private bathroom or shares one. unknown means it is not recorded for this home.","enum":["private","shared","unknown"],"type":"string"},"bathrooms":{"type":["number","null" ⟨188 unchanged words⟩ "null"]},"pet_fee":{"description":"For aThestayfeewithfor one pet, from the fee table the quote chargesfrom.from; with several pets a live quote charges it as pet_fee_basis says (per pet, per pet per night) and states the total in price_breakdown.pet_fee. Null when the home charges none; omitted when ⟨12 unchanged words⟩ "pet_fee_basis":{"description":"How pet_fee applies.A per-pet-per-nightPerfeenight multiplies by thenights.nights; per pet by the number of pets; per pet per night by both.","enum":["per stay","per night","per pet","per pet per night ⟨91 unchanged words⟩
⟨18 unchanged words⟩ homes and the largest group each can sleep. Counts are given for the city alone and for the wider area a search covers, split into whole homes and rooms. It shows whether a destination is covered, including ⟨8 unchanged words⟩
⟨4 unchanged words⟩ "markets":{"items":{"properties":{"area_name":{"type":"string"},"city":{"type":"string"},"collection_url" ⟨42 unchanged words⟩ "type":["string","null"]},"counts":{"description":"The same stays split into whole homes and rooms, for the city alone and for the area. homes includes unknown_type; a room is not a whole home.","properties":{"area":{"properties":{"homes":{"description":"Entire homes, plus homes whose type is not recorded (unknown_type).","type":"integer"},"private_rooms":{"type":"integer"},"shared_rooms":{"type":"integer"},"total":{"type":"integer"},"unknown_type":{"description":"Counted inside homes: nothing on record says whether these are whole homes.","type":"integer"}},"required":["total","homes","private_rooms","shared_rooms","unknown_type"],"type":"object"},"city":{"properties":{"homes":{"description":"Entire homes, plus homes whose type is not recorded (unknown_type).","type":"integer"},"private_rooms":{"type":"integer"},"shared_rooms":{"type":"integer"},"total":{"type":"integer"},"unknown_type":{"description":"Counted inside homes: nothing on record says whether these are whole homes.","type":"integer"}},"required":["total","homes","private_rooms","shared_rooms","unknown_type"],"type":"object"}},"type":"object"},"homes":{"type":"integer"},"homes_in_area":{"description":"Stays a search for this market returns before dates, including nearby cities (Chicago: 65 miles around the city). At least homes.","type":"integer"},"sleeps_max":{"description":"The largest group any ⟨18 unchanged words⟩ it.","type":["string","null"]},"summary":{"description":"The counts as a guest reads them, e.g. \"41 stays in Chicago · 47 in the Chicago area, including 13 private rooms\".","type":"string"}},"required":["city","homes", ⟨18 unchanged words⟩
⟨95 unchanged words⟩ was not established: they are unknown, notunavailable.unavailable, and `unpriced_property_ids` lists the property_id of up to 30 of them, each of which can be priced individually with a live quote. Pet-friendly searches also report `pet_policy_unknown`: otherwise matching homes ⟨25 unchanged words⟩ or a narrower place covers more of it. Without dates no price is returned. Each result carries `accommodation_type` and `bathroom_sharing`: a private room or shared room is not an entire home. Optional filters cover accommodation type, exact bedrooms, required amenities and a budget; results can be paged with `cursor`, and `completeness` is partial when a matching home was left unpriced or unchecked. A query that names a known landmark or area ("near McCormick Place") returns homes within `radius_miles` of it, nearest first, each with `distance_miles` and `distance_type` straight_line: a direct distance, not a driving or walking route.
{"additionalProperties":false,"properties":{"accommodation_type":{"description":"What the guest rents. Homes whose type is not recorded are left out and counted in accommodation_type_unknown.","enum":["entire_home","private_room","shared_room"],"type":"string"},"amenities":{"description":"Amenities every returned home has, as recorded by the property manager. The same hard filter as amenities_required, except a home with no amenity data is left out without being counted.","items":{"enum":["pool", ⟨7 unchanged words⟩ :"string"},"type":"array"},"amenities_preferred":{"description":"Amenities that order homes when the requested sort ties, and appear in match_reasons. Homes lacking them stay in the results.","items":{"enum":["pool","hot_tub","parking","wifi","kitchen","washer","pets"],"type":"string"},"type":"array"},"amenities_required":{"description":"Amenities every returned home has. A home whose amenity data is unavailable fails the filter and is counted in amenities_unknown.","items":{"enum":["pool","hot_tub","parking","wifi","kitchen","washer","pets"],"type":"string"},"type":"array"},"bathrooms_min":{"description":"Fewest bathrooms acceptable.","maximum":100,"minimum":1,"type":"integer"},"bedrooms_exact":{"description":"Exactly this many bedrooms; 0 is a studio. Cannot be sent together with bedrooms_min.","maximum":100,"minimum":0,"type":"integer"},"bedrooms_min":{"description":"Fewest bedrooms acceptable.","maximum":100,"minimum":1,"type":"integer"},"budget":{"additionalProperties":false,"description":"A spending limit. scope total compares amount with each home's stay total including cleaning, fees and taxes, and needs check_in and check_out. scope nightly compares it with each home's starting nightly rate, which excludes cleaning, fees and taxes. amount, currency and scope are all required.","properties":{"amount":{"description":"The limit, in the stated currency.","exclusiveMinimum":0,"maximum":1000000,"type":"number"},"currency":{"description":"Only USD is supported.","enum":["USD"],"type":"string"},"scope":{"description":"total: the whole stay, with dates. nightly: the starting nightly rate, excluding fees and taxes.","enum":["total","nightly"],"type":"string"}},"required":["amount","currency","scope"],"type":"object"},"check_in":{"description":"Check-in date, YYYY-MM-DD. Availability is checked only when ⟨9 unchanged words⟩ date, YYYY-MM-DD.","type":"string"},"guestscursor":{"description":"NumberThe next_cursor value of the previous response, valid only with the same other inputs. Returns the page after it.","type":"string"},"guests":{"description":"Everyone staying, includingchildren.children and infants.","maximum":50,"minimum":1,"type ⟨51 unchanged words⟩ "minimum":1,"type":"integer"},"page":{"description":"Page number, starting at 1, counted in units of page_size. Cannot be sent together with cursor.","minimum":1,"type":"integer"},"page_size":{"description":"Results per page, up to 20. Takes the place of limit when both are sent.","maximum":20,"minimum":1,"type":"integer"},"pets":{"description":"TheHow many pets the guest is bringing,a0pet.to 4; 0 or leave out for none. true means one pet and false none. Results are limited to pet-friendly homes, dated totals include the pet fee for that many pets, and booking links keep thepetnumberselection.of pets.","maximum":4,"minimum":0,"type":["integer","boolean"]},"price_all_matches":{"description":"Prices every ⟨36 unchanged words⟩ description":"Free text place, e.g. 'Tampa', a neighbourhood, or a landmark such as 'near McCormick Place, Chicago'. A known Chicagodowntown'landmark or area (McCormick Place, Navy Pier, Wrigley Field, O'Hare Airport, the South Loop and others) returns homes within radius_miles, nearest first, with a straight-line distance. Text that names no city, state, neighbourhood oralandmarklandmark.is refused with INVALID_INPUT; it is not answered as an empty, complete result.","type":"string"},"radius_miles":{"description":"How far from a named landmark or area to search, in whole miles, 1 to 25. Homes are included by the distance they state, to the nearest half mile. Defaults to 5 for a landmark and 3 for an area. Ignored for any other place.","maximum":25,"minimum":1,"type":"integer"},"sort":{"description":"total_price_* needs dates and orders by the stay total; from_price_asc orders by a startingnightlyraterate;that is not returned, and with dates by the stay total; sleeps_desc puts the largest homes first.","enum ⟨8 unchanged words⟩
before
{"properties":{"availability_note":{"type":"string"},"dates_checked":{"description":"False means availability is unknown and no stay has been priced; no row carries a stay_total.","type":"boolean"},"matches":{"description":"How many results this response carries.","type":"integer"},"pet_policy_unknown":{"description":"Otherwise matching homes omitted from a pet-friendly search because their pet policy is unknown, not confirmed to prohibit pets. Applies with or without dates; included in unpriced_in_time when dated. A positive count means the pet-friendly inventory is incomplete.","type":"integer"},"properties":{"items":{"properties":{"avg_per_night":{"description":"No longer returned; stay_total is the price of the stay.","type":"number"},"avg_per_night_display":{"type":"string"},"bathrooms":{"type":["number","null"]},"bedrooms":{"type":["number","null"]},"booking_url":{"description":"Where the guest completes the booking on Luxury Lodging's own site.","type":"string"},"city":{"type":"string"},"from_price_note":{"description":"Only present when from_price_per_night is null: what is and is not visible about this home's calendar. A null starting rate means neither that the home is booked out nor that it is ready to book.","type":"string"},"from_price_per_night":{"description":"Starting nightly rate, used to order results. It excludes cleaning, fees and taxes, so it is not the price of any stay. Only present on a row without stay_total. Null means no starting rate is published for this home, not that it is free or cheap; from_price_note says why.","type":["number","null"]},"highlights":{"description":"Up to three short phrases describing what sets the home apart.","items":{"type":"string"},"type":"array"},"name":{"type":"string"},"neighbourhood":{"description":"Neighbourhood-level location only; the exact address is shared after booking.","type":["string","null"]},"nights":{"type":"integer"},"photo":{"type":["string","null"]},"property_id":{"type":"integer"},"property_type":{"type":["string","null"]},"review_count":{"description":"How many 4- and 5-star reviews this home has. It is a count, not a rating; no average rating exists for any home.","type":"integer"},"review_sources":{"description":"Which platforms those reviews came from.","items":{"type":"string"},"type":"array"},"similar_units":{"description":"Only present when interchangeable units of this type exist; any of these ids can be quoted and booked.","properties":{"count":{"type":"integer"},"note":{"type":"string"},"property_ids":{"items":{"type":"integer"},"type":"array"}},"required":["count","note","property_ids"],"type":"object"},"sleeps":{"type":["integer","null"]},"state":{"type":["string","null"]},"stay_total":{"description":"Total for the requested dates including cleaning, fees and taxes. Only present when dates were given and the home was priced.","type":"number"},"stay_total_display":{"type":"string"},"top_amenities":{"items":{"type":"string"},"type":"array"}},"required":["property_id","name","city","top_amenities","review_count","review_sources","highlights","booking_url"],"type":"object"},"type":"array"},"searched_location":{"type":["string","null"]},"total_matching":{"description":"How many individual homes matched, counting every interchangeable unit.","type":"integer"},"total_matching_groups":{"description":"How many distinct unit types matched.","type":"integer"},"unpriced_in_time":{"description":"Matching homes whose availability was not established for these dates, because their pet policy could not be verified, a quote failed, the request ran out of budget, or it did not reach them. They are unknown, not unavailable. `price_all_matches`, a higher `limit`, or a narrower place establishes more of them.","type":"integer"}},"required":["matches","total_matching","total_matching_groups","unpriced_in_time","dates_checked","availability_note","properties"],"type":"object"}Get a booking link — A link to Luxury Lodging's own site that opens checkout for one home, dates, party size and rate, for the same stay, rate and attribution as a live quote's booking_url, carrying a freshly signed quote token. It checks the stay the way a live quote does: valid dates, the home's guest limit and its pet policy, and it re-prices the stay to sign the link without returning the total. Opening the link does not reserve the home, hold dates or take payment; the guest completes checkout on EscapeStays.
⟨7 unchanged words⟩ "homes":{"items":{"properties":{"accommodation_type":{"description":"What the guest rents: an entire home, a private room in a shared building or a shared room. A private room or shared room is not an entire home. unknown means the type is not recorded for this home.","enum":["entire_home","private_room","shared_room","unknown"],"type":"string"},"available":{"description":"Only present when dates ⟨31 unchanged words⟩ the stay.","type":"number"},"bathroom_sharing":{"description":"Whether the guest has a private bathroom or shares one. unknown means it is not recorded for this home.","enum":["private","shared","unknown"],"type":"string"},"bathrooms":{"type":["number","null" ⟨51 unchanged words⟩ :"boolean"},"from_price_note":{"description":"Deprecated,Onlynopresentlongerwhenreturnedfrom_price_per_nightalongiswithnull:from_price_per_night.what is and is not visible about this home's calendar. A null starting rate means neither that the home is booked out nor that it is ready to book.","type":"string"},"from_price_per_night":{"description":"DeprecatedStarting nightly rate. It excludes cleaning,nofeeslongerandreturned:taxes,onlyso it is not the price of any stay. Only present on a rowwithwithoutastay_total.confirmedNullstay_totalmeanscarriesnoastartingprice.rateKeptisinpublished for thisschemahome,sonotexistingthatclientsitstillisvalidate.free; from_price_note says why.","type":["number","null"]} ⟨39 unchanged words⟩ "null"]},"pet_fee":{"description":"TheForfeeaforstay with one pet, from the fee table the quote chargesfrom; with several pets a live quote charges it as pet_fee_basis says (per pet, per pet per night) and states the total in price_breakdown.pet_fee.from. Null when the home charges none; omitted when ⟨12 unchanged words⟩ },"pet_fee_basis":{"enum":["per stay","per night","per pet","per pet per night ⟨107 unchanged words⟩
⟨99 unchanged words⟩ this tool does not book or take payment.Amounts ending in _minor are integer cents in `currency`.
⟨16 unchanged words⟩ :"string"},"guests":{"description":"Everyone staying, including childrenNumberandofinfants.guests.","maximum":50,"minimum":1,"type":"integer"},"pets":{"description":"How many petsWhether the guest is bringing,0 to 4; 0 or leave out for none. true means one pet and falseanone.pet;Thisthis changes theprice: some homes charge per pet or per pet per night.","maximum":4,"minimumprice.":0,"type":["integer","boolean"]},"property_id":{"description":"Property id ⟨10 unchanged words⟩
⟨8 unchanged words⟩ available is false only property_id, available, reason,booking_urlanda short quote blockbooking_url are present.","properties":{"available":{ ⟨124 unchanged words⟩ ,"type":"object"},"pets":{"description":"How many pets this quote is for. pet_fee in price_breakdown is the fee for that many.","maximum":4,"minimum":0,"type":"integerboolean"},"price_breakdown":{"properties":{"card_processing_fee" ⟨71 unchanged words⟩ null"]},"property_id":{"type":"integer"},"quote":{"description":"The authoritative, machine-readable quote for this stay, for the rate stay_total prices (the non-refundable rate). Amounts ending in _minor are integer cents in `currency`. total_stay_price_minor is exactly what the guest is charged in total, including taxes and the card processing fee, and the amounts add up: total_stay_price_minor = nightly_subtotal_minor + mandatory_fees_minor + optional_fees_minor + taxes_minor + card_fee_minor - discounts_minor. When available is false only availability_status, inventory_held, checked_at, canonical_url, incomplete and missing are present. The itemised _minor amounts are null only when missing includes price_breakdown.","properties":{"availability_status":{"enum":["available","unavailable"],"type":"string"},"cancellation_policy_id":{"description":"The rate this quote prices; rate_options lists both.","enum":["non_refundable","refundable"],"type":"string"},"cancellation_summary":{"type":"string"},"canonical_url":{"description":"The home's property page, not the booking link.","type":"string"},"card_fee_minor":{"description":"The 3.5% card processing fee, added at checkout and included in the total.","minimum":0,"type":["integer","null"]},"charges":{"description":"Every charge, itemised. The amounts of the rows with paid_at checkout add up to total_stay_price_minor exactly; a discount row is negative.","items":{"properties":{"amount_minor":{"type":"integer"},"name":{"type":"string"},"paid_at":{"description":"checkout: part of the total. outside_checkout: not part of it (the security hold).","enum":["checkout","outside_checkout"],"type":"string"},"type":{"enum":["nightly","fee","tax","discount","card_fee","security_hold","adjustment"],"type":"string"}},"required":["type","name","amount_minor","paid_at"],"type":"object"},"type":"array"},"checked_at":{"description":"When this quote was fetched, ISO 8601.","type":"string"},"currency":{"description":"ISO 4217 code, e.g. USD.","type":"string"},"discounts_minor":{"description":"A positive amount subtracted from the total; 0 when there is none.","minimum":0,"type":["integer","null"]},"due_later_minor":{"description":"The rest, charged automatically to the same card 60 days before check-in; 0 when everything is due now.","minimum":0,"type":"integer"},"due_now_minor":{"description":"Charged when the guest books: 50% of the total when check-in is more than 60 days away, otherwise all of it.","minimum":0,"type":"integer"},"expires_at":{"description":"When the quote lapses, ISO 8601; the same instant as quote_expires_at.","type":"string"},"incomplete":{"description":"True when a required input or tax could not be determined; missing says which.","type":"boolean"},"inventory_held":{"description":"False: a quote does not hold the home.","type":"boolean"},"mandatory_fees_minor":{"description":"Cleaning and every other required fee.","minimum":0,"type":["integer","null"]},"missing":{"description":"rent_tax_rate: the provider's fee table could not be read, so the refundable rate cannot be priced. price_breakdown: the provider sent only a total. line_items_mismatch: the itemised charges add up to more than the total.","items":{"type":"string"},"type":"array"},"nightly_subtotal_minor":{"description":"Rent for the nights before any discount, plus the refundable-rate premium when that rate is quoted.","minimum":0,"type":["integer","null"]},"nights":{"type":["integer","null"]},"optional_fees_minor":{"description":"Fees the guest chose, the pet fee for the pets in this quote.","minimum":0,"type":["integer","null"]},"quote_id":{"description":"Stable id for this priced stay: the same home, dates, guests, pets, rate and total give the same id; any change gives a new one. Not a hold or a reservation.","type":"string"},"refundable_security_hold_minor":{"description":"A refundable hold on the card on file, separate from the total. The home's own amount, or the standard hold when it states none.","minimum":0,"type":"integer"},"tax_source":{"description":"Where the tax comes from: the provider's own quote, or our verified rate table for the home's jurisdiction when the provider's quote had none. Either way the tax is collected and in the total.","enum":["provider","jurisdiction_table"],"type":"string"},"taxes_included":{"description":"True: the total includes lodging tax, which is collected on every stay.","type":"boolean"},"taxes_minor":{"description":"Lodging tax.","minimum":0,"type":["integer","null"]},"timezone":{"description":"IANA zone of the home: the provider's own zone when it states one, otherwise the zone of the home's US state (timezone_source says which). Null when unknown.","type":["string","null"]},"timezone_source":{"enum":["listing","market","unknown"],"type":"string"},"total_stay_price_minor":{"description":"The whole price of the stay, equal to stay_total in cents.","minimum":0,"type":"integer"}},"required":["availability_status","inventory_held","checked_at","canonical_url","incomplete","missing"],"type":"object
⟨52 unchanged words⟩ each with its source; no average rating exists.`accommodation_type` and `bathroom_sharing` say whether the guest rents an entire home or a room: a private room or shared room is not an entire home.
{"properties":{"accommodation_type":{"description":"What the guest rents: an entire home, a private room in a shared building or a shared room. A private room or shared room is not an entire home. unknown means the type is not recorded for this home.","enum":["entire_home","private_room","shared_room","unknown"],"type":"string"},"alias":{"type":["string","null" ⟨9 unchanged words⟩ ,"unavailable"],"type":"string"},"bathroom_sharing":{"description":"Whether the guest has a private bathroom or shares one. unknown means it is not recorded for this home.","enum":["private","shared","unknown"],"type":"string"},"bathrooms":{"type":["number","null" ⟨188 unchanged words⟩ "null"]},"pet_fee":{"description":"TheForfeeaforstay with one pet, from the fee table the quote chargesfrom; with several pets a live quote charges it as pet_fee_basis says (per pet, per pet per night) and states the total in price_breakdown.pet_fee.from. Null when the home charges none; omitted when ⟨12 unchanged words⟩ "pet_fee_basis":{"description":"How pet_fee applies.Per night multiplies by theAnights;per-pet-per-nightperfeepetmultiplies by thenumber of pets; per pet per night by both.nights.","enum":["per stay","per night","per pet","per pet per night ⟨91 unchanged words⟩
⟨18 unchanged words⟩ homes and the largest group each can sleep.Counts are given for the city alone and for the wider area a search covers, split into whole homes and rooms.It shows whether a destination is covered, including ⟨8 unchanged words⟩
⟨4 unchanged words⟩ "markets":{"items":{"properties":{"area_name":{"type":"string"},"city":{"type":"string"},"collection_url" ⟨42 unchanged words⟩ "type":["string","null"]},"counts":{"description":"The same stays split into wholehomesand rooms, for the city alone and for the area. homes includes unknown_type; a room is not a whole home.","properties":{"area":{"properties":{"homes":{"description":"Entire homes, plus homes whosetypeis not recorded (unknown_type).","type":"integer"},"private_rooms":{"type":"integer"},"shared_rooms":{"type":"integer"},"total":{"type":"integer"},"unknown_type":{"description":"Counted inside homes: nothing on record says whether these are whole homes.","type":"integer"}},"required":["total","homes","private_rooms","shared_rooms","unknown_type"],"type":"object"},"city":{"properties":{"homes":{"description":"Entire homes, plus homes whose type is not recorded (unknown_type).","type":"integer"},"private_rooms":{"type":"integer"},"shared_rooms":{"type":"integer"},"total":{"type":"integer"},"unknown_type":{"description":"Counted inside homes: nothing on record says whether these are whole homes.","type":"integer"}},"required":["total","homes","private_rooms","shared_rooms","unknown_type"],"type":"object"}},"type":"object"},"homes":{"type":"integer"},"homes_in_area":{"description":"Stays a search for this market returns before dates, including nearby cities (Chicago: 65 miles around the city). At least homes.","type":"integer"},"sleeps_max":{"description":"The largest group any ⟨18 unchanged words⟩ it.","type":["string","null"]},"summary":{"description":"The counts as a guest reads them, e.g. \"41 stays in Chicago · 47 in the Chicago area, including 13 private rooms\".","type":"string"}},"required":["city","homes", ⟨18 unchanged words⟩
⟨95 unchanged words⟩ was not established: they are unknown, notunavailable, and `unpriced_property_ids` lists the property_id of up to 30 of them, each of which can be priced individually with a live quote.unavailable. Pet-friendly searches also report `pet_policy_unknown`: otherwise matching ⟨26 unchanged words⟩ or a narrower place covers more of it.Without dates no price is returned. Each result carries `accommodation_type` and `bathroom_sharing`: a private room or shared room is not an entire home. Optional filters cover accommodation type, exact bedrooms, required amenities and a budget; results can be paged with `cursor`, and `completeness` is partial when a matching home was left unpriced or unchecked. A query that names a known landmark or area ("near McCormick Place") returns homes within `radius_miles` of it, nearest first, each with `distance_miles` and `distance_type` straight_line: a direct distance, not a driving or walking route.
{"additionalProperties":false,"properties":{"accommodation_type":{"description":"What the guest rents. Homes whose type is not recorded are left out and counted in accommodation_type_unknown.","enum":["entire_home","private_room","shared_room"],"type":"string"},"amenities":{"description":"Amenities every returned home has, as recorded by the property manager.The same hard filter as amenities_required, except a home with no amenity data is left out without being counted.","items":{"enum":["pool", ⟨7 unchanged words⟩ :"string"},"type":"array"},"amenities_preferred":{"description":"Amenities that order homes when the requested sort ties, and appear in match_reasons. Homes lacking them stay in the results.","items":{"enum":["pool","hot_tub","parking","wifi","kitchen","washer","pets"],"type":"string"},"type":"array"},"amenities_required":{"description":"Amenities every returned home has. A home whose amenity data is unavailable fails the filter and is counted in amenities_unknown.","items":{"enum":["pool","hot_tub","parking","wifi","kitchen","washer","pets"],"type":"string"},"type":"array"},"bathrooms_min":{"description":"Fewest bathrooms acceptable.","maximum":100,"minimum":1,"type":"integer"},"bedrooms_exact":{"description":"Exactly this many bedrooms; 0 is a studio. Cannot be sent together with bedrooms_min.","maximum":100,"minimum":0,"type":"integer"},"bedrooms_min":{"description":"Fewest bedrooms acceptable.","maximum":100,"minimum":1,"type":"integer"},"budget":{"additionalProperties":false,"description":"A spending limit. scope total compares amount with each home's stay total including cleaning, fees and taxes, and needscheck_inand check_out. scope nightly compares it with each home's starting nightly rate, which excludes cleaning, fees and taxes. amount, currency and scope are all required.","properties":{"amount":{"description":"The limit, in the stated currency.","exclusiveMinimum":0,"maximum":1000000,"type":"number"},"currency":{"description":"Only USD is supported.","enum":["USD"],"type":"string"},"scope":{"description":"total: the whole stay, with dates. nightly: the starting nightly rate, excluding fees and taxes.","enum":["total","nightly"],"type":"string"}},"required":["amount","currency","scope"],"type":"object"},"check_in":{"description":"Check-in date, YYYY-MM-DD. Availability is checked only when ⟨9 unchanged words⟩ date, YYYY-MM-DD.","type":"string"},"cursorguests":{"description":"The next_cursor valueNumber ofthe previous response, valid only with the same other inputs. Returns the page after it.","type":"string"},"guests":{"description":"Everyone staying, includingchildren and infants.children.","maximum":50,"minimum":1,"type ⟨51 unchanged words⟩ "minimum":1,"type":"integer"},"page":{"description":"Page number, starting at 1, counted in units of page_size. Cannot be sent together with cursor.","minimum":1,"type":"integer"},"page_size":{"description":"Results per page, up to 20. Takes the place of limit when both are sent.","maximum":20,"minimum":1,"type":"integer"},"pets":{"description":"How many pets theThe guest is bringing,0 to 4; 0 or leave out for none. true means one pet and falseanone.pet. Results are limited to pet-friendly homes, dated totals include the pet feefor that many pets, and booking links keep thenumber ofpetpets.","maximum":4,"minimumselection.":0,"type":["integer","boolean"]},"price_all_matches":{"description":"Prices every ⟨36 unchanged words⟩ description":"Free text place, e.g. 'Tampa',a neighbourhood, or a landmark such as'nearMcCormick Place, Chicago'. A knownChicagolandmark or area (McCormick Place, Navy Pier, Wrigley Field, O'Hare Airport, the South Loop and others) returns homes within radius_miles, nearest firstdowntown',withastraight-line distance. Text that names no city, state,neighbourhood orlandmark is refused with INVALID_INPUT; it is not answered as an empty, complete result.","type":"string"},"radius_miles":{"description":"How far fromanamed landmark or area to search, in whole miles, 1 to 25. Homes are included by the distance they state, to the nearest half mile. Defaults to 5 for a landmark and 3 for an area. Ignored for any other place.","maximum":25,"minimumlandmark.":1,"type":"integerstring"},"sort":{"description":"total_price_* needs dates and orders by the stay total; from_price_asc orders byastartingrate that is not returned, and with dates by the staynightlytotal;rate; sleeps_desc puts the largest homes first.","enum ⟨8 unchanged words⟩
before
{"properties":{"accommodation_type_unknown":{"description":"Otherwise matching homes left out of an accommodation_type search because no type is recorded for them. They are not confirmed to be another type. 0 when the filter was not sent.","type":"integer"},"amenities_unknown":{"description":"Otherwise matching homes left out of an amenities_required search because no amenity data is available for them. They are not confirmed to lack the amenity. 0 when the filter was not sent.","type":"integer"},"availability_note":{"type":"string"},"budget_applied":{"description":"Only returned when a budget was sent: what it was compared with.","properties":{"amount":{"type":"number"},"compared_to":{"description":"stay_total includes cleaning, fees and taxes; from_price_per_night is a starting nightly rate that excludes them.","enum":["stay_total","from_price_per_night"],"type":"string"},"currency":{"type":"string"},"homes_not_checked":{"description":"Matching homes the budget could not be checked against: unpriced for a total budget, no starting rate for a nightly one.","type":"integer"},"includes_fees_and_taxes":{"type":"boolean"},"note":{"type":"string"},"scope":{"enum":["total","nightly"],"type":"string"}},"required":["scope","amount","currency","compared_to","includes_fees_and_taxes","note"],"type":"object"},"budget_unverified":{"description":"Otherwise matching homes left out of a nightly budget search because no starting nightly rate is on record. 0 when the budget was not sent or was a total budget.","type":"integer"},"budget_unverified_property_ids":{"description":"The property_id of up to 30 of the homes counted in budget_unverified; each can be priced for specific dates with a live quote.","items":{"type":"integer"},"maxItems":30,"type":"array"},"completeness":{"description":"complete: no matching home is unpriced, and none was left out for an unknown pet policy, accommodation type, amenity data, starting rate or position. partial: at least one is, so the results may omit a home that matches.","enum":["complete","partial"],"type":"string"},"dates_checked":{"description":"False means availability is unknown and no stay has been priced; no row carries a stay_total.","type":"boolean"},"distance_unknown":{"description":"Only on a landmark or area search: otherwise matching homes left out because no position is recorded for them, so their distance is unknown. They are not confirmed to be outside the radius.","type":"integer"},"has_more":{"description":"True when more results follow this page in the same ordering, within the priced sample. Homes counted in unpriced_in_time are not part of any page and have no effect on this.","type":"boolean"},"matches":{"description":"How many results this response carries.","type":"integer"},"next_cursor":{"description":"The value to send as cursor, with every other input unchanged, to get the next page. Null when has_more is false.","type":["string","null"]},"offset":{"description":"How many results precede this page in the full ordering.","type":"integer"},"page_size":{"description":"How many results this page asked for.","type":"integer"},"pet_policy_unknown":{"description":"Otherwise matching homes omitted from a pet-friendly search because their pet policy is unknown, not confirmed to prohibit pets. Applies with or without dates; included in unpriced_in_time when dated. A positive count means the pet-friendly inventory is incomplete.","type":"integer"},"properties":{"items":{"properties":{"accommodation_type":{"description":"What the guest rents: an entire home, a private room in a shared building or a shared room. A private room or shared room is not an entire home. unknown means the type is not recorded for this home.","enum":["entire_home","private_room","shared_room","unknown"],"type":"string"},"availability_status":{"description":"available: confirmed available for the requested dates when this answer was produced. not_checked: no dates were given, so availability was not checked.","enum":["available","not_checked"],"type":"string"},"avg_per_night":{"description":"No longer returned; stay_total is the price of the stay.","type":"number"},"avg_per_night_display":{"type":"string"},"bathroom_sharing":{"description":"Whether the guest has a private bathroom or shares one. unknown means it is not recorded for this home.","enum":["private","shared","unknown"],"type":"string"},"bathrooms":{"type":["number","null"]},"bedrooms":{"type":["number","null"]},"booking_url":{"description":"Where the guest completes the booking on Luxury Lodging's own site.","type":"string"},"city":{"type":"string"},"content_updated_at":{"description":"When the property manager's record of this home last changed, ISO 8601, as the provider states it. Omitted when the provider gives no such time.","type":"string"},"data_checked_at":{"description":"When this home's availability and price were fetched, ISO 8601. Only present on a row whose stay was priced.","type":"string"},"distance_miles":{"description":"Only on a landmark or area search: how far this home is from it, in miles, rounded to the nearest 0.5 (0.5 means under 0.5 mile), as a straight line over the ground, not a driving or walking route.","type":"number"},"distance_type":{"description":"Only with distance_miles: how the distance was measured. straight_line is the direct distance, shorter than any route.","enum":["straight_line"],"type":"string"},"from_price_note":{"description":"Deprecated, no longer returned along with from_price_per_night.","type":"string"},"from_price_per_night":{"description":"Deprecated, no longer returned: only a row with a confirmed stay_total carries a price. Kept in this schema so existing clients still validate.","type":["number","null"]},"highlights":{"description":"Up to three short phrases describing what sets the home apart.","items":{"type":"string"},"type":"array"},"match_reasons":{"description":"Short statements of why this home passed the filters that were sent, e.g. \"2 bedrooms (exact)\" or \"has parking\". On a landmark search the first is the distance, e.g. \"1.5 mi from McCormick Place (straight line)\" or \"under 0.5 mi from McCormick Place (straight line)\". Empty when no filter was sent.","items":{"type":"string"},"type":"array"},"missing_or_unverified":{"description":"Facts about this home that could not be verified, drawn from: pet policy, amenities, accommodation type.","items":{"type":"string"},"type":"array"},"name":{"type":"string"},"neighbourhood":{"description":"Neighbourhood-level location only; the exact address is shared after booking.","type":["string","null"]},"nights":{"type":"integer"},"photo":{"type":["string","null"]},"property_id":{"type":"integer"},"property_type":{"type":["string","null"]},"review_count":{"description":"How many 4- and 5-star reviews this home has. It is a count, not a rating; no average rating exists for any home.","type":"integer"},"review_sources":{"description":"Which platforms those reviews came from.","items":{"type":"string"},"type":"array"},"similar_units":{"description":"Only present when interchangeable units of this type exist; any of these ids can be quoted and booked.","properties":{"count":{"type":"integer"},"note":{"type":"string"},"property_ids":{"items":{"type":"integer"},"type":"array"}},"required":["count","note","property_ids"],"type":"object"},"sleeps":{"type":["integer","null"]},"state":{"type":["string","null"]},"stay_total":{"description":"Total for the requested dates including cleaning, fees and taxes. Only present when dates were given and the home was priced.","type":"number"},"stay_total_display":{"type":"string"},"top_amenities":{"items":{"type":"string"},"type":"array"}},"required":["property_id","name","city","top_amenities","review_count","review_sources","highlights","booking_url","match_reasons","availability_status","missing_or_unverified"],"type":"object"},"type":"array"},"search_scope":{"description":"The place actually searched and how it was read.","properties":{"place":{"description":"The place searched; null when no place was given and every home was searched.","type":["string","null"]},"radius_miles":{"description":"How far from its centre or point homes are included; given for a metro, landmark or area.","type":"number"},"type":{"description":"metro: the metro area around the named city, within radius_miles. state: the whole state. city: homes in the named city. nearby_or_text: homes near the place or whose listing text matches it. landmark: homes within radius_miles of a named landmark, nearest first, by straight-line distance. area: the same, measured from the centre of a named area such as the South Loop.","enum":["all_homes","metro","state","city","nearby_or_text","landmark","area"],"type":"string"}},"required":["place","type"],"type":"object"},"searched_location":{"type":["string","null"]},"status":{"description":"NO_MATCHES: nothing matched and nothing is unknown (unpriced_in_time and pet_policy_unknown are both 0). It is a normal answer, not an error. Any other search is OK, even with no results, and unpriced_in_time and pet_policy_unknown say what is still unknown.","enum":["OK","NO_MATCHES"],"type":"string"},"total_matching":{"description":"How many individual homes matched, counting every interchangeable unit.","type":"integer"},"total_matching_groups":{"description":"How many distinct unit types matched.","type":"integer"},"unpriced_in_time":{"description":"Matching homes whose availability was not established for these dates, because their pet policy could not be verified, a quote failed, the request ran out of budget, or it did not reach them. They are unknown, not unavailable. `price_all_matches`, a higher `limit`, or a narrower place establishes more of them. These counts cover the whole search, not one page, and the homes they count are not part of any page. A later page quotes more homes, so the count can fall.","type":"integer"},"unpriced_property_ids":{"description":"The property_id of up to 30 of the homes counted in unpriced_in_time; each can be priced individually with a live quote. Homes whose quote failed or timed out come first, then homes the request did not reach. A home listed here is unknown, not unavailable.","items":{"type":"integer"},"maxItems":30,"type":"array"}},"required":["matches","total_matching","total_matching_groups","unpriced_in_time","unpriced_property_ids","dates_checked","availability_note","properties","completeness","search_scope","has_more","next_cursor"],"type":"object"}Get a booking link — A link to Luxury Lodging's own site that opens checkout for one home, dates, party size and rate, for the same stay, rate and attribution as a live quote's booking_url, carrying a freshly signed quote token. It checks the stay the way a live quote does: valid dates, the home's guest limit and its pet policy, and it re-prices the stay to sign the link without returning the total. Opening the link does not reserve the home, hold dates or take payment; the guest completes checkout on EscapeStays.
⟨181 unchanged words⟩ or shared room is not an entire home. Optional filters cover accommodation type, exact bedrooms, required amenities and a budget; results can be paged with `cursor`, and `completeness` is partial when a matching home was left unpriced or unchecked. A query that names a known landmark or area ("near McCormick Place") returns homes within `radius_miles` of it, nearest first, each with `distance_miles` and `distance_type` straight_line: a direct distance, not a driving or walking route.
{"additionalProperties":false,"properties":{"accommodation_type":{"description":"What the guest rents. Homes whose type is not recorded are left out and counted in accommodation_type_unknown.","enum":["entire_home","private_room","shared_room"],"type":"string"},"amenities":{"description":"Amenities every returned home has, as recorded by the property manager. The same hard filter as amenities_required, except a home with no amenity data is left out without being counted.","items":{"enum":["pool", ⟨7 unchanged words⟩ :"string"},"type":"array"},"amenities_preferred":{"description":"Amenities that order homes when the requested sort ties, and appear in match_reasons. Homes lacking them stay in the results.","items":{"enum":["pool","hot_tub","parking","wifi","kitchen","washer","pets"],"type":"string"},"type":"array"},"amenities_required":{"description":"Amenities every returned home has. A home whose amenity data is unavailable fails the filter and is counted in amenities_unknown.","items":{"enum":["pool","hot_tub","parking","wifi","kitchen","washer","pets"],"type":"string"},"type":"array"},"bathrooms_min":{"description":"Fewest bathrooms acceptable.","maximum":100,"minimum":1,"type":"integer"},"bedrooms_exact":{"description":"Exactly this many bedrooms; 0 is a studio. Cannot be sent together with bedrooms_min.","maximum":100,"minimum":0,"type":"integer"},"bedrooms_min":{"description":"Fewest bedrooms acceptable.","maximum":100,"minimum":1,"type":"integer"},"budget":{"additionalProperties":false,"description":"A spending limit. scope total compares amount with each home's stay total including cleaning, fees and taxes, and needs check_in and check_out. scope nightly compares it with each home's starting nightly rate, which excludes cleaning, fees and taxes. amount, currency and scope are all required.","properties":{"amount":{"description":"The limit, in the stated currency.","exclusiveMinimum":0,"maximum":1000000,"type":"number"},"currency":{"description":"Only USD is supported.","enum":["USD"],"type":"string"},"scope":{"description":"total: the whole stay, with dates. nightly: the starting nightly rate, excluding fees and taxes.","enum":["total","nightly"],"type":"string"}},"required":["amount","currency","scope"],"type":"object"},"check_in":{"description":"Check-in date, YYYY-MM-DD. Availability is checked only when ⟨9 unchanged words⟩ date, YYYY-MM-DD.","type":"string"},"cursor":{"description":"The next_cursor value of the previous response, valid only with the same other inputs. Returns the page after it.","type":"string"},"guests":{"description":"Everyone staying, including ⟨59 unchanged words⟩ "minimum":1,"type":"integer"},"page":{"description":"Page number, starting at 1, counted in units of page_size. Cannot be sent together with cursor.","minimum":1,"type":"integer"},"page_size":{"description":"Results per page, up to 20. Takes the place of limit when both are sent.","maximum":20,"minimum":1,"type":"integer"},"pets":{"description":"How many pets the ⟨90 unchanged words⟩ description":"Free text place, e.g. 'Tampa', a neighbourhood, or a landmark such as 'near McCormick Place, Chicago'. A known Chicagodowntown'landmark or area (McCormick Place, Navy Pier, Wrigley Field, O'Hare Airport, the South Loop and others) returns homes within radius_miles, nearest first, with a straight-line distance. Text that names no city, state, neighbourhood oralandmarklandmark.is refused with INVALID_INPUT; it is not answered as an empty, complete result.","type":"string"},"radius_miles":{"description":"How far from a named landmark or area to search, in whole miles, 1 to 25. Homes are included by the distance they state, to the nearest half mile. Defaults to 5 for a landmark and 3 for an area. Ignored for any other place.","maximum":25,"minimum":1,"type":"integer"},"sort":{"description":"total_price_* needs ⟨39 unchanged words⟩
before
{"properties":{"availability_note":{"type":"string"},"dates_checked":{"description":"False means availability is unknown and no stay has been priced; no row carries a stay_total.","type":"boolean"},"matches":{"description":"How many results this response carries.","type":"integer"},"pet_policy_unknown":{"description":"Otherwise matching homes omitted from a pet-friendly search because their pet policy is unknown, not confirmed to prohibit pets. Applies with or without dates; included in unpriced_in_time when dated. A positive count means the pet-friendly inventory is incomplete.","type":"integer"},"properties":{"items":{"properties":{"accommodation_type":{"description":"What the guest rents: an entire home, a private room in a shared building or a shared room. A private room or shared room is not an entire home. unknown means the type is not recorded for this home.","enum":["entire_home","private_room","shared_room","unknown"],"type":"string"},"avg_per_night":{"description":"No longer returned; stay_total is the price of the stay.","type":"number"},"avg_per_night_display":{"type":"string"},"bathroom_sharing":{"description":"Whether the guest has a private bathroom or shares one. unknown means it is not recorded for this home.","enum":["private","shared","unknown"],"type":"string"},"bathrooms":{"type":["number","null"]},"bedrooms":{"type":["number","null"]},"booking_url":{"description":"Where the guest completes the booking on Luxury Lodging's own site.","type":"string"},"city":{"type":"string"},"from_price_note":{"description":"Deprecated, no longer returned along with from_price_per_night.","type":"string"},"from_price_per_night":{"description":"Deprecated, no longer returned: only a row with a confirmed stay_total carries a price. Kept in this schema so existing clients still validate.","type":["number","null"]},"highlights":{"description":"Up to three short phrases describing what sets the home apart.","items":{"type":"string"},"type":"array"},"name":{"type":"string"},"neighbourhood":{"description":"Neighbourhood-level location only; the exact address is shared after booking.","type":["string","null"]},"nights":{"type":"integer"},"photo":{"type":["string","null"]},"property_id":{"type":"integer"},"property_type":{"type":["string","null"]},"review_count":{"description":"How many 4- and 5-star reviews this home has. It is a count, not a rating; no average rating exists for any home.","type":"integer"},"review_sources":{"description":"Which platforms those reviews came from.","items":{"type":"string"},"type":"array"},"similar_units":{"description":"Only present when interchangeable units of this type exist; any of these ids can be quoted and booked.","properties":{"count":{"type":"integer"},"note":{"type":"string"},"property_ids":{"items":{"type":"integer"},"type":"array"}},"required":["count","note","property_ids"],"type":"object"},"sleeps":{"type":["integer","null"]},"state":{"type":["string","null"]},"stay_total":{"description":"Total for the requested dates including cleaning, fees and taxes. Only present when dates were given and the home was priced.","type":"number"},"stay_total_display":{"type":"string"},"top_amenities":{"items":{"type":"string"},"type":"array"}},"required":["property_id","name","city","top_amenities","review_count","review_sources","highlights","booking_url"],"type":"object"},"type":"array"},"searched_location":{"type":["string","null"]},"status":{"description":"NO_MATCHES: nothing matched and nothing is unknown (unpriced_in_time and pet_policy_unknown are both 0). It is a normal answer, not an error. Any other search is OK, even with no results, and unpriced_in_time and pet_policy_unknown say what is still unknown.","enum":["OK","NO_MATCHES"],"type":"string"},"total_matching":{"description":"How many individual homes matched, counting every interchangeable unit.","type":"integer"},"total_matching_groups":{"description":"How many distinct unit types matched.","type":"integer"},"unpriced_in_time":{"description":"Matching homes whose availability was not established for these dates, because their pet policy could not be verified, a quote failed, the request ran out of budget, or it did not reach them. They are unknown, not unavailable. `price_all_matches`, a higher `limit`, or a narrower place establishes more of them.","type":"integer"},"unpriced_property_ids":{"description":"The property_id of up to 30 of the homes counted in unpriced_in_time; each can be priced individually with a live quote. Homes whose quote failed or timed out come first, then homes the request did not reach. A home listed here is unknown, not unavailable.","items":{"type":"integer"},"maxItems":30,"type":"array"}},"required":["matches","total_matching","total_matching_groups","unpriced_in_time","unpriced_property_ids","dates_checked","availability_note","properties"],"type":"object"}Get a booking link — A link to Luxury Lodging's own site that opens checkout for one home, dates, party size and rate, for the same stay, rate and attribution as a live quote's booking_url, carrying a freshly signed quote token. It checks the stay the way a live quote does: valid dates, the home's guest limit and its pet policy, and it re-prices the stay to sign the link without returning the total. Opening the link does not reserve the home, hold dates or take payment; the guest completes checkout on EscapeStays.
⟨7 unchanged words⟩ "homes":{"items":{"properties":{"accommodation_type":{"description":"What the guest rents: an entire home, a private room in a shared building or a shared room. A private room or shared room is not an entire home. unknown means the type is not recorded for this home.","enum":["entire_home","private_room","shared_room","unknown"],"type":"string"},"available":{"description":"Only present when dates ⟨19 unchanged words⟩ ,"type":"boolean"},"avg_per_night":{"description":"No longer returned; stay_total is the price of the stay.","type":"number"},"bathroom_sharing":{"description":"Whether the guest has a private bathroom or shares one. unknown means it is not recorded for this home.","enum":["private","shared","unknown"],"type":"string"},"bathrooms":{"type":["number","null" ⟨39 unchanged words⟩ name, place, amenity or review fields atall -- readall; detail_note,and call get_property_details for itsaysagain.why.","type":"boolean"},"from_price_note":{"description":"Only present when from_price_per_night is null: what we can and cannot see about this home's calendar. Call get_availability before suggesting dates; do not describe the home as bookedDeprecated,outnoorlongerasreturnedreadyalongtowithbook.from_price_per_night.","type":"string"},"from_price_per_night":{"description":"StartingDeprecated,nightlynorate.longerNullreturned:meansonlynoastartingrowratewithisapublishedconfirmedforstay_totalthiscarrieshome,aneverprice.thatKeptitinisthisfreeschema--soreadexistingfrom_price_note.clients still validate.","type":["number","null"]},"highlights":{"description":"Up to three short phrasesan agent can repeatdescribingwhenwhatrecommendingsets thehome.home apart.","items":{"type":"string"}, ⟨22 unchanged words⟩ "integer","null"]},"pet_fee":{"description":"The fee for one pet, from the fee table the quote charges from; with several pets a live quote charges it as pet_fee_basis says (per pet, per pet per night) and states the total in price_breakdown.pet_fee. Null when the home charges none; omitted when it could not be verified, and pet_fee_note says why.","type":["number","null"]},"pet_fee_basis":{"enum":["per stay","per night","per pet","per pet per night"],"type":"string"},"pet_fee_note":{"type":"string"},"pet_policy_note":{"type":"string"},"pets_allowed" ⟨20 unchanged words⟩ many 4- and 5-star reviews this home has.NeverItpresentisthisaascount,ornotderive,aanrating; no averagerating.rating exists for any home.","type":"integer"},"review_sources":{ ⟨53 unchanged words⟩
⟨13 unchanged words⟩ to 93 days, with its minimum stay.Use thisIttoshowssuggestwhich alternativedates;datesuseareget_live_quoteopen;toitconfirmdoesandnot priceaorspecificconfirm a stay.
Live price for one property and onestay,stay.includingstay_total includes cleaning, fees andtaxes,taxes;plusnightly rates exclude them. Also returns the refundable deposit hold, which is separate from the total, the payment schedule, and that home's own cancellation and check-in terms. The top-level totals and cancellation are the non-refundable rate; rate_options lists every rate on offer with its own terms, total and booking_url, including a refundable rate with its free-cancellation deadline when check-in is more than 30 days away. Returns a booking_url the guest opens to complete the booking and accept the rental terms on Luxury Lodging's ownsite. State the total, never thesite;nightlythisratetoolalone,doesandnotneverbookpromiseoratakerefund.payment.
⟨16 unchanged words⟩ :"string"},"guests":{"description":"NumberEveryoneofstaying,guests.including children and infants.","maximum":4050,"minimum":1,"type":"integer"},"pets":{"description":"WhetherHow many pets the guest is bringing,a0pet;tothis4; 0 or leave out for none. true means one pet and false none. This changes theprice.price: some homes charge per pet or per pet per night.","maximum":4,"minimum":0,"type":["integer","boolean"]},"property_id":{"description":"Property id
⟨26 unchanged words⟩ },"cancellation":{"description":"This home'sterms.ownNevercancellationpromisetermsafor the non-refundable rate, which stay_total prices. Each entry in rate_options carries its own terms, and those are the only refundbeyondtermswhatthatthisapplysays.to that rate.","type":"string"},"check_in":{ ⟨32 unchanged words⟩ ,"note":{"type":"string"},"payment_schedule":{"description":"When the guest pays. plan 'deposit': due_at_booking now and the balance charged automatically to the same card on balance_charged_on (60 days before check-in). plan 'full': everything at booking.","properties":{"balance":{"type":"number"},"balance_charged_on":{"type":"string"},"due_at_booking":{"type":"number"},"plan":{"enum":["full","deposit"],"type":"string"}},"type":"object"},"pets":{"description":"How many pets this quote is for. pet_fee in price_breakdown is the fee for that many.","maximum":4,"minimum":0,"type":"boolean
⟨34 unchanged words⟩ level; the exact address is shared after booking. Guest reviews are a selection of 4- and 5-star reviews, each with its source; no average rating exists. `accommodation_type` and `bathroom_sharing` say whether the guest rents an entire home or a room: a private room or shared room is not an entire home.
{"properties":{"accommodation_type":{"description":"What the guest rents: an entire home, a private room in a shared building or a shared room. A private room or shared room is not an entire home. unknown means the type is not recorded for this home.","enum":["entire_home","private_room","shared_room","unknown"],"type":"string"},"alias":{"type":["string","null" ⟨9 unchanged words⟩ ,"unavailable"],"type":"string"},"bathroom_sharing":{"description":"Whether the guest has a private bathroom or shares one. unknown means it is not recorded for this home.","enum":["private","shared","unknown"],"type":"string"},"bathrooms":{"type":["number","null" ⟨65 unchanged words⟩ ":"The platform the review was left on.Always name it when quoting the review.","type":"string"},"stars":{ ⟨33 unchanged words⟩ description":"Null when the provider gave none;nevertheassumecountryone.is then unknown.","type":["string","null"]} ⟨64 unchanged words⟩ "number","null"]},"pet_fee":{"description":"The fee for one pet, from the fee table the quote charges from; with several pets a live quote charges it as pet_fee_basis says (per pet, per pet per night) and states the total in price_breakdown.pet_fee. Null when the home charges none; omitted when it could not be verified, and pet_fee_note says why.","type":["number","null"]},"pet_fee_basis":{"description":"How pet_fee applies. Per night multiplies by the nights; per pet by the number of pets; per pet per night by both.","enum":["per stay","per night","per pet","per pet per night"],"type":"string"},"pet_fee_note":{"type":"string"},"pet_policy_note":{"type":"string"}, ⟨83 unchanged words⟩
⟨18 unchanged words⟩ homes and the largest group each can sleep.UseCountsitarewhengivenaforguestthehascitynotalonenamedand for the wider area aplacesearch covers,orsplittointocheckwhole homes and rooms. It shows whether a destination is covered,beforeincludingsearching.when a guest has not named a place.
⟨4 unchanged words⟩ "markets":{"items":{"properties":{"area_name":{"type":"string"},"city":{"type":"string"},"collection_url" ⟨7 unchanged words⟩ when it has enough homes to have one.Safe to cite; itIt lists the homes and their neighbourhoods.","type ⟨19 unchanged words⟩ "type":["string","null"]},"counts":{"description":"The same stays split into whole homes and rooms, for the city alone and for the area. homes includes unknown_type; a room is not a whole home.","properties":{"area":{"properties":{"homes":{"description":"Entire homes, plus homes whose type is not recorded (unknown_type).","type":"integer"},"private_rooms":{"type":"integer"},"shared_rooms":{"type":"integer"},"total":{"type":"integer"},"unknown_type":{"description":"Counted inside homes: nothing on record says whether these are whole homes.","type":"integer"}},"required":["total","homes","private_rooms","shared_rooms","unknown_type"],"type":"object"},"city":{"properties":{"homes":{"description":"Entire homes, plus homes whose type is not recorded (unknown_type).","type":"integer"},"private_rooms":{"type":"integer"},"shared_rooms":{"type":"integer"},"total":{"type":"integer"},"unknown_type":{"description":"Counted inside homes: nothing on record says whether these are whole homes.","type":"integer"}},"required":["total","homes","private_rooms","shared_rooms","unknown_type"],"type":"object"}},"type":"object"},"homes":{"type":"integer"},"homes_in_area":{"description":"Stays a search for this market returns before dates, including nearby cities (Chicago: 65 miles around the city). At least homes.","type":"integer"},"sleeps_max":{"description":"The largest group any ⟨18 unchanged words⟩
SearchSearches Luxury Lodging's directly bookable vacation rentals by destination ⟨6 unchanged words⟩ With dates, only homes confirmed available arereturned.returned, each with a stay total that includes cleaning, fees and taxes; nightly rates exclude them. Interchangeable units of the same type are returned ⟨28 unchanged words⟩ confirmed available. A busy market can hold more homes than one request can price, so `unpriced_in_time` counts matching homes whose availability wasnevernot established: they are unknown, notunavailable.unavailable, and `unpriced_property_ids` lists the property_id of up to 30 of them, each of which can be priced individually with a live quote. Pet-friendly searches also report `pet_policy_unknown`: otherwise matching homes with unverified pet policies,includingwith or without dates.Never tell a guest a place has nothing whenWhile eitherunknowncount is above zero--,setthe`price_all_matches`resultstoarechecknot the wholemarketmarket; `price_all_matches`,raisea higher `limit`,narroworthea narrower place,orcoversquotemoreaofspecificit.home.WithoutAlwaysdatesquotenothepricestayistotalreturned.fromEachget_live_quoteresultrathercarriesthan`accommodation_type`theandnightly`bathroom_sharing`:rate.a private room or shared room is not an entire home.
{"additionalProperties":false,"properties":{"amenities":{"description":"Amenitiestheeveryhomereturnedmusthomehavehas, as recorded by the property manager."," ⟨35 unchanged words⟩ check_in":{"description":"Check-in date, YYYY-MM-DD.GiveAvailabilitybothisdatescheckedtoonlyfilterwhenbybothrealdatesavailability.are given.","type":"string"},"check_out":{ ⟨5 unchanged words⟩ :"string"},"guests":{"description":"Number ofEveryone
⟨5 unchanged words⟩ description":"False means availability is unknown andeverynopricestayishasabeenstartingpriced;nightlynorate.row carries a stay_total.","type":"boolean"},"matches":{ ⟨51 unchanged words⟩ "properties":{"items":{"properties":{"avg_per_nightaccommodation_type":{"description":"stay_totalWhatdividedthebyguestnights.rents: an entire home, a private room in a shared building or a shared room. Aderived
⟨35 unchanged words⟩ ,"type":"boolean"},"avg_per_night":{"description":"No longer returned; stay_total is the price of the stay.","type":"number"},"bathrooms":{"type" ⟨41 unchanged words⟩ name, place, amenity or review fields atall;all -- read detail_note,saysandwhy.call get_property_details for it again.","type":"boolean"},"from_price_note":{"description":"Only present when from_price_per_night is null: whatisweandcanisandnotcannotvisiblesee about this home's calendar.ACallnullget_availabilitystartingbeforeratesuggestingmeansdates;neitherdothatnot describe the homeisas booked outnor that itorisas ready to book.","type":"string"},"from_price_per_night":{"description":"Starting nightly rate.It excludes cleaning, fees and taxes, so it is not the price of any stay. Only present on a row without stay_total.Null means no starting rate is published for this home,notnever that it isfree;freefrom_price_note--saysreadwhy.from_price_note.","type":["number","null"]},"highlights":{"description":"Up to three short phrasesdescribinganwhatagentsetscantherepeathomewhenapart.recommending the home.","items":{"type":"string"}, ⟨22 unchanged words⟩ "integer","null"]},"pet_fee":{"description":"For a stay with one pet, from the fee table the quote charges from. Null when the home charges none; omitted when it could not be verified, and pet_fee_note says why.","type":["number","null"]},"pet_fee_basis":{"enum":["per stay","per pet","per pet per night"],"type":"string"},"pet_fee_note":{"type":"string"},"pet_policy_note":{"type":"string"},"pets_allowed" ⟨20 unchanged words⟩ many 4- and 5-star reviews this home has.ItNeverispresentathiscountas,not aorrating;derive,noan averagerating exists for any home.rating.","type":"integer"},"review_sources":{ ⟨53 unchanged words⟩
⟨13 unchanged words⟩ to 93 days, with its minimum stay.ItUseshowsthiswhichto suggest alternativedatesdates;areuseopen;get_live_quoteittodoesconfirmnotand priceor confirma specific stay.
Live price for one property and onestay. stay_totalstay,includesincluding cleaning, fees andtaxes; nightly rates exclude them. Alsotaxes,returnsplus the refundable deposit hold,which is separate from the total, the payment schedule,and that home'sowncancellation and check-in terms.The top-level totals and cancellation are the non-refundable rate; rate_options lists every rate on offer with its own terms, total and booking_url, including a refundable rate with its free-cancellation deadline when check-in is more than 30 days away.Returns a booking_url the guest opens to complete the booking and accept the rental terms on Luxury Lodging's ownsite;site.thisStatetoolthedoestotal,notneverbooktheornightlytakeratepayment.alone, and never promise a refund.
⟨18 unchanged words⟩ "description":"Number of guests.","maximum":5040,"minimum":1,"type":"integer"}, ⟨29 unchanged words⟩
⟨26 unchanged words⟩ },"cancellation":{"description":"This home'sown cancellation terms for the non-refundable rate, which stay_total prices. Each entry in rate_options carries its own terms, and thoseterms.areNeverthepromiseonlya refundterms that applybeyondtowhatthatthisrate.says.","type":"string"},"check_in":{ ⟨32 unchanged words⟩ ,"note":{"type":"string"},"payment_schedule":{"description":"When the guest pays. plan 'deposit': due_at_booking now and the balance charged automatically to the same card on balance_charged_on (60 days before check-in). plan 'full': everything at booking.","properties":{"balance":{"type":"number"},"balance_charged_on":{"type":"string"},"due_at_booking":{"type":"number"},"plan":{"enum":["full","deposit"],"type":"string"}},"type":"object"},"pets":{"type":"boolean"},"price_breakdown" ⟨26 unchanged words⟩ "type":["number","null"]},"refundable_rate_premium":{"description":"The 8% of the nightly subtotal the refundable rate adds; 0 on the non-refundable rate.","type":["number","null"]},"
⟨34 unchanged words⟩ level; the exact address is shared after booking.Guest reviews are a selection of 4- and 5-star reviews, each with its source; no average rating exists.
⟨86 unchanged words⟩ ":"The platform the review was left on. Always name it when quoting the review.","type":"string"},"stars":{ ⟨33 unchanged words⟩ description":"Null when the provider gave none;the country isneverthenassumeunknown.one.","type":["string","null"]} ⟨64 unchanged words⟩ "number","null"]},"pet_fee":{"description":"For a stay with one pet, from the fee table the quote charges from. Null when the home charges none; omitted when it could not be verified, and pet_fee_note says why.","type":["number","null"]},"pet_fee_basis":{"description":"How pet_fee applies. A per-pet-per-night fee multiplies by the nights.","enum":["per stay","per pet","per pet per night"],"type":"string"},"pet_fee_note":{"type":"string"},"pet_policy_note":{"type":"string"}, ⟨83 unchanged words⟩
⟨18 unchanged words⟩ homes and the largest group each can sleep.ItUseshowsitwhetherwhen adestination isguestcovered,hasincludingnotwhennamed aguestplace,hasornottonamedcheck whether aplace.destination is covered before searching.
⟨18 unchanged words⟩ when it has enough homes to have one.ItSafe to cite; it lists the homes and their neighbourhoods.","type ⟨74 unchanged words⟩
SearchesSearch Luxury Lodging's directly bookable vacation rentals by destination ⟨6 unchanged words⟩ With dates, only homes confirmed available arereturned, each with a stay total that includes cleaning, fees and taxes; nightly rates exclude them.returned. Interchangeable units of the same type are returned ⟨28 unchanged words⟩ confirmed available. A busy market can hold morehomesthan one request can price, so `unpriced_in_time` counts matching homes whose availability wasnotnever established: they are unknown, not unavailable. Pet-friendly searches also report `pet_policy_unknown`: otherwise matching homes with unverifiedpetpolicies,with orincluding without dates.WhileNever tell a guest a place has nothing when either unknown count is above zero,the--resultssetare`price_all_matches`notto check the wholemarket;market,`price_all_matches`raise `limit`,anarrowhigherthe`limit`place, or quote anarrowerspecificplacehome.coversAlwaysmorequoteoftheit.stay total from get_live_quote rather than the nightly rate.
{"additionalProperties":false,"properties":{"amenities":{"description":"Amenitiesevery returnedthe homehasmust have, as recorded by the property manager."," ⟨35 unchanged words⟩ check_in":{"description":"Check-in date, YYYY-MM-DD.Availability isGivecheckedbothonlydateswhentobothfilterdatesbyarerealgiven.availability.","type":"string"},"check_out":{ ⟨8 unchanged words⟩ Number of guests, including children.","maximum":5040,"minimum":1,"type":"integer"}, ⟨37 unchanged words⟩ in dollars, including cleaning, fees and taxes.Applies only when
⟨5 unchanged words⟩ description":"False means availability is unknown andno stay has beeneverypriced;pricenoisrowacarriesstartinganightlystay_total.rate.","type":"boolean"},"matches":{ ⟨53 unchanged words⟩ {"properties":{"avg_per_night":{"description":"Nostay_totallongerdividedreturned;bystay_totalnights.isAthederivedprice
⟨35 unchanged words⟩ ,"type":"boolean"},"avg_per_night":{"description":"No longer returned; stay_total is the price of the stay.","type":"number"},"bathrooms":{"type" ⟨41 unchanged words⟩ name, place, amenity or review fields atall -- readall; detail_note,and call get_property_details for itsaysagain.why.","type":"boolean"},"from_price_note":{"description":"Only present when from_price_per_night is null: whatwe canis andcannotisseenot visible about this home's calendar.Call get_availabilityAbeforenullsuggestingstartingdates;ratedomeansnotneitherdescribethat the homeasis booked outornorasthat it is ready to book.","type":"string"},"from_price_per_night":{"description":"Starting nightly rate. It excludes cleaning, fees and taxes, so it is not the price of any stay. Only present on a row without stay_total. Null means no starting rate is published for this home,nevernot that it isfreefree;--from_price_notereadsaysfrom_price_note.why.","type":["number","null"]},"highlights":{"description":"Up to three short phrasesan agent can repeatdescribingwhenwhatrecommendingsets thehome.home apart.","items":{"type":"string"}, ⟨22 unchanged words⟩ "integer","null"]},"pet_fee":{"description":"For a stay with one pet, from the fee table the quote charges from. Null when the home charges none; omitted when it could not be verified, and pet_fee_note says why.","type":["number","null"]},"pet_fee_basis":{"enum":["per stay","per pet","per pet per night"],"type":"string"},"pet_fee_note":{"type":"string"},"pet_policy_note":{"type":"string"},"pets_allowed" ⟨20 unchanged words⟩ many 4- and 5-star reviews this home has.NeverItpresentisthisaascount,ornotderive,aanrating; no averagerating.rating exists for any home.","type":"integer"},"review_sources":{ ⟨53 unchanged words⟩
⟨13 unchanged words⟩ to 93 days, with its minimum stay.Use thisIttoshowssuggestwhich alternativedates;datesuseareget_live_quoteopen;toitconfirmdoesandnot priceaorspecificconfirm a stay.
Live price for one property and onestay,stay.includingstay_total includes cleaning, fees andtaxes,taxes;plusnightly rates exclude them. Also returns the refundable deposit hold, which is separate from the total, the payment schedule, and that home's own cancellation and check-in terms. The top-level totals and cancellation are the non-refundable rate; rate_options lists every rate on offer with its own terms, total and booking_url, including a refundable rate with its free-cancellation deadline when check-in is more than 30 days away. Returns a booking_url the guest opens to complete the booking and accept the rental terms on Luxury Lodging's ownsite. State the total, never thesite;nightlythisratetoolalone,doesandnotneverbookpromiseoratakerefund.payment.
⟨18 unchanged words⟩ "description":"Number of guests.","maximum":4050,"minimum":1,"type":"integer"}, ⟨29 unchanged words⟩
⟨26 unchanged words⟩ },"cancellation":{"description":"This home'sterms.ownNevercancellationpromisetermsafor the non-refundable rate, which stay_total prices. Each entry in rate_options carries its own terms, and those are the only refundbeyondtermswhatthatthisapplysays.to that rate.","type":"string"},"check_in":{ ⟨32 unchanged words⟩ ,"note":{"type":"string"},"payment_schedule":{"description":"When the guest pays. plan 'deposit': due_at_booking now and the balance charged automatically to the same card on balance_charged_on (60 days before check-in). plan 'full': everything at booking.","properties":{"balance":{"type":"number"},"balance_charged_on":{"type":"string"},"due_at_booking":{"type":"number"},"plan":{"enum":["full","deposit"],"type":"string"}},"type":"object"},"pets":{"type":"boolean"},"price_breakdown" ⟨26 unchanged words⟩ "type":["number","null"]},"refundable_rate_premium":{"description":"The 8% of the nightly subtotal the refundable rate adds; 0 on the non-refundable rate.","type":["number","null"]},"
⟨34 unchanged words⟩ level; the exact address is shared after booking. Guest reviews are a selection of 4- and 5-star reviews, each with its source; no average rating exists.
⟨86 unchanged words⟩ ":"The platform the review was left on.Always name it when quoting the review.","type":"string"},"stars":{ ⟨33 unchanged words⟩ description":"Null when the provider gave none;nevertheassumecountryone.is then unknown.","type":["string","null"]} ⟨64 unchanged words⟩ "number","null"]},"pet_fee":{"description":"For a stay with one pet, from the fee table the quote charges from. Null when the home charges none; omitted when it could not be verified, and pet_fee_note says why.","type":["number","null"]},"pet_fee_basis":{"description":"How pet_fee applies. A per-pet-per-night fee multiplies by the nights.","enum":["per stay","per pet","per pet per night"],"type":"string"},"pet_fee_note":{"type":"string"},"pet_policy_note":{"type":"string"}, ⟨83 unchanged words⟩
⟨18 unchanged words⟩ homes and the largest group each can sleep.UseItitshowswhenwhether aguest has not nameddestinationaisplacecovered,or to checkincludingwhetherwhen adestinationguestishascoverednotbeforenamedsearching.a place.
⟨18 unchanged words⟩ when it has enough homes to have one.Safe to cite; itIt lists the homes and their neighbourhoods.","type ⟨74 unchanged words⟩
SearchSearches Luxury Lodging's directly bookable vacation rentals by destination ⟨6 unchanged words⟩ With dates, only homes confirmed available arereturned.returned, each with a stay total that includes cleaning, fees and taxes; nightly rates exclude them. Interchangeable units of the same type are returned ⟨28 unchanged words⟩ confirmed available. A busy market can hold more homes than one request can price, so `unpriced_in_time` counts matching homes whose availability wasnevernot established: they are unknown, not unavailable. Pet-friendly searches also report `pet_policy_unknown`: otherwise matching homes with unverified pet policies,includingwith or without dates.Never tell a guest a place has nothing whenWhile eitherunknowncount is above zero--,setthe`price_all_matches`resultstoarechecknot the wholemarket, raisemarket;`limit``price_all_matches`,narrowathehigherplace`limit`, orquoteaspecific home. Always quote the stay total from get_live_quotenarrowerratherplacethancoversthemorenightlyofrate.it.
{"additionalProperties":false,"properties":{"amenities":{"description":"Amenitiestheeveryhomereturnedmusthomehavehas, as recorded by the property manager."," ⟨35 unchanged words⟩ check_in":{"description":"Check-in date, YYYY-MM-DD.GiveAvailabilitybothisdatescheckedtoonlyfilterwhenbybothrealdatesavailability.are given.","type":"string"},"check_out":{ ⟨8 unchanged words⟩ Number of guests, including children.","maximum":4050
⟨5 unchanged words⟩ description":"False means availability is unknown andeverynopricestayishasabeenstartingpriced;nightlynorate.row carries a stay_total.","type":"boolean"},"matches":{ ⟨53 unchanged words⟩ {"properties":{"avg_per_night":{"description":"stay_totalNodividedlongerbyreturned;nights.stay_totalAisderivedthefigure;
⟨35 unchanged words⟩ ,"type":"boolean"},"avg_per_night":{"description":"No longer returned; stay_total is the price of the stay.","type":"number"},"bathrooms":{"type" ⟨41 unchanged words⟩ name, place, amenity or review fields atall;all -- read detail_note,saysandwhy.call get_property_details for it again.","type":"boolean"},"from_price_note":{"description":"Only present when from_price_per_night is null: whatisweandcanisandnotcannotvisiblesee about this home's calendar.ACallnullget_availabilitystartingbeforeratesuggestingmeansdates;neitherdothatnot describe the homeisas booked outnor that itorisas ready to book.","type":"string"},"from_price_per_night":{"description":"Starting nightly rate.It excludes cleaning, fees and taxes, so it is not the price of any stay. Only present on a row without stay_total.Null means no starting rate is published for this home,notnever that it isfree;freefrom_price_note--saysreadwhy.from_price_note.","type":["number","null"]},"highlights":{"description":"Up to three short phrasesdescribinganwhatagentsetscantherepeathomewhenapart.recommending the home.","items":{"type":"string"}, ⟨22 unchanged words⟩ "integer","null"]},"pet_fee":{"description":"For a stay with one pet, from the fee table the quote charges from. Null when the home charges none; omitted when it could not be verified, and pet_fee_note says why.","type":["number","null"]},"pet_fee_basis":{"enum":["per stay","per pet","per pet per night"],"type":"string"},"pet_fee_note":{"type":"string"},"pet_policy_note":{"type":"string"},"pets_allowed" ⟨20 unchanged words⟩ many 4- and 5-star reviews this home has.ItNeverispresentathiscountas,not aorrating;derive,noan averagerating exists for any home.rating.","type":"integer"},"review_sources":{ ⟨53 unchanged words⟩
⟨13 unchanged words⟩ to 93 days, with its minimum stay.ItUseshowsthiswhichto suggest alternativedatesdates;areuseopen;get_live_quoteittodoesconfirmnotand priceor confirma specific stay.
Live price for one property and onestay. stay_totalstay,includesincluding cleaning, fees andtaxes; nightly rates exclude them. Alsotaxes,returnsplus the refundable deposit hold,which is separate from the total, the payment schedule,and that home'sowncancellation and check-in terms.The top-level totals and cancellation are the non-refundable rate; rate_options lists every rate on offer with its own terms, total and booking_url, including a refundable rate with its free-cancellation deadline when check-in is more than 30 days away.Returns a booking_url the guest opens to complete the booking and accept the rental terms on Luxury Lodging's ownsite;site.thisStatetoolthedoestotal,notneverbooktheornightlytakeratepayment.alone, and never promise a refund.
⟨18 unchanged words⟩ "description":"Number of guests.","maximum":5040,"minimum":1,"type":"integer"}, ⟨29 unchanged words⟩
⟨26 unchanged words⟩ },"cancellation":{"description":"This home'sown cancellation terms for the non-refundable rate, which stay_total prices. Each entry in rate_options carries its own terms, and thoseterms.areNeverthepromiseonlya refundterms that applybeyondtowhatthatthisrate.says.","type":"string"},"check_in":{ ⟨32 unchanged words⟩ ,"note":{"type":"string"},"payment_schedule":{"description":"When the guest pays. plan 'deposit': due_at_booking now and the balance charged automatically to the same card on balance_charged_on (60 days before check-in). plan 'full': everything at booking.","properties":{"balance":{"type":"number"},"balance_charged_on":{"type":"string"},"due_at_booking":{"type":"number"},"plan":{"enum":["full","deposit"],"type":"string"}},"type":"object"},"pets":{"type":"boolean"},"price_breakdown" ⟨26 unchanged words⟩ "type":["number","null"]},"refundable_rate_premium":{"description":"The 8% of the nightly subtotal the refundable rate adds; 0 on the non-refundable rate.","type":["number","null"]},"
⟨34 unchanged words⟩ level; the exact address is shared after booking.Guest reviews are a selection of 4- and 5-star reviews, each with its source; no average rating exists.
⟨86 unchanged words⟩ ":"The platform the review was left on. Always name it when quoting the review.","type":"string"},"stars":{ ⟨33 unchanged words⟩ description":"Null when the provider gave none;the country isneverthenassumeunknown.one.","type":["string","null"]} ⟨64 unchanged words⟩ "number","null"]},"pet_fee":{"description":"For a stay with one pet, from the fee table the quote charges from. Null when the home charges none; omitted when it could not be verified, and pet_fee_note says why.","type":["number","null"]},"pet_fee_basis":{"description":"How pet_fee applies. A per-pet-per-night fee multiplies by the nights.","enum":["per stay","per pet","per pet per night"],"type":"string"},"pet_fee_note":{"type":"string"},"pet_policy_note":{"type":"string"}, ⟨83 unchanged words⟩
⟨18 unchanged words⟩ homes and the largest group each can sleep.ItUseshowsitwhetherwhen adestination isguestcovered,hasincludingnotwhennamed aguestplace,hasornottonamedcheck whether aplace.destination is covered before searching.
⟨18 unchanged words⟩ when it has enough homes to have one.ItSafe to cite; it lists the homes and their neighbourhoods.","type ⟨74 unchanged words⟩
SearchesSearch Luxury Lodging's directly bookable vacation rentals by destination ⟨6 unchanged words⟩ With dates, only homes confirmed available arereturned, each with a stay total that includes cleaning, fees and taxes; nightly rates exclude them.returned. Interchangeable units of the same type are returned ⟨28 unchanged words⟩ confirmed available. A busy market can hold morehomesthan one request can price, so `unpriced_in_time` counts matching homes whose availability wasnotnever established: they are unknown, not unavailable. Pet-friendly searches also report `pet_policy_unknown`: otherwise matching homes with unverifiedpetpolicies,with orincluding without dates.WhileNever tell a guest a place has nothing when either unknown count is above zero,the--resultssetare`price_all_matches`notto check the wholemarket;market,`price_all_matches`raise `limit`,anarrowhigherthe`limit`place, or quote anarrowerspecificplacehome.coversAlwaysmorequoteoftheit.stay total from get_live_quote rather than the nightly rate.
{"additionalProperties":false,"properties":{"amenities":{"description":"Amenitiesevery returnedthe homehasmust have, as recorded by the property manager."," ⟨35 unchanged words⟩ check_in":{"description":"Check-in date, YYYY-MM-DD.Availability isGivecheckedbothonlydateswhentobothfilterdatesbyarerealgiven.availability.","type":"string"},"check_out":{ ⟨8 unchanged words⟩ Number of guests, including children.","maximum":5040,"minimum":1,"type":"integer"}, ⟨37 unchanged words⟩ in dollars, including cleaning, fees and taxes.Applies only when
⟨5 unchanged words⟩ description":"False means availability is unknown andno stay has beeneverypriced;pricenoisrowacarriesstartinganightlystay_total.rate.","type":"boolean"},"matches":{ ⟨53 unchanged words⟩ {"properties":{"avg_per_night":{"description":"Nostay_totallongerdividedreturned;bystay_totalnights.isAthederivedprice
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨76 unchanged words⟩ Number of guests, including children.","maximum":4050,"minimum":1,"type":"integer"}, ⟨171 unchanged words⟩
⟨83 unchanged words⟩ name, place, amenity or review fields atall -- readall; detail_note,and call get_property_details for itsaysagain.why.","type":"boolean"},"from_price_note":{"description":"Only present when from_price_per_night is null: whatwe canis andcannotisseenot visible about this home's calendar.Call get_availabilityAbeforenullsuggestingstartingdates;ratedomeansnotneitherdescribethat the homeasis booked outornorasthat it is ready to book.","type":"string"}, ⟨8 unchanged words⟩ starting rate is published for this home,nevernot that it isfreefree;--from_price_notereadsaysfrom_price_note.why.","type":["number","null"]},"highlights":{"description":"Up to three short phrasesan agent can repeatdescribingwhenwhatrecommendingsets thehome.home apart.","items":{"type":"string"}, ⟨22 unchanged words⟩ "integer","null"]},"pet_fee":{"description":"For a stay with one pet, from the fee table the quote charges from. Null when the home charges none; omitted when it could not be verified, and pet_fee_note says why.","type":["number","null"]},"pet_fee_basis":{"enum":["per stay","per pet","per pet per night"],"type":"string"},"pet_fee_note":{"type":"string"},"pet_policy_note":{"type":"string"},"pets_allowed" ⟨20 unchanged words⟩ many 4- and 5-star reviews this home has.NeverItpresentisthisaascount,ornotderive,aanrating; no averagerating.rating exists for any home.","type":"integer"},"review_sources":{ ⟨53 unchanged words⟩
⟨13 unchanged words⟩ to 93 days, with its minimum stay.Use thisIttoshowssuggestwhich alternativedates;datesuseareget_live_quoteopen;toitconfirmdoesandnot priceaorspecificconfirm a stay.
Live price for one property and onestay,stay.includingstay_total includes cleaning, fees andtaxes,taxes;plusnightly rates exclude them. Also returns the refundable deposit hold, which is separate from the total, the payment schedule, and that home's own cancellation and check-in terms. The top-level totals and cancellation are the non-refundable rate; rate_options lists every rate on offer with its own terms, total and booking_url, including a refundable rate with its free-cancellation deadline when check-in is more than 30 days away. Returns a booking_url the guest opens to complete the booking and accept the rental terms on Luxury Lodging's ownsite. State the total, never thesite;nightlythisratetoolalone,doesandnotneverbookpromiseoratakerefund.payment.
⟨26 unchanged words⟩ },"cancellation":{"description":"This home'sterms.ownNevercancellationpromisetermsafor the non-refundable rate, which stay_total prices. Each entry in rate_options carries its own terms, and those are the only refundbeyondtermswhatthatthisapplysays.to that rate.","type":"string"},"check_in":{ ⟨32 unchanged words⟩ ,"note":{"type":"string"},"payment_schedule":{"description":"When the guest pays. plan 'deposit': due_at_booking now and the balance charged automatically to the same card on balance_charged_on (60 days before check-in). plan 'full': everything at booking.","properties":{"balance":{"type":"number"},"balance_charged_on":{"type":"string"},"due_at_booking":{"type":"number"},"plan":{"enum":["full","deposit"],"type":"string"}},"type":"object"},"pets":{"type":"boolean"},"price_breakdown" ⟨26 unchanged words⟩ "type":["number","null"]},"refundable_rate_premium":{"description":"The 8% of the nightly subtotal the refundable rate adds; 0 on the non-refundable rate.","type":["number","null"]},"
⟨34 unchanged words⟩ level; the exact address is shared after booking. Guest reviews are a selection of 4- and 5-star reviews, each with its source; no average rating exists.
⟨86 unchanged words⟩ ":"The platform the review was left on.Always name it when quoting the review.","type":"string"},"stars":{ ⟨33 unchanged words⟩ description":"Null when the provider gave none;nevertheassumecountryone.is then unknown.","type":["string","null"]} ⟨64 unchanged words⟩ "number","null"]},"pet_fee":{"description":"For a stay with one pet, from the fee table the quote charges from. Null when the home charges none; omitted when it could not be verified, and pet_fee_note says why.","type":["number","null"]},"pet_fee_basis":{"description":"How pet_fee applies. A per-pet-per-night fee multiplies by the nights.","enum":["per stay","per pet","per pet per night"],"type":"string"},"pet_fee_note":{"type":"string"},"pet_policy_note":{"type":"string"}, ⟨83 unchanged words⟩
⟨18 unchanged words⟩ homes and the largest group each can sleep.UseItitshowswhenwhether aguest has not nameddestinationaisplacecovered,or to checkincludingwhetherwhen adestinationguestishascoverednotbeforenamedsearching.a place.
⟨18 unchanged words⟩ when it has enough homes to have one.Safe to cite; itIt lists the homes and their neighbourhoods.","type ⟨74 unchanged words⟩
SearchSearches Luxury Lodging's directly bookable vacation rentals by destination ⟨6 unchanged words⟩ With dates, only homes confirmed available arereturned.returned, each with a stay total that includes cleaning, fees and taxes; nightly rates exclude them. Interchangeable units of the same type are returned ⟨28 unchanged words⟩ confirmed available. A busy market can hold more homes than one request can price, so `unpriced_in_time` counts matching homes whose availability wasnevernot established: they are unknown, not unavailable. Pet-friendly searches also report `pet_policy_unknown`: otherwise matching homes with unverified pet policies,includingwith or without dates.Never tell a guest a place has nothing whenWhile eitherunknowncount is above zero--,setthe`price_all_matches`resultstoarechecknot the wholemarket, raisemarket;`limit``price_all_matches`,narrowathehigherplace`limit`, orquoteaspecific home. Always quote the stay total from get_live_quotenarrowerratherplacethancoversthemorenightlyofrate.it.
{"additionalProperties":false,"properties":{"amenities":{"description":"Amenitiestheeveryhomereturnedmusthomehavehas, as recorded by the property manager."," ⟨35 unchanged words⟩ check_in":{"description":"Check-in date, YYYY-MM-DD.GiveAvailabilitybothisdatescheckedtoonlyfilterwhenbybothrealdatesavailability.are given.","type":"string"},"check_out":{ ⟨56 unchanged words⟩ in dollars, including cleaning, fees and taxes.OnlyApplies
⟨77 unchanged words⟩ description":"stay_total divided by nights. A derivedfigure;figure,quotenot a rate thetotal,homenotcharges;this.stay_total is the price of the stay.","type":"number"},"avg_per_night_display":{ ⟨30 unchanged words⟩ "Only present when from_price_per_night is null: whatwe canis andcannotisseenot visible about this home's calendar.Call get_availabilityAbeforenullsuggestingstartingdates;rate
⟨83 unchanged words⟩ name, place, amenity or review fields atall;all -- read detail_note,saysandwhy.call get_property_details for it again.","type":"boolean"},"from_price_note":{"description":"Only present when from_price_per_night is null: whatisweandcanisandnotcannotvisiblesee about this home's calendar.ACallnullget_availabilitystartingbeforeratesuggestingmeansdates;neitherdothatnot describe the homeisas booked outnor that itorisas ready to book.","type":"string"} ⟨8 unchanged words⟩ starting rate is published for this home,notnever that it isfree;freefrom_price_note--saysreadwhy.from_price_note.","type":["number","null"]},"highlights":{"description":"Up to three short phrasesdescribinganwhatagentsetscantherepeathomewhenapart.recommending the home.","items":{"type":"string"}, ⟨22 unchanged words⟩ "integer","null"]},"pet_fee":{"description":"For a stay with one pet, from the fee table the quote charges from. Null when the home charges none; omitted when it could not be verified, and pet_fee_note says why.","type":["number","null"]},"pet_fee_basis":{"enum":["per stay","per pet","per pet per night"],"type":"string"},"pet_fee_note":{"type":"string"},"pet_policy_note":{"type":"string"},"pets_allowed" ⟨20 unchanged words⟩ many 4- and 5-star reviews this home has.ItNeverispresentathiscountas,not aorrating;derive,noan averagerating exists for any home.rating.","type":"integer"},"review_sources":{ ⟨53 unchanged words⟩
⟨13 unchanged words⟩ to 93 days, with its minimum stay.ItUseshowsthiswhichto suggest alternativedatesdates;areuseopen;get_live_quoteittodoesconfirmnotand priceor confirma specific stay.
Live price for one property and onestay. stay_totalstay,includesincluding cleaning, fees andtaxes; nightly rates exclude them. Alsotaxes,returnsplus the refundable deposit hold,which is separate from the total, the payment schedule,and that home'sowncancellation and check-interms, which are the only refund terms that apply.terms. Returns a booking_url the guest opens to complete the booking and accept the rental terms on Luxury Lodging's ownsite;site.thisStatetoolthedoestotal,notneverbooktheornightlytakeratepayment.alone, and never promise a refund.
⟨26 unchanged words⟩ },"cancellation":{"description":"This home'sown cancellationterms.They areNeverthepromiseonlya refundterms that applybeyondtowhatthethisstay.says.","type":"string"},"check_in":{ ⟨32 unchanged words⟩ ,"note":{"type":"string"},"payment_schedule":{"description":"When the guest pays. plan 'deposit': due_at_booking now and the balance charged automatically to the same card on balance_charged_on (60 days before check-in). plan 'full': everything at booking.","properties":{"balance":{"type":"number"},"balance_charged_on":{"type":"string"},"due_at_booking":{"type":"number"},"plan":{"enum":["full","deposit"],"type":"string"}},"type":"object"},"pets":{"type":"boolean"},"price_breakdown" ⟨29 unchanged words⟩ },"taxes":{"description":"Lodging tax.It isAlways collectedon every stayand always
⟨34 unchanged words⟩ level; the exact address is shared after booking.Guest reviews are a selection of 4- and 5-star reviews, each with its source; no average rating exists.
⟨86 unchanged words⟩ ":"The platform the review was left on. Always name it when quoting the review.","type":"string"},"stars":{ ⟨33 unchanged words⟩ description":"Null when the provider gave none;the country isneverthenassumeunknown.one.","type":["string","null"]} ⟨64 unchanged words⟩ "number","null"]},"pet_fee":{"description":"For a stay with one pet, from the fee table the quote charges from. Null when the home charges none; omitted when it could not be verified, and pet_fee_note says why.","type":["number","null"]},"pet_fee_basis":{"description":"How pet_fee applies. A per-pet-per-night fee multiplies by the nights.","enum":["per stay","per pet","per pet per night"],"type":"string"},"pet_fee_note":{"type":"string"},"pet_policy_note":{"type":"string"}, ⟨83 unchanged words⟩
⟨18 unchanged words⟩ homes and the largest group each can sleep.ItUseshowsitwhetherwhen adestination isguestcovered,hasincludingnotwhennamed aguestplace,hasornottonamedcheck whether aplace.destination is covered before searching.
⟨18 unchanged words⟩ when it has enough homes to have one.ItSafe to cite; it lists the homes and their neighbourhoods.","type ⟨74 unchanged words⟩
SearchesSearch Luxury Lodging's directly bookable vacation rentals by destination ⟨6 unchanged words⟩ With dates, only homes confirmed available arereturned, each with a stay total that includes cleaning, fees and taxes; nightly rates exclude them.returned. Interchangeable units of the same type are returned ⟨28 unchanged words⟩ confirmed available. A busy market can hold morehomesthan one request can price, so `unpriced_in_time` counts matching homes whose availability wasnotnever established: they are unknown, not unavailable. Pet-friendly searches also report `pet_policy_unknown`: otherwise matching homes with unverifiedpetpolicies,with orincluding without dates.WhileNever tell a guest a place has nothing when either unknown count is above zero,the--resultssetare`price_all_matches`notto check the wholemarket;market,`price_all_matches`raise `limit`,anarrowhigherthe`limit`place, or quote anarrowerspecificplacehome.coversAlwaysmorequoteoftheit.stay total from get_live_quote rather than the nightly rate.
{"additionalProperties":false,"properties":{"amenities":{"description":"Amenitiesevery returnedthe homehasmust have, as recorded by the property manager."," ⟨35 unchanged words⟩ check_in":{"description":"Check-in date, YYYY-MM-DD.Availability isGivecheckedbothonlydateswhentobothfilterdatesbyarerealgiven.availability.","type":"string"},"check_out":{ ⟨56 unchanged words⟩ in dollars, including cleaning, fees and taxes.Applies only whenOnlydatesworksare
⟨77 unchanged words⟩ description":"stay_total divided by nights. A derivedfigure, not a rate the home charges; stay_totalfigure;isquote theprice oftotal,thenotstay.this.","type":"number"},"avg_per_night_display":{ ⟨30 unchanged words⟩ "Only present when from_price_per_night is null: whatisweandcanisandnotcannotvisiblesee about this home's calendar.ACallnullget_availabilitystartingbefore
⟨83 unchanged words⟩ name, place, amenity or review fields atall -- readall; detail_note,and call get_property_details for itsaysagain.why.","type":"boolean"},"from_price_note":{"description":"Only present when from_price_per_night is null: whatwe canis andcannotisseenot visible about this home's calendar.Call get_availabilityAbeforenullsuggestingstartingdates;ratedomeansnotneitherdescribethat the homeasis booked outornorasthat it is ready to book.","type":"string"}, ⟨8 unchanged words⟩ starting rate is published for this home,nevernot that it isfreefree;--from_price_notereadsaysfrom_price_note.why.","type":["number","null"]},"highlights":{"description":"Up to three short phrasesan agent can repeatdescribingwhenwhatrecommendingsets thehome.home apart.","items":{"type":"string"}, ⟨22 unchanged words⟩ "integer","null"]},"pet_fee":{"description":"For a stay with one pet, from the fee table the quote charges from. Null when the home charges none; omitted when it could not be verified, and pet_fee_note says why.","type":["number","null"]},"pet_fee_basis":{"enum":["per stay","per pet","per pet per night"],"type":"string"},"pet_fee_note":{"type":"string"},"pet_policy_note":{"type":"string"},"pets_allowed" ⟨20 unchanged words⟩ many 4- and 5-star reviews this home has.NeverItpresentisthisaascount,ornotderive,aanrating; no averagerating.rating exists for any home.","type":"integer"},"review_sources":{ ⟨53 unchanged words⟩
⟨13 unchanged words⟩ to 93 days, with its minimum stay.Use thisIttoshowssuggestwhich alternativedates;datesuseareget_live_quoteopen;toitconfirmdoesandnot priceaorspecificconfirm a stay.
Live price for one property and onestay,stay.includingstay_total includes cleaning, fees andtaxes,taxes;plusnightly rates exclude them. Also returns the refundable deposit hold, which is separate from the total, the payment schedule, and that home's own cancellation and check-interms.terms, which are the only refund terms that apply. Returns a booking_url the guest opens to complete the booking and accept the rental terms on Luxury Lodging's ownsite. State the total, never thesite;nightlythisratetoolalone,doesandnotneverbookpromiseoratakerefund.payment.
⟨26 unchanged words⟩ },"cancellation":{"description":"This home's own cancellation terms.NeverTheypromiseareathe only refundbeyondtermswhatthatthisapplysays.to the stay.","type":"string"},"check_in":{ ⟨117 unchanged words⟩ },"taxes":{"description":"Lodging tax.AlwaysIt is collectedandonalwaysevery stay and included in the total.","type":["number ⟨10 unchanged words⟩ :"integer"},"quote_expires_at":{"description":"After
⟨34 unchanged words⟩ level; the exact address is shared after booking. Guest reviews are a selection of 4- and 5-star reviews, each with its source; no average rating exists.
⟨86 unchanged words⟩ ":"The platform the review was left on.Always name it when quoting the review.","type":"string"},"stars":{ ⟨33 unchanged words⟩ description":"Null when the provider gave none;nevertheassumecountryone.is then unknown.","type":["string","null"]} ⟨64 unchanged words⟩ "number","null"]},"pet_fee":{"description":"For a stay with one pet, from the fee table the quote charges from. Null when the home charges none; omitted when it could not be verified, and pet_fee_note says why.","type":["number","null"]},"pet_fee_basis":{"description":"How pet_fee applies. A per-pet-per-night fee multiplies by the nights.","enum":["per stay","per pet","per pet per night"],"type":"string"},"pet_fee_note":{"type":"string"},"pet_policy_note":{"type":"string"}, ⟨83 unchanged words⟩
⟨18 unchanged words⟩ homes and the largest group each can sleep.UseItitshowswhenwhether aguest has not nameddestinationaisplacecovered,or to checkincludingwhetherwhen adestinationguestishascoverednotbeforenamedsearching.a place.
⟨18 unchanged words⟩ when it has enough homes to have one.Safe to cite; itIt lists the homes and their neighbourhoods.","type ⟨74 unchanged words⟩
SearchSearches Luxury Lodging's directly bookable vacation rentals by destination ⟨6 unchanged words⟩ With dates, only homes confirmed available arereturned.returned, each with a stay total that includes cleaning, fees and taxes; nightly rates exclude them. Interchangeable units of the same type are returned ⟨28 unchanged words⟩ confirmed available. A busy market can hold more homes than one request can price, so `unpriced_in_time` counts matching homes whose availability wasnevernot established: they are unknown, not unavailable. Pet-friendly searches also report `pet_policy_unknown`: otherwise matching homes with unverified pet policies,includingwith or without dates.Never tell a guest a place has nothing whenWhile eitherunknowncount is above zero--,setthe`price_all_matches`resultstoarechecknot the wholemarket, raisemarket;`limit``price_all_matches`,narrowathehigherplace`limit`, orquoteaspecific home. Always quote the stay total from get_live_quotenarrowerratherplacethancoversthemorenightlyofrate.it.
{"additionalProperties":false,"properties":{"amenities":{"description":"Amenitiestheeveryhomereturnedmusthomehavehas, as recorded by the property manager."," ⟨35 unchanged words⟩ check_in":{"description":"Check-in date, YYYY-MM-DD.GiveAvailabilitybothisdatescheckedtoonlyfilterwhenbybothrealdatesavailability.are given.","type":"string"},"check_out":{ ⟨56 unchanged words⟩ in dollars, including cleaning, fees and taxes.OnlyApplies
⟨77 unchanged words⟩ description":"stay_total divided by nights. A derivedfigure;figure,quotenot a rate thetotal,homenotcharges;this.stay_total is the price of the stay.","type":"number"},"avg_per_night_display":{ ⟨30 unchanged words⟩ "Only present when from_price_per_night is null: whatwe canis andcannotisseenot visible about this home's calendar.Call get_availabilityAbeforenullsuggestingstartingdates;rate
⟨80 unchanged words⟩ never established: they are unknown, not unavailable. Pet-friendly searches also report `pet_policy_unknown`: otherwise matching homes with unverified policies, including without dates. Never tell a guest a place has nothing whenthateithernumberunknown count is above zero -- set `price_all_matches` to check ⟨25 unchanged words⟩
⟨137 unchanged words⟩ :"integer"},"pets":{"description":"The guest is bringing a pet. Only return pet-friendly homes,thatincludeacceptthepets.pet fee in dated totals, and preserve the pet selection in booking links.","type":"boolean"},"price_all_matches":{ ⟨102 unchanged words⟩
⟨27 unchanged words⟩ response carries.","type":"integer"},"pet_policy_unknown":{"description":"Otherwise matching homes omitted from a pet-friendly search because their pet policy is unknown, not confirmed to prohibit pets. Applies with or without dates; included in unpriced_in_time when dated. A positive count means the pet-friendly inventory is incomplete.","type":"integer"},"properties":{"items":{"properties":{"avg_per_night ⟨336 unchanged words⟩ was never established for these dates, because their pet policy could not be verified, a quote failed, the request ran out of budget, or it did not reach them. They are unknown, ⟨23 unchanged words⟩
before
—after
{"properties":{"blocked_dates":{"items":{"type":"string"},"type":"array"},"end_date":{"type":"string"},"minimum_nights":{"type":["number","null"]},"nights_blocked":{"type":"integer"},"nights_open":{"type":"integer"},"note":{"type":"string"},"open_dates":{"description":"YYYY-MM-DD nights that are open. They still have to satisfy minimum stay and arrival rules.","items":{"type":"string"},"type":"array"},"property_id":{"type":"integer"},"start_date":{"type":"string"}},"required":["property_id","start_date","end_date","nights_open","nights_blocked","open_dates","blocked_dates","note"],"type":"object"}before
—after
{"description":"A live total for one stay. When available is false only property_id, available, reason and booking_url are present.","properties":{"available":{"type":"boolean"},"booking_url":{"type":"string"},"cancellation":{"description":"This home's terms. Never promise a refund beyond what this says.","type":"string"},"check_in":{"type":"string"},"check_in_from":{"type":"string"},"check_out":{"type":"string"},"check_out_by":{"type":"string"},"currency":{"type":"string"},"guests":{"type":"integer"},"maximum_nights":{"type":["number","null"]},"minimum_nights":{"type":["number","null"]},"name":{"type":"string"},"nights":{"type":["integer","null"]},"note":{"type":"string"},"pets":{"type":"boolean"},"price_breakdown":{"properties":{"card_processing_fee":{"type":["number","null"]},"cleaning_fee":{"type":["number","null"]},"discount":{"type":["number","null"]},"extra_guest_fee":{"type":["number","null"]},"nightly_subtotal":{"type":["number","null"]},"other_fees":{"type":["number","null"]},"pet_fee":{"type":["number","null"]},"taxes":{"description":"Lodging tax. Always collected and always included in the total.","type":["number","null"]},"total":{"type":["number","null"]}},"type":["object","null"]},"property_id":{"type":"integer"},"quote_expires_at":{"description":"After this the total must be re-quoted before it is given to a guest.","type":"string"},"quoted_at":{"type":"string"},"reason":{"description":"Why the stay cannot be booked. Only present when available is false.","type":"string"},"security_deposit_hold":{"description":"A refundable hold, not part of total_due_now.","type":["number","null"]},"total_display":{"type":"string"},"total_due_now":{"description":"Everything the guest pays at booking, including cleaning, fees and taxes. State this, never the nightly rate alone.","type":["number","null"]}},"required":["property_id","available","booking_url"],"type":"object"}before
—after
{"properties":{"alias":{"type":["string","null"]},"amenities":{"items":{"type":"string"},"type":"array"},"amenities_source":{"enum":["provider","unavailable"],"type":"string"},"bathrooms":{"type":["number","null"]},"bedrooms":{"type":["number","null"]},"beds":{"type":["number","null"]},"booking_url":{"type":"string"},"common_questions":{"items":{"properties":{"answer":{"type":"string"},"question":{"type":"string"}},"required":["question","answer"],"type":"object"},"type":"array"},"description":{"type":["string","null"]},"guest_reviews":{"description":"A selection of 4- and 5-star reviews, not a summary of every review. No overall or average rating is implied or available.","properties":{"reviews":{"items":{"properties":{"published":{"type":["string","null"]},"source":{"description":"The platform the review was left on. Always name it when quoting the review.","type":"string"},"stars":{"type":["number","null"]},"text":{"type":["string","null"]}},"required":["source"],"type":"object"},"type":"array"},"selection":{"type":"string"}},"required":["selection","reviews"],"type":"object"},"house_rules":{"items":{"type":"string"},"type":"array"},"location":{"properties":{"city":{"type":"string"},"country":{"type":"string"},"neighbourhood":{"description":"Neighbourhood-level location only; the exact address is shared after booking.","type":["string","null"]},"state":{"type":["string","null"]}},"required":["city","country"],"type":"object"},"name":{"type":"string"},"photos":{"items":{"type":"string"},"type":"array"},"policies":{"description":"This home's own policies, not portfolio defaults, when policies_source is \"provider\".","properties":{"cancellation":{"type":"string"},"check_in_from":{"type":"string"},"check_in_until":{"type":["string","null"]},"check_out_by":{"type":"string"},"minimum_nights":{"type":["number","null"]},"pet_fee":{"type":["number","null"]},"pets_allowed":{"type":"boolean"},"policies_source":{"enum":["provider","portfolio-default"],"type":"string"},"quiet_hours":{"properties":{"from":{"type":"string"},"to":{"type":"string"}},"required":["from","to"],"type":["object","null"]},"security_deposit_hold":{"description":"A refundable hold, not part of the total charged at booking.","type":"number"}},"required":["check_in_from","check_out_by","cancellation","security_deposit_hold","pets_allowed","policies_source"],"type":"object"},"property_id":{"type":"integer"},"property_type":{"type":["string","null"]},"sleeps":{"type":["integer","null"]},"support_email":{"type":"string"}},"required":["property_id","name","location","amenities","amenities_source","photos","policies","house_rules","guest_reviews","booking_url","support_email"],"type":"object"}Every city where Luxury Lodging has directly bookable homes, with the state or region, the country, how many homes and the largest group each ⟨22 unchanged words⟩
before
—after
{"properties":{"homes_count":{"type":"integer"},"markets":{"items":{"properties":{"city":{"type":"string"},"collection_url":{"description":"The public page for this market, when it has enough homes to have one. Safe to cite; it lists the homes and their neighbourhoods.","type":"string"},"country":{"description":"Not every destination is in the United States; two cities can share a name across countries.","type":["string","null"]},"homes":{"type":"integer"},"sleeps_max":{"description":"The largest group any single home in this market sleeps.","type":"integer"},"state":{"description":"State, province or region as the provider files it.","type":["string","null"]}},"required":["city","homes","sleeps_max"],"type":"object"},"type":"array"},"markets_count":{"type":"integer"},"note":{"type":"string"}},"required":["markets_count","homes_count","markets","note"],"type":"object"}⟨11 unchanged words⟩ size, bedrooms and amenities. With dates, onlypropertieshomesactuallyconfirmed available are returned. Interchangeable units of the same type are returned once, with every unit's id listed in `similar_units` so any of them can still be quoted and booked; `limit` counts those results, while `total_matching` counts the individual homes confirmed available. A busy market can hold more than one request can price, so `unpriced_in_time` counts matching homes whose availability was never established: they are unknown, not unavailable. Never tell a guest a place has nothing when that number is above zero -- set `price_all_matches` to check the whole market, raise `limit`, narrow the place, or quote a specific home. Always quote the stay total from get_live_quote rather than the nightly rate.
⟨144 unchanged words⟩ accept pets.","type":"boolean"},"price_all_matches":{"description":"Price every matching home rather than a fast sample, so total_matching is the real count and the cheapest result is genuinely the cheapest. Slower, and still bounded — check unpriced_in_time. Use it when a guest asks how many homes are free or for the cheapest; leave it off for browsing.","type":"boolean"},"query":{"description":"Free text place, ⟨44 unchanged words⟩
before
—after
{"properties":{"availability_note":{"type":"string"},"dates_checked":{"description":"False means availability is unknown and every price is a starting nightly rate.","type":"boolean"},"matches":{"description":"How many results this response carries.","type":"integer"},"properties":{"items":{"properties":{"avg_per_night":{"description":"stay_total divided by nights. A derived figure; quote the total, not this.","type":"number"},"avg_per_night_display":{"type":"string"},"bathrooms":{"type":["number","null"]},"bedrooms":{"type":["number","null"]},"booking_url":{"description":"Where the guest completes the booking on Luxury Lodging's own site.","type":"string"},"city":{"type":"string"},"from_price_note":{"description":"Only present when from_price_per_night is null: what we can and cannot see about this home's calendar. Call get_availability before suggesting dates; do not describe the home as booked out or as ready to book.","type":"string"},"from_price_per_night":{"description":"Starting nightly rate, not a stay total. Absent dates, this is all that is known. Null means no starting rate is published for this home, never that it is free or cheap -- read from_price_note.","type":["number","null"]},"highlights":{"description":"Up to three short phrases an agent can repeat when recommending the home.","items":{"type":"string"},"type":"array"},"name":{"type":"string"},"neighbourhood":{"description":"Neighbourhood-level location only; the exact address is shared after booking.","type":["string","null"]},"nights":{"type":"integer"},"photo":{"type":["string","null"]},"property_id":{"type":"integer"},"property_type":{"type":["string","null"]},"review_count":{"description":"How many 4- and 5-star reviews this home has. Never present this as, or derive, an average rating.","type":"integer"},"review_sources":{"description":"Which platforms those reviews came from.","items":{"type":"string"},"type":"array"},"similar_units":{"description":"Only present when interchangeable units of this type exist; any of these ids can be quoted and booked.","properties":{"count":{"type":"integer"},"note":{"type":"string"},"property_ids":{"items":{"type":"integer"},"type":"array"}},"required":["count","note","property_ids"],"type":"object"},"sleeps":{"type":["integer","null"]},"state":{"type":["string","null"]},"stay_total":{"description":"Total for the requested dates including cleaning, fees and taxes. Only present when dates were given and the home was priced.","type":"number"},"stay_total_display":{"type":"string"},"top_amenities":{"items":{"type":"string"},"type":"array"}},"required":["property_id","name","city","top_amenities","review_count","review_sources","highlights","booking_url"],"type":"object"},"type":"array"},"searched_location":{"type":["string","null"]},"total_matching":{"description":"How many individual homes matched, counting every interchangeable unit.","type":"integer"},"total_matching_groups":{"description":"How many distinct unit types matched.","type":"integer"},"unpriced_in_time":{"description":"Matching homes whose availability was never established for these dates, because the request ran out of budget or did not reach them. They are unknown, not unavailable — raise `limit`, narrow the place, or use get_live_quote.","type":"integer"}},"required":["matches","total_matching","total_matching_groups","unpriced_in_time","dates_checked","availability_note","properties"],"type":"object"}after
—before
{"properties":{"blocked_dates":{"items":{"type":"string"},"type":"array"},"end_date":{"type":"string"},"minimum_nights":{"type":["number","null"]},"nights_blocked":{"type":"integer"},"nights_open":{"type":"integer"},"note":{"type":"string"},"open_dates":{"description":"YYYY-MM-DD nights that are open. They still have to satisfy minimum stay and arrival rules.","items":{"type":"string"},"type":"array"},"property_id":{"type":"integer"},"start_date":{"type":"string"}},"required":["property_id","start_date","end_date","nights_open","nights_blocked","open_dates","blocked_dates","note"],"type":"object"}after
—before
{"description":"A live total for one stay. When available is false only property_id, available, reason and booking_url are present.","properties":{"available":{"type":"boolean"},"booking_url":{"type":"string"},"cancellation":{"description":"This home's terms. Never promise a refund beyond what this says.","type":"string"},"check_in":{"type":"string"},"check_in_from":{"type":"string"},"check_out":{"type":"string"},"check_out_by":{"type":"string"},"currency":{"type":"string"},"guests":{"type":"integer"},"maximum_nights":{"type":["number","null"]},"minimum_nights":{"type":["number","null"]},"name":{"type":"string"},"nights":{"type":["integer","null"]},"note":{"type":"string"},"pets":{"type":"boolean"},"price_breakdown":{"properties":{"card_processing_fee":{"type":["number","null"]},"cleaning_fee":{"type":["number","null"]},"discount":{"type":["number","null"]},"extra_guest_fee":{"type":["number","null"]},"nightly_subtotal":{"type":["number","null"]},"other_fees":{"type":["number","null"]},"pet_fee":{"type":["number","null"]},"taxes":{"description":"Lodging tax. Always collected and always included in the total.","type":["number","null"]},"total":{"type":["number","null"]}},"type":["object","null"]},"property_id":{"type":"integer"},"quote_expires_at":{"description":"After this the total must be re-quoted before it is given to a guest.","type":"string"},"quoted_at":{"type":"string"},"reason":{"description":"Why the stay cannot be booked. Only present when available is false.","type":"string"},"security_deposit_hold":{"description":"A refundable hold, not part of total_due_now.","type":["number","null"]},"total_display":{"type":"string"},"total_due_now":{"description":"Everything the guest pays at booking, including cleaning, fees and taxes. State this, never the nightly rate alone.","type":["number","null"]}},"required":["property_id","available","booking_url"],"type":"object"}after
—before
{"properties":{"alias":{"type":["string","null"]},"amenities":{"items":{"type":"string"},"type":"array"},"amenities_source":{"enum":["provider","unavailable"],"type":"string"},"bathrooms":{"type":["number","null"]},"bedrooms":{"type":["number","null"]},"beds":{"type":["number","null"]},"booking_url":{"type":"string"},"common_questions":{"items":{"properties":{"answer":{"type":"string"},"question":{"type":"string"}},"required":["question","answer"],"type":"object"},"type":"array"},"description":{"type":["string","null"]},"guest_reviews":{"description":"A selection of 4- and 5-star reviews, not a summary of every review. No overall or average rating is implied or available.","properties":{"reviews":{"items":{"properties":{"published":{"type":["string","null"]},"source":{"description":"The platform the review was left on. Always name it when quoting the review.","type":"string"},"stars":{"type":["number","null"]},"text":{"type":["string","null"]}},"required":["source"],"type":"object"},"type":"array"},"selection":{"type":"string"}},"required":["selection","reviews"],"type":"object"},"house_rules":{"items":{"type":"string"},"type":"array"},"location":{"properties":{"city":{"type":"string"},"country":{"type":"string"},"neighbourhood":{"description":"Neighbourhood-level location only; the exact address is shared after booking.","type":["string","null"]},"state":{"type":["string","null"]}},"required":["city","country"],"type":"object"},"name":{"type":"string"},"photos":{"items":{"type":"string"},"type":"array"},"policies":{"description":"This home's own policies, not portfolio defaults, when policies_source is \"provider\".","properties":{"cancellation":{"type":"string"},"check_in_from":{"type":"string"},"check_in_until":{"type":["string","null"]},"check_out_by":{"type":"string"},"minimum_nights":{"type":["number","null"]},"pet_fee":{"type":["number","null"]},"pets_allowed":{"type":"boolean"},"policies_source":{"enum":["provider","portfolio-default"],"type":"string"},"quiet_hours":{"properties":{"from":{"type":"string"},"to":{"type":"string"}},"required":["from","to"],"type":["object","null"]},"security_deposit_hold":{"description":"A refundable hold, not part of the total charged at booking.","type":"number"}},"required":["check_in_from","check_out_by","cancellation","security_deposit_hold","pets_allowed","policies_source"],"type":"object"},"property_id":{"type":"integer"},"property_type":{"type":["string","null"]},"sleeps":{"type":["integer","null"]},"support_email":{"type":"string"}},"required":["property_id","name","location","amenities","amenities_source","photos","policies","house_rules","guest_reviews","booking_url","support_email"],"type":"object"}after
—Every city where Luxury Lodging has directly bookable homes, withthe state or region, the country,how many homes and the largest group each ⟨22 unchanged words⟩
before
{"properties":{"homes_count":{"type":"integer"},"markets":{"items":{"properties":{"city":{"type":"string"},"country":{"description":"Not every destination is in the United States; two cities can share a name across countries.","type":["string","null"]},"homes":{"type":"integer"},"sleeps_max":{"description":"The largest group any single home in this market sleeps.","type":"integer"},"state":{"description":"State, province or region as the provider files it.","type":["string","null"]}},"required":["city","homes","sleeps_max"],"type":"object"},"type":"array"},"markets_count":{"type":"integer"},"note":{"type":"string"}},"required":["markets_count","homes_count","markets","note"],"type":"object"}after
—⟨11 unchanged words⟩ size, bedrooms and amenities. With dates, onlyhomespropertiesconfirmedactually available are returned.Interchangeable units of the same type are returned once, with every unit's id listed in `similar_units` so any of them can still be quoted and booked; `limit` counts those results, while `total_matching` counts the individual homes confirmed available. A busy market can hold more than one request can price, so `unpriced_in_time` counts matching homes whose availability was never established: they are unknown, not unavailable. Never tell a guest a place has nothing when that number is above zero -- raise `limit`, narrow the place, or quote a specific home.Always quote the stay total from get_live_quote rather than the nightly rate.
before
{"properties":{"availability_note":{"type":"string"},"dates_checked":{"description":"False means availability is unknown and every price is a starting nightly rate.","type":"boolean"},"matches":{"description":"How many results this response carries.","type":"integer"},"properties":{"items":{"properties":{"avg_per_night":{"description":"stay_total divided by nights. A derived figure; quote the total, not this.","type":"number"},"avg_per_night_display":{"type":"string"},"bathrooms":{"type":["number","null"]},"bedrooms":{"type":["number","null"]},"booking_url":{"description":"Where the guest completes the booking on Luxury Lodging's own site.","type":"string"},"city":{"type":"string"},"from_price_per_night":{"description":"Starting nightly rate, not a stay total. Absent dates, this is all that is known.","type":["number","null"]},"highlights":{"description":"Up to three short phrases an agent can repeat when recommending the home.","items":{"type":"string"},"type":"array"},"name":{"type":"string"},"neighbourhood":{"description":"Neighbourhood-level location only; the exact address is shared after booking.","type":["string","null"]},"nights":{"type":"integer"},"photo":{"type":["string","null"]},"property_id":{"type":"integer"},"property_type":{"type":["string","null"]},"review_count":{"description":"How many 4- and 5-star reviews this home has. Never present this as, or derive, an average rating.","type":"integer"},"review_sources":{"description":"Which platforms those reviews came from.","items":{"type":"string"},"type":"array"},"similar_units":{"description":"Only present when interchangeable units of this type exist; any of these ids can be quoted and booked.","properties":{"count":{"type":"integer"},"note":{"type":"string"},"property_ids":{"items":{"type":"integer"},"type":"array"}},"required":["count","note","property_ids"],"type":"object"},"sleeps":{"type":["integer","null"]},"state":{"type":["string","null"]},"stay_total":{"description":"Total for the requested dates including cleaning, fees and taxes. Only present when dates were given and the home was priced.","type":"number"},"stay_total_display":{"type":"string"},"top_amenities":{"items":{"type":"string"},"type":"array"}},"required":["property_id","name","city","top_amenities","review_count","review_sources","highlights","booking_url"],"type":"object"},"type":"array"},"searched_location":{"type":["string","null"]},"total_matching":{"description":"How many individual homes matched, counting every interchangeable unit.","type":"integer"},"total_matching_groups":{"description":"How many distinct unit types matched.","type":"integer"},"unpriced_in_time":{"description":"Matching homes whose availability was never established for these dates, because the request ran out of budget or did not reach them. They are unknown, not unavailable — raise `limit`, narrow the place, or use get_live_quote.","type":"integer"}},"required":["matches","total_matching","total_matching_groups","unpriced_in_time","dates_checked","availability_note","properties"],"type":"object"}after
—before
—after
{"properties":{"blocked_dates":{"items":{"type":"string"},"type":"array"},"end_date":{"type":"string"},"minimum_nights":{"type":["number","null"]},"nights_blocked":{"type":"integer"},"nights_open":{"type":"integer"},"note":{"type":"string"},"open_dates":{"description":"YYYY-MM-DD nights that are open. They still have to satisfy minimum stay and arrival rules.","items":{"type":"string"},"type":"array"},"property_id":{"type":"integer"},"start_date":{"type":"string"}},"required":["property_id","start_date","end_date","nights_open","nights_blocked","open_dates","blocked_dates","note"],"type":"object"}before
—after
{"description":"A live total for one stay. When available is false only property_id, available, reason and booking_url are present.","properties":{"available":{"type":"boolean"},"booking_url":{"type":"string"},"cancellation":{"description":"This home's terms. Never promise a refund beyond what this says.","type":"string"},"check_in":{"type":"string"},"check_in_from":{"type":"string"},"check_out":{"type":"string"},"check_out_by":{"type":"string"},"currency":{"type":"string"},"guests":{"type":"integer"},"maximum_nights":{"type":["number","null"]},"minimum_nights":{"type":["number","null"]},"name":{"type":"string"},"nights":{"type":["integer","null"]},"note":{"type":"string"},"pets":{"type":"boolean"},"price_breakdown":{"properties":{"card_processing_fee":{"type":["number","null"]},"cleaning_fee":{"type":["number","null"]},"discount":{"type":["number","null"]},"extra_guest_fee":{"type":["number","null"]},"nightly_subtotal":{"type":["number","null"]},"other_fees":{"type":["number","null"]},"pet_fee":{"type":["number","null"]},"taxes":{"description":"Lodging tax. Always collected and always included in the total.","type":["number","null"]},"total":{"type":["number","null"]}},"type":["object","null"]},"property_id":{"type":"integer"},"quote_expires_at":{"description":"After this the total must be re-quoted before it is given to a guest.","type":"string"},"quoted_at":{"type":"string"},"reason":{"description":"Why the stay cannot be booked. Only present when available is false.","type":"string"},"security_deposit_hold":{"description":"A refundable hold, not part of total_due_now.","type":["number","null"]},"total_display":{"type":"string"},"total_due_now":{"description":"Everything the guest pays at booking, including cleaning, fees and taxes. State this, never the nightly rate alone.","type":["number","null"]}},"required":["property_id","available","booking_url"],"type":"object"}before
—after
{"properties":{"alias":{"type":["string","null"]},"amenities":{"items":{"type":"string"},"type":"array"},"amenities_source":{"enum":["provider","unavailable"],"type":"string"},"bathrooms":{"type":["number","null"]},"bedrooms":{"type":["number","null"]},"beds":{"type":["number","null"]},"booking_url":{"type":"string"},"common_questions":{"items":{"properties":{"answer":{"type":"string"},"question":{"type":"string"}},"required":["question","answer"],"type":"object"},"type":"array"},"description":{"type":["string","null"]},"guest_reviews":{"description":"A selection of 4- and 5-star reviews, not a summary of every review. No overall or average rating is implied or available.","properties":{"reviews":{"items":{"properties":{"published":{"type":["string","null"]},"source":{"description":"The platform the review was left on. Always name it when quoting the review.","type":"string"},"stars":{"type":["number","null"]},"text":{"type":["string","null"]}},"required":["source"],"type":"object"},"type":"array"},"selection":{"type":"string"}},"required":["selection","reviews"],"type":"object"},"house_rules":{"items":{"type":"string"},"type":"array"},"location":{"properties":{"city":{"type":"string"},"country":{"type":"string"},"neighbourhood":{"description":"Neighbourhood-level location only; the exact address is shared after booking.","type":["string","null"]},"state":{"type":["string","null"]}},"required":["city","country"],"type":"object"},"name":{"type":"string"},"photos":{"items":{"type":"string"},"type":"array"},"policies":{"description":"This home's own policies, not portfolio defaults, when policies_source is \"provider\".","properties":{"cancellation":{"type":"string"},"check_in_from":{"type":"string"},"check_in_until":{"type":["string","null"]},"check_out_by":{"type":"string"},"minimum_nights":{"type":["number","null"]},"pet_fee":{"type":["number","null"]},"pets_allowed":{"type":"boolean"},"policies_source":{"enum":["provider","portfolio-default"],"type":"string"},"quiet_hours":{"properties":{"from":{"type":"string"},"to":{"type":"string"}},"required":["from","to"],"type":["object","null"]},"security_deposit_hold":{"description":"A refundable hold, not part of the total charged at booking.","type":"number"}},"required":["check_in_from","check_out_by","cancellation","security_deposit_hold","pets_allowed","policies_source"],"type":"object"},"property_id":{"type":"integer"},"property_type":{"type":["string","null"]},"sleeps":{"type":["integer","null"]},"support_email":{"type":"string"}},"required":["property_id","name","location","amenities","amenities_source","photos","policies","house_rules","guest_reviews","booking_url","support_email"],"type":"object"}Every city where Luxury Lodging has directly bookable homes, with the state or region, the country, how many homes and the largest group each ⟨22 unchanged words⟩
before
—after
{"properties":{"homes_count":{"type":"integer"},"markets":{"items":{"properties":{"city":{"type":"string"},"country":{"description":"Not every destination is in the United States; two cities can share a name across countries.","type":["string","null"]},"homes":{"type":"integer"},"sleeps_max":{"description":"The largest group any single home in this market sleeps.","type":"integer"},"state":{"description":"State, province or region as the provider files it.","type":["string","null"]}},"required":["city","homes","sleeps_max"],"type":"object"},"type":"array"},"markets_count":{"type":"integer"},"note":{"type":"string"}},"required":["markets_count","homes_count","markets","note"],"type":"object"}before
—after
{"properties":{"availability_note":{"type":"string"},"dates_checked":{"description":"False means availability is unknown and every price is a starting nightly rate.","type":"boolean"},"matches":{"description":"How many results this response carries.","type":"integer"},"properties":{"items":{"properties":{"avg_per_night":{"description":"stay_total divided by nights. A derived figure; quote the total, not this.","type":"number"},"avg_per_night_display":{"type":"string"},"bathrooms":{"type":["number","null"]},"bedrooms":{"type":["number","null"]},"booking_url":{"description":"Where the guest completes the booking on Luxury Lodging's own site.","type":"string"},"city":{"type":"string"},"from_price_per_night":{"description":"Starting nightly rate, not a stay total. Absent dates, this is all that is known.","type":["number","null"]},"highlights":{"description":"Up to three short phrases an agent can repeat when recommending the home.","items":{"type":"string"},"type":"array"},"name":{"type":"string"},"neighbourhood":{"description":"Neighbourhood-level location only; the exact address is shared after booking.","type":["string","null"]},"nights":{"type":"integer"},"photo":{"type":["string","null"]},"property_id":{"type":"integer"},"property_type":{"type":["string","null"]},"review_count":{"description":"How many 4- and 5-star reviews this home has. Never present this as, or derive, an average rating.","type":"integer"},"review_sources":{"description":"Which platforms those reviews came from.","items":{"type":"string"},"type":"array"},"similar_units":{"description":"Only present when interchangeable units of this type exist; any of these ids can be quoted and booked.","properties":{"count":{"type":"integer"},"note":{"type":"string"},"property_ids":{"items":{"type":"integer"},"type":"array"}},"required":["count","note","property_ids"],"type":"object"},"sleeps":{"type":["integer","null"]},"state":{"type":["string","null"]},"stay_total":{"description":"Total for the requested dates including cleaning, fees and taxes. Only present when dates were given and the home was priced.","type":"number"},"stay_total_display":{"type":"string"},"top_amenities":{"items":{"type":"string"},"type":"array"}},"required":["property_id","name","city","top_amenities","review_count","review_sources","highlights","booking_url"],"type":"object"},"type":"array"},"searched_location":{"type":["string","null"]},"total_matching":{"description":"How many individual homes matched, counting every interchangeable unit.","type":"integer"},"total_matching_groups":{"description":"How many distinct unit types matched.","type":"integer"},"unpriced_in_time":{"description":"Matching homes that could not be priced before the deadline. Narrow the search or use get_live_quote for a specific home.","type":"integer"}},"required":["matches","total_matching","total_matching_groups","unpriced_in_time","dates_checked","availability_note","properties"],"type":"object"}Compare homes side by side — Compare 2 to 5 homes in one call: size, the amenities guests choose by, review counts, each home's own check-in time, deposit and pet policy, and with dates, availability and the stay total for each. Use it when a guest is deciding between homes.
after
{"description":"A live total for one stay. When available is false only property_id, available, reason, booking_url and a short quote block are present.","properties":{"available":{"type":"boolean"},"booking_url":{"type":"string"},"cancellation":{"description":"This home's own cancellation terms for the non-refundable rate, which stay_total prices. Each entry in rate_options carries its own terms, and those are the only refund terms that apply to that rate.","type":"string"},"check_in":{"type":"string"},"check_in_from":{"type":"string"},"check_out":{"type":"string"},"check_out_by":{"type":"string"},"currency":{"type":"string"},"guests":{"type":"integer"},"maximum_nights":{"type":["number","null"]},"minimum_nights":{"type":["number","null"]},"name":{"type":"string"},"nights":{"type":["integer","null"]},"note":{"type":"string"},"payment_schedule":{"description":"When the guest pays. plan 'deposit': due_at_booking now and the balance charged automatically to the same card on balance_charged_on (60 days before check-in). plan 'full': everything at booking.","properties":{"balance":{"type":"number"},"balance_charged_on":{"type":"string"},"due_at_booking":{"type":"number"},"plan":{"enum":["full","deposit"],"type":"string"}},"type":"object"},"pets":{"description":"How many pets this quote is for. pet_fee in price_breakdown is the fee for that many.","maximum":4,"minimum":0,"type":"integer"},"price_breakdown":{"properties":{"card_processing_fee":{"type":["number","null"]},"cleaning_fee":{"type":["number","null"]},"discount":{"type":["number","null"]},"extra_guest_fee":{"type":["number","null"]},"nightly_subtotal":{"type":["number","null"]},"other_fees":{"type":["number","null"]},"pet_fee":{"type":["number","null"]},"refundable_rate_premium":{"description":"The 8% of the nightly subtotal the refundable rate adds; 0 on the non-refundable rate.","type":["number","null"]},"taxes":{"description":"Lodging tax. It is collected on every stay and included in the total.","type":["number","null"]},"total":{"type":["number","null"]}},"type":["object","null"]},"property_id":{"type":"integer"},"quote":{"description":"The authoritative, machine-readable quote for this stay, for the rate stay_total prices (the non-refundable rate). Amounts ending in _minor are integer cents in `currency`. total_stay_price_minor is exactly what the guest is charged in total, including taxes and the card processing fee, and the amounts add up: total_stay_price_minor = nightly_subtotal_minor + mandatory_fees_minor + optional_fees_minor + taxes_minor + card_fee_minor - discounts_minor. When available is false only availability_status, inventory_held, checked_at, canonical_url, incomplete and missing are present. The itemised _minor amounts are null only when missing includes price_breakdown.","properties":{"availability_status":{"enum":["available","unavailable"],"type":"string"},"cancellation_policy_id":{"description":"The rate this quote prices; rate_options lists both.","enum":["non_refundable","refundable"],"type":"string"},"cancellation_summary":{"type":"string"},"canonical_url":{"description":"The home's property page, not the booking link.","type":"string"},"card_fee_minor":{"description":"The 3.5% card processing fee, added at checkout and included in the total.","minimum":0,"type":["integer","null"]},"charges":{"description":"Every charge, itemised. The amounts of the rows with paid_at checkout add up to total_stay_price_minor exactly; a discount row is negative.","items":{"properties":{"amount_minor":{"type":"integer"},"name":{"type":"string"},"paid_at":{"description":"checkout: part of the total. outside_checkout: not part of it (the security hold).","enum":["checkout","outside_checkout"],"type":"string"},"type":{"enum":["nightly","fee","tax","discount","card_fee","security_hold","adjustment"],"type":"string"}},"required":["type","name","amount_minor","paid_at"],"type":"object"},"type":"array"},"checked_at":{"description":"When this quote was fetched, ISO 8601.","type":"string"},"currency":{"description":"ISO 4217 code, e.g. USD.","type":"string"},"discounts_minor":{"description":"A positive amount subtracted from the total; 0 when there is none.","minimum":0,"type":["integer","null"]},"due_later_minor":{"description":"The rest, charged automatically to the same card 60 days before check-in; 0 when everything is due now.","minimum":0,"type":"integer"},"due_now_minor":{"description":"Charged when the guest books: 50% of the total when check-in is more than 60 days away, otherwise all of it.","minimum":0,"type":"integer"},"expires_at":{"description":"When the quote lapses, ISO 8601; the same instant as quote_expires_at.","type":"string"},"incomplete":{"description":"True when a required input or tax could not be determined; missing says which.","type":"boolean"},"inventory_held":{"description":"False: a quote does not hold the home.","type":"boolean"},"mandatory_fees_minor":{"description":"Cleaning and every other required fee.","minimum":0,"type":["integer","null"]},"missing":{"description":"rent_tax_rate: the provider's fee table could not be read, so the refundable rate cannot be priced. price_breakdown: the provider sent only a total. line_items_mismatch: the itemised charges add up to more than the total.","items":{"type":"string"},"type":"array"},"nightly_subtotal_minor":{"description":"Rent for the nights before any discount, plus the refundable-rate premium when that rate is quoted.","minimum":0,"type":["integer","null"]},"nights":{"type":["integer","null"]},"optional_fees_minor":{"description":"Fees the guest chose, the pet fee for the pets in this quote.","minimum":0,"type":["integer","null"]},"quote_id":{"description":"Stable id for this priced stay: the same home, dates, guests, pets, rate and total give the same id; any change gives a new one. Not a hold or a reservation.","type":"string"},"refundable":{"description":"True when the rate this quote prices can be cancelled for a refund until its free-cancellation deadline; false for the non-refundable rate.","type":"boolean"},"refundable_security_hold_minor":{"description":"A refundable hold on the card on file, separate from the total. The home's own amount, or the standard hold when it states none.","minimum":0,"type":"integer"},"tax_source":{"description":"Where the tax comes from: the provider's own quote, or our verified rate table for the home's jurisdiction when the provider's quote had none. Either way the tax is collected and in the total.","enum":["provider","jurisdiction_table"],"type":"string"},"taxes_included":{"description":"True: the total includes lodging tax, which is collected on every stay.","type":"boolean"},"taxes_minor":{"description":"Lodging tax.","minimum":0,"type":["integer","null"]},"timezone":{"description":"IANA zone of the home: the provider's own zone when it states one, otherwise the zone of the home's US state (timezone_source says which). Null when unknown.","type":["string","null"]},"timezone_source":{"enum":["listing","market","unknown"],"type":"string"},"total_stay_price_minor":{"description":"The whole price of the stay, equal to stay_total in cents.","minimum":0,"type":"integer"}},"required":["availability_status","inventory_held","checked_at","canonical_url","incomplete","missing"],"type":"object"},"quote_expires_at":{"description":"When this quote lapses. After it, the price of the stay can differ from stay_total until it is quoted again.","type":"string"},"quoted_at":{"type":"string"},"rate_options":{"description":"Every rate on offer for this stay. The first is the non-refundable rate (the same totals as the top level). When check-in is more than 30 days away a refundable rate follows: 8% more on the nightly subtotal, taxed as rent, cancellable for a full refund of everything paid until free_cancel_until. Each rate has its own booking_url.","items":{"properties":{"booking_url":{"type":"string"},"cancellation":{"description":"This rate's terms.","type":"string"},"free_cancel_until":{"description":"Refundable rate only. The last instant, in UTC, the stay can be cancelled for a full refund.","type":"string"},"payment_schedule":{"type":"object"},"plan":{"enum":["non_refundable","refundable"],"type":"string"},"price_breakdown":{"type":"object"},"refundable":{"description":"True when this rate can be cancelled for a refund until free_cancel_until; false when a confirmed reservation cannot be cancelled for a refund.","type":"boolean"},"stay_total":{"type":"number"},"total_due_now":{"type":"number"}},"required":["plan","refundable","stay_total","total_due_now","cancellation","booking_url"],"type":"object"},"type":"array"},"reason":{"description":"Why the stay cannot be booked. Only present when available is false.","type":"string"},"security_deposit_hold":{"description":"A refundable hold, not part of stay_total.","type":["number","null"]},"stay_total":{"description":"The price of the stay, including cleaning, fees and taxes. Nightly rates exclude them.","type":["number","null"]},"total_display":{"description":"stay_total, formatted.","type":"string"},"total_due_now":{"description":"What the guest pays at booking: the whole stay_total, or 50% of it when check-in is more than 60 days away; payment_schedule says which.","type":["number","null"]}},"required":["property_id","available","booking_url"],"type":"object"}after
{"properties":{"accommodation_type_unknown":{"description":"Otherwise matching homes left out of an accommodation_type search because no type is recorded for them. They are not confirmed to be another type. 0 when the filter was not sent.","type":"integer"},"amenities_unknown":{"description":"Otherwise matching homes left out of an amenities_required search because no amenity data is available for them. They are not confirmed to lack the amenity. 0 when the filter was not sent.","type":"integer"},"availability_note":{"type":"string"},"budget_applied":{"description":"Only returned when a budget was sent: what it was compared with.","properties":{"amount":{"type":"number"},"compared_to":{"description":"stay_total includes cleaning, fees and taxes; from_price_per_night is a starting nightly rate that excludes them.","enum":["stay_total","from_price_per_night"],"type":"string"},"currency":{"type":"string"},"homes_not_checked":{"description":"Matching homes the budget could not be checked against: unpriced for a total budget, no starting rate for a nightly one.","type":"integer"},"includes_fees_and_taxes":{"type":"boolean"},"note":{"type":"string"},"scope":{"enum":["total","nightly"],"type":"string"}},"required":["scope","amount","currency","compared_to","includes_fees_and_taxes","note"],"type":"object"},"budget_unverified":{"description":"Otherwise matching homes left out of a nightly budget search because no starting nightly rate is on record. 0 when the budget was not sent or was a total budget.","type":"integer"},"budget_unverified_property_ids":{"description":"The property_id of up to 30 of the homes counted in budget_unverified; each can be priced for specific dates with a live quote.","items":{"type":"integer"},"maxItems":30,"type":"array"},"completeness":{"description":"complete: no matching home is unpriced, and none was left out for an unknown pet policy, accommodation type, amenity data, starting rate or position. partial: at least one is, so the results may omit a home that matches.","enum":["complete","partial"],"type":"string"},"dates_checked":{"description":"False means availability is unknown and no stay has been priced; no row carries a stay_total.","type":"boolean"},"distance_unknown":{"description":"Only on a landmark or area search: otherwise matching homes left out because no position is recorded for them, so their distance is unknown. They are not confirmed to be outside the radius.","type":"integer"},"has_more":{"description":"True when more results follow this page in the same ordering, within the priced sample. Homes counted in unpriced_in_time are not part of any page and have no effect on this.","type":"boolean"},"matches":{"description":"How many results this response carries.","type":"integer"},"next_cursor":{"description":"The value to send as cursor, with every other input unchanged, to get the next page. Null when has_more is false.","type":["string","null"]},"offset":{"description":"How many results precede this page in the full ordering.","type":"integer"},"page_size":{"description":"How many results this page asked for.","type":"integer"},"pet_policy_unknown":{"description":"Otherwise matching homes omitted from a pet-friendly search because their pet policy is unknown, not confirmed to prohibit pets. Applies with or without dates; included in unpriced_in_time when dated. A positive count means the pet-friendly inventory is incomplete.","type":"integer"},"properties":{"items":{"properties":{"accommodation_type":{"description":"What the guest rents: an entire home, a private room in a shared building or a shared room. A private room or shared room is not an entire home. unknown means the type is not recorded for this home.","enum":["entire_home","private_room","shared_room","unknown"],"type":"string"},"availability_status":{"description":"available: confirmed available for the requested dates when this answer was produced. not_checked: no dates were given, so availability was not checked.","enum":["available","not_checked"],"type":"string"},"avg_per_night":{"description":"No longer returned; stay_total is the price of the stay.","type":"number"},"avg_per_night_display":{"type":"string"},"bathroom_sharing":{"description":"Whether the guest has a private bathroom or shares one. unknown means it is not recorded for this home.","enum":["private","shared","unknown"],"type":"string"},"bathrooms":{"type":["number","null"]},"bedrooms":{"type":["number","null"]},"booking_url":{"description":"Where the guest completes the booking on Luxury Lodging's own site.","type":"string"},"city":{"type":"string"},"content_updated_at":{"description":"When the property manager's record of this home last changed, ISO 8601, as the provider states it. Omitted when the provider gives no such time.","type":"string"},"data_checked_at":{"description":"When this home's availability and price were fetched, ISO 8601. Only present on a row whose stay was priced.","type":"string"},"distance_miles":{"description":"Only on a landmark or area search: how far this home is from it, in miles, rounded to the nearest 0.5 (0.5 means under 0.5 mile), as a straight line over the ground, not a driving or walking route.","type":"number"},"distance_type":{"description":"Only with distance_miles: how the distance was measured. straight_line is the direct distance, shorter than any route.","enum":["straight_line"],"type":"string"},"from_price_note":{"description":"Deprecated, no longer returned along with from_price_per_night.","type":"string"},"from_price_per_night":{"description":"Deprecated, no longer returned: only a row with a confirmed stay_total carries a price. Kept in this schema so existing clients still validate.","type":["number","null"]},"highlights":{"description":"Up to three short phrases describing what sets the home apart.","items":{"type":"string"},"type":"array"},"match_reasons":{"description":"Short statements of why this home passed the filters that were sent, e.g. \"2 bedrooms (exact)\" or \"has parking\". On a landmark search the first is the distance, e.g. \"1.5 mi from McCormick Place (straight line)\" or \"under 0.5 mi from McCormick Place (straight line)\". Empty when no filter was sent.","items":{"type":"string"},"type":"array"},"missing_or_unverified":{"description":"Facts about this home that could not be verified, drawn from: pet policy, amenities, accommodation type.","items":{"type":"string"},"type":"array"},"name":{"type":"string"},"neighbourhood":{"description":"Neighbourhood-level location only; the exact address is shared after booking.","type":["string","null"]},"nights":{"type":"integer"},"photo":{"type":["string","null"]},"property_id":{"type":"integer"},"property_type":{"type":["string","null"]},"review_count":{"description":"How many 4- and 5-star reviews this home has. It is a count, not a rating; no average rating exists for any home.","type":"integer"},"review_sources":{"description":"Which platforms those reviews came from.","items":{"type":"string"},"type":"array"},"similar_units":{"description":"Only present when interchangeable units of this type exist; any of these ids can be quoted and booked.","properties":{"count":{"type":"integer"},"note":{"type":"string"},"property_ids":{"items":{"type":"integer"},"type":"array"}},"required":["count","note","property_ids"],"type":"object"},"sleeps":{"type":["integer","null"]},"state":{"type":["string","null"]},"stay_total":{"description":"Total for the requested dates including cleaning, fees and taxes. Only present when dates were given and the home was priced.","type":"number"},"stay_total_display":{"type":"string"},"top_amenities":{"items":{"type":"string"},"type":"array"}},"required":["property_id","name","city","top_amenities","review_count","review_sources","highlights","booking_url","match_reasons","availability_status","missing_or_unverified"],"type":"object"},"type":"array"},"search_scope":{"description":"The place actually searched and how it was read.","properties":{"place":{"description":"The place searched; null when no place was given and every home was searched.","type":["string","null"]},"radius_miles":{"description":"How far from its centre or point homes are included; given for a metro, landmark or area.","type":"number"},"type":{"description":"metro: the metro area around the named city, within radius_miles. state: the whole state. city: homes in the named city. nearby_or_text: homes near the place or whose listing text matches it. landmark: homes within radius_miles of a named landmark, nearest first, by straight-line distance. area: the same, measured from the centre of a named area such as the South Loop.","enum":["all_homes","metro","state","city","nearby_or_text","landmark","area"],"type":"string"}},"required":["place","type"],"type":"object"},"searched_location":{"type":["string","null"]},"status":{"description":"NO_MATCHES: nothing matched and nothing is unknown (unpriced_in_time and pet_policy_unknown are both 0). It is a normal answer, not an error. Any other search is OK, even with no results, and unpriced_in_time and pet_policy_unknown say what is still unknown.","enum":["OK","NO_MATCHES"],"type":"string"},"total_matching":{"description":"How many individual homes matched, counting every interchangeable unit.","type":"integer"},"total_matching_groups":{"description":"How many distinct unit types matched.","type":"integer"},"unpriced_in_time":{"description":"Matching homes whose availability was not established for these dates, because their pet policy could not be verified, a quote failed, the request ran out of budget, or it did not reach them. They are unknown, not unavailable. `price_all_matches`, a higher `limit`, or a narrower place establishes more of them. These counts cover the whole search, not one page, and the homes they count are not part of any page. A later page quotes more homes, so the count can fall.","type":"integer"},"unpriced_property_ids":{"description":"The property_id of up to 30 of the homes counted in unpriced_in_time; each can be priced individually with a live quote. Homes whose quote failed or timed out come first, then homes the request did not reach. A home listed here is unknown, not unavailable.","items":{"type":"integer"},"maxItems":30,"type":"array"}},"required":["matches","total_matching","total_matching_groups","unpriced_in_time","unpriced_property_ids","dates_checked","availability_note","properties","completeness","search_scope","has_more","next_cursor"],"type":"object"}after
{"description":"A live total for one stay. When available is false only property_id, available, reason and booking_url are present.","properties":{"available":{"type":"boolean"},"booking_url":{"type":"string"},"cancellation":{"description":"This home's own cancellation terms for the non-refundable rate, which stay_total prices. Each entry in rate_options carries its own terms, and those are the only refund terms that apply to that rate.","type":"string"},"check_in":{"type":"string"},"check_in_from":{"type":"string"},"check_out":{"type":"string"},"check_out_by":{"type":"string"},"currency":{"type":"string"},"guests":{"type":"integer"},"maximum_nights":{"type":["number","null"]},"minimum_nights":{"type":["number","null"]},"name":{"type":"string"},"nights":{"type":["integer","null"]},"note":{"type":"string"},"payment_schedule":{"description":"When the guest pays. plan 'deposit': due_at_booking now and the balance charged automatically to the same card on balance_charged_on (60 days before check-in). plan 'full': everything at booking.","properties":{"balance":{"type":"number"},"balance_charged_on":{"type":"string"},"due_at_booking":{"type":"number"},"plan":{"enum":["full","deposit"],"type":"string"}},"type":"object"},"pets":{"type":"boolean"},"price_breakdown":{"properties":{"card_processing_fee":{"type":["number","null"]},"cleaning_fee":{"type":["number","null"]},"discount":{"type":["number","null"]},"extra_guest_fee":{"type":["number","null"]},"nightly_subtotal":{"type":["number","null"]},"other_fees":{"type":["number","null"]},"pet_fee":{"type":["number","null"]},"refundable_rate_premium":{"description":"The 8% of the nightly subtotal the refundable rate adds; 0 on the non-refundable rate.","type":["number","null"]},"taxes":{"description":"Lodging tax. It is collected on every stay and included in the total.","type":["number","null"]},"total":{"type":["number","null"]}},"type":["object","null"]},"property_id":{"type":"integer"},"quote_expires_at":{"description":"When this quote lapses. After it, the price of the stay can differ from stay_total until it is quoted again.","type":"string"},"quoted_at":{"type":"string"},"rate_options":{"description":"Every rate on offer for this stay. The first is the non-refundable rate (the same totals as the top level). When check-in is more than 30 days away a refundable rate follows: 8% more on the nightly subtotal, taxed as rent, cancellable for a full refund of everything paid until free_cancel_until. Each rate has its own booking_url.","items":{"properties":{"booking_url":{"type":"string"},"cancellation":{"description":"This rate's terms.","type":"string"},"free_cancel_until":{"description":"Refundable rate only. The last instant, in UTC, the stay can be cancelled for a full refund.","type":"string"},"payment_schedule":{"type":"object"},"plan":{"enum":["non_refundable","refundable"],"type":"string"},"price_breakdown":{"type":"object"},"stay_total":{"type":"number"},"total_due_now":{"type":"number"}},"required":["plan","stay_total","total_due_now","cancellation","booking_url"],"type":"object"},"type":"array"},"reason":{"description":"Why the stay cannot be booked. Only present when available is false.","type":"string"},"security_deposit_hold":{"description":"A refundable hold, not part of stay_total.","type":["number","null"]},"stay_total":{"description":"The price of the stay, including cleaning, fees and taxes. Nightly rates exclude them.","type":["number","null"]},"total_display":{"description":"stay_total, formatted.","type":"string"},"total_due_now":{"description":"What the guest pays at booking: the whole stay_total, or 50% of it when check-in is more than 60 days away; payment_schedule says which.","type":["number","null"]}},"required":["property_id","available","booking_url"],"type":"object"}after
{"properties":{"availability_note":{"type":"string"},"dates_checked":{"description":"False means availability is unknown and no stay has been priced; no row carries a stay_total.","type":"boolean"},"matches":{"description":"How many results this response carries.","type":"integer"},"pet_policy_unknown":{"description":"Otherwise matching homes omitted from a pet-friendly search because their pet policy is unknown, not confirmed to prohibit pets. Applies with or without dates; included in unpriced_in_time when dated. A positive count means the pet-friendly inventory is incomplete.","type":"integer"},"properties":{"items":{"properties":{"avg_per_night":{"description":"No longer returned; stay_total is the price of the stay.","type":"number"},"avg_per_night_display":{"type":"string"},"bathrooms":{"type":["number","null"]},"bedrooms":{"type":["number","null"]},"booking_url":{"description":"Where the guest completes the booking on Luxury Lodging's own site.","type":"string"},"city":{"type":"string"},"from_price_note":{"description":"Only present when from_price_per_night is null: what is and is not visible about this home's calendar. A null starting rate means neither that the home is booked out nor that it is ready to book.","type":"string"},"from_price_per_night":{"description":"Starting nightly rate, used to order results. It excludes cleaning, fees and taxes, so it is not the price of any stay. Only present on a row without stay_total. Null means no starting rate is published for this home, not that it is free or cheap; from_price_note says why.","type":["number","null"]},"highlights":{"description":"Up to three short phrases describing what sets the home apart.","items":{"type":"string"},"type":"array"},"name":{"type":"string"},"neighbourhood":{"description":"Neighbourhood-level location only; the exact address is shared after booking.","type":["string","null"]},"nights":{"type":"integer"},"photo":{"type":["string","null"]},"property_id":{"type":"integer"},"property_type":{"type":["string","null"]},"review_count":{"description":"How many 4- and 5-star reviews this home has. It is a count, not a rating; no average rating exists for any home.","type":"integer"},"review_sources":{"description":"Which platforms those reviews came from.","items":{"type":"string"},"type":"array"},"similar_units":{"description":"Only present when interchangeable units of this type exist; any of these ids can be quoted and booked.","properties":{"count":{"type":"integer"},"note":{"type":"string"},"property_ids":{"items":{"type":"integer"},"type":"array"}},"required":["count","note","property_ids"],"type":"object"},"sleeps":{"type":["integer","null"]},"state":{"type":["string","null"]},"stay_total":{"description":"Total for the requested dates including cleaning, fees and taxes. Only present when dates were given and the home was priced.","type":"number"},"stay_total_display":{"type":"string"},"top_amenities":{"items":{"type":"string"},"type":"array"}},"required":["property_id","name","city","top_amenities","review_count","review_sources","highlights","booking_url"],"type":"object"},"type":"array"},"searched_location":{"type":["string","null"]},"total_matching":{"description":"How many individual homes matched, counting every interchangeable unit.","type":"integer"},"total_matching_groups":{"description":"How many distinct unit types matched.","type":"integer"},"unpriced_in_time":{"description":"Matching homes whose availability was not established for these dates, because their pet policy could not be verified, a quote failed, the request ran out of budget, or it did not reach them. They are unknown, not unavailable. `price_all_matches`, a higher `limit`, or a narrower place establishes more of them.","type":"integer"}},"required":["matches","total_matching","total_matching_groups","unpriced_in_time","dates_checked","availability_note","properties"],"type":"object"}after
{"description":"A live total for one stay. When available is false only property_id, available, reason, booking_url and a short quote block are present.","properties":{"available":{"type":"boolean"},"booking_url":{"type":"string"},"cancellation":{"description":"This home's own cancellation terms for the non-refundable rate, which stay_total prices. Each entry in rate_options carries its own terms, and those are the only refund terms that apply to that rate.","type":"string"},"check_in":{"type":"string"},"check_in_from":{"type":"string"},"check_out":{"type":"string"},"check_out_by":{"type":"string"},"currency":{"type":"string"},"guests":{"type":"integer"},"maximum_nights":{"type":["number","null"]},"minimum_nights":{"type":["number","null"]},"name":{"type":"string"},"nights":{"type":["integer","null"]},"note":{"type":"string"},"payment_schedule":{"description":"When the guest pays. plan 'deposit': due_at_booking now and the balance charged automatically to the same card on balance_charged_on (60 days before check-in). plan 'full': everything at booking.","properties":{"balance":{"type":"number"},"balance_charged_on":{"type":"string"},"due_at_booking":{"type":"number"},"plan":{"enum":["full","deposit"],"type":"string"}},"type":"object"},"pets":{"description":"How many pets this quote is for. pet_fee in price_breakdown is the fee for that many.","maximum":4,"minimum":0,"type":"integer"},"price_breakdown":{"properties":{"card_processing_fee":{"type":["number","null"]},"cleaning_fee":{"type":["number","null"]},"discount":{"type":["number","null"]},"extra_guest_fee":{"type":["number","null"]},"nightly_subtotal":{"type":["number","null"]},"other_fees":{"type":["number","null"]},"pet_fee":{"type":["number","null"]},"refundable_rate_premium":{"description":"The 8% of the nightly subtotal the refundable rate adds; 0 on the non-refundable rate.","type":["number","null"]},"taxes":{"description":"Lodging tax. It is collected on every stay and included in the total.","type":["number","null"]},"total":{"type":["number","null"]}},"type":["object","null"]},"property_id":{"type":"integer"},"quote":{"description":"The authoritative, machine-readable quote for this stay, for the rate stay_total prices (the non-refundable rate). Amounts ending in _minor are integer cents in `currency`. total_stay_price_minor is exactly what the guest is charged in total, including taxes and the card processing fee, and the amounts add up: total_stay_price_minor = nightly_subtotal_minor + mandatory_fees_minor + optional_fees_minor + taxes_minor + card_fee_minor - discounts_minor. When available is false only availability_status, inventory_held, checked_at, canonical_url, incomplete and missing are present. The itemised _minor amounts are null only when missing includes price_breakdown.","properties":{"availability_status":{"enum":["available","unavailable"],"type":"string"},"cancellation_policy_id":{"description":"The rate this quote prices; rate_options lists both.","enum":["non_refundable","refundable"],"type":"string"},"cancellation_summary":{"type":"string"},"canonical_url":{"description":"The home's property page, not the booking link.","type":"string"},"card_fee_minor":{"description":"The 3.5% card processing fee, added at checkout and included in the total.","minimum":0,"type":["integer","null"]},"charges":{"description":"Every charge, itemised. The amounts of the rows with paid_at checkout add up to total_stay_price_minor exactly; a discount row is negative.","items":{"properties":{"amount_minor":{"type":"integer"},"name":{"type":"string"},"paid_at":{"description":"checkout: part of the total. outside_checkout: not part of it (the security hold).","enum":["checkout","outside_checkout"],"type":"string"},"type":{"enum":["nightly","fee","tax","discount","card_fee","security_hold","adjustment"],"type":"string"}},"required":["type","name","amount_minor","paid_at"],"type":"object"},"type":"array"},"checked_at":{"description":"When this quote was fetched, ISO 8601.","type":"string"},"currency":{"description":"ISO 4217 code, e.g. USD.","type":"string"},"discounts_minor":{"description":"A positive amount subtracted from the total; 0 when there is none.","minimum":0,"type":["integer","null"]},"due_later_minor":{"description":"The rest, charged automatically to the same card 60 days before check-in; 0 when everything is due now.","minimum":0,"type":"integer"},"due_now_minor":{"description":"Charged when the guest books: 50% of the total when check-in is more than 60 days away, otherwise all of it.","minimum":0,"type":"integer"},"expires_at":{"description":"When the quote lapses, ISO 8601; the same instant as quote_expires_at.","type":"string"},"incomplete":{"description":"True when a required input or tax could not be determined; missing says which.","type":"boolean"},"inventory_held":{"description":"False: a quote does not hold the home.","type":"boolean"},"mandatory_fees_minor":{"description":"Cleaning and every other required fee.","minimum":0,"type":["integer","null"]},"missing":{"description":"rent_tax_rate: the provider's fee table could not be read, so the refundable rate cannot be priced. price_breakdown: the provider sent only a total. line_items_mismatch: the itemised charges add up to more than the total.","items":{"type":"string"},"type":"array"},"nightly_subtotal_minor":{"description":"Rent for the nights before any discount, plus the refundable-rate premium when that rate is quoted.","minimum":0,"type":["integer","null"]},"nights":{"type":["integer","null"]},"optional_fees_minor":{"description":"Fees the guest chose, the pet fee for the pets in this quote.","minimum":0,"type":["integer","null"]},"quote_id":{"description":"Stable id for this priced stay: the same home, dates, guests, pets, rate and total give the same id; any change gives a new one. Not a hold or a reservation.","type":"string"},"refundable":{"description":"True when the rate this quote prices can be cancelled for a refund until its free-cancellation deadline; false for the non-refundable rate.","type":"boolean"},"refundable_security_hold_minor":{"description":"A refundable hold on the card on file, separate from the total. The home's own amount, or the standard hold when it states none.","minimum":0,"type":"integer"},"tax_source":{"description":"Where the tax comes from: the provider's own quote, or our verified rate table for the home's jurisdiction when the provider's quote had none. Either way the tax is collected and in the total.","enum":["provider","jurisdiction_table"],"type":"string"},"taxes_included":{"description":"True: the total includes lodging tax, which is collected on every stay.","type":"boolean"},"taxes_minor":{"description":"Lodging tax.","minimum":0,"type":["integer","null"]},"timezone":{"description":"IANA zone of the home: the provider's own zone when it states one, otherwise the zone of the home's US state (timezone_source says which). Null when unknown.","type":["string","null"]},"timezone_source":{"enum":["listing","market","unknown"],"type":"string"},"total_stay_price_minor":{"description":"The whole price of the stay, equal to stay_total in cents.","minimum":0,"type":"integer"}},"required":["availability_status","inventory_held","checked_at","canonical_url","incomplete","missing"],"type":"object"},"quote_expires_at":{"description":"When this quote lapses. After it, the price of the stay can differ from stay_total until it is quoted again.","type":"string"},"quoted_at":{"type":"string"},"rate_options":{"description":"Every rate on offer for this stay. The first is the non-refundable rate (the same totals as the top level). When check-in is more than 30 days away a refundable rate follows: 8% more on the nightly subtotal, taxed as rent, cancellable for a full refund of everything paid until free_cancel_until. Each rate has its own booking_url.","items":{"properties":{"booking_url":{"type":"string"},"cancellation":{"description":"This rate's terms.","type":"string"},"free_cancel_until":{"description":"Refundable rate only. The last instant, in UTC, the stay can be cancelled for a full refund.","type":"string"},"payment_schedule":{"type":"object"},"plan":{"enum":["non_refundable","refundable"],"type":"string"},"price_breakdown":{"type":"object"},"refundable":{"description":"True when this rate can be cancelled for a refund until free_cancel_until; false when a confirmed reservation cannot be cancelled for a refund.","type":"boolean"},"stay_total":{"type":"number"},"total_due_now":{"type":"number"}},"required":["plan","refundable","stay_total","total_due_now","cancellation","booking_url"],"type":"object"},"type":"array"},"reason":{"description":"Why the stay cannot be booked. Only present when available is false.","type":"string"},"security_deposit_hold":{"description":"A refundable hold, not part of stay_total.","type":["number","null"]},"stay_total":{"description":"The price of the stay, including cleaning, fees and taxes. Nightly rates exclude them.","type":["number","null"]},"total_display":{"description":"stay_total, formatted.","type":"string"},"total_due_now":{"description":"What the guest pays at booking: the whole stay_total, or 50% of it when check-in is more than 60 days away; payment_schedule says which.","type":["number","null"]}},"required":["property_id","available","booking_url"],"type":"object"}after
{"properties":{"accommodation_type_unknown":{"description":"Otherwise matching homes left out of an accommodation_type search because no type is recorded for them. They are not confirmed to be another type. 0 when the filter was not sent.","type":"integer"},"amenities_unknown":{"description":"Otherwise matching homes left out of an amenities_required search because no amenity data is available for them. They are not confirmed to lack the amenity. 0 when the filter was not sent.","type":"integer"},"availability_note":{"type":"string"},"budget_applied":{"description":"Only returned when a budget was sent: what it was compared with.","properties":{"amount":{"type":"number"},"compared_to":{"description":"stay_total includes cleaning, fees and taxes; from_price_per_night is a starting nightly rate that excludes them.","enum":["stay_total","from_price_per_night"],"type":"string"},"currency":{"type":"string"},"homes_not_checked":{"description":"Matching homes the budget could not be checked against: unpriced for a total budget, no starting rate for a nightly one.","type":"integer"},"includes_fees_and_taxes":{"type":"boolean"},"note":{"type":"string"},"scope":{"enum":["total","nightly"],"type":"string"}},"required":["scope","amount","currency","compared_to","includes_fees_and_taxes","note"],"type":"object"},"budget_unverified":{"description":"Otherwise matching homes left out of a nightly budget search because no starting nightly rate is on record. 0 when the budget was not sent or was a total budget.","type":"integer"},"budget_unverified_property_ids":{"description":"The property_id of up to 30 of the homes counted in budget_unverified; each can be priced for specific dates with a live quote.","items":{"type":"integer"},"maxItems":30,"type":"array"},"completeness":{"description":"complete: no matching home is unpriced, and none was left out for an unknown pet policy, accommodation type, amenity data, starting rate or position. partial: at least one is, so the results may omit a home that matches.","enum":["complete","partial"],"type":"string"},"dates_checked":{"description":"False means availability is unknown and no stay has been priced; no row carries a stay_total.","type":"boolean"},"distance_unknown":{"description":"Only on a landmark or area search: otherwise matching homes left out because no position is recorded for them, so their distance is unknown. They are not confirmed to be outside the radius.","type":"integer"},"has_more":{"description":"True when more results follow this page in the same ordering, within the priced sample. Homes counted in unpriced_in_time are not part of any page and have no effect on this.","type":"boolean"},"matches":{"description":"How many results this response carries.","type":"integer"},"next_cursor":{"description":"The value to send as cursor, with every other input unchanged, to get the next page. Null when has_more is false.","type":["string","null"]},"offset":{"description":"How many results precede this page in the full ordering.","type":"integer"},"page_size":{"description":"How many results this page asked for.","type":"integer"},"pet_policy_unknown":{"description":"Otherwise matching homes omitted from a pet-friendly search because their pet policy is unknown, not confirmed to prohibit pets. Applies with or without dates; included in unpriced_in_time when dated. A positive count means the pet-friendly inventory is incomplete.","type":"integer"},"properties":{"items":{"properties":{"accommodation_type":{"description":"What the guest rents: an entire home, a private room in a shared building or a shared room. A private room or shared room is not an entire home. unknown means the type is not recorded for this home.","enum":["entire_home","private_room","shared_room","unknown"],"type":"string"},"availability_status":{"description":"available: confirmed available for the requested dates when this answer was produced. not_checked: no dates were given, so availability was not checked.","enum":["available","not_checked"],"type":"string"},"avg_per_night":{"description":"No longer returned; stay_total is the price of the stay.","type":"number"},"avg_per_night_display":{"type":"string"},"bathroom_sharing":{"description":"Whether the guest has a private bathroom or shares one. unknown means it is not recorded for this home.","enum":["private","shared","unknown"],"type":"string"},"bathrooms":{"type":["number","null"]},"bedrooms":{"type":["number","null"]},"booking_url":{"description":"Where the guest completes the booking on Luxury Lodging's own site.","type":"string"},"city":{"type":"string"},"content_updated_at":{"description":"When the property manager's record of this home last changed, ISO 8601, as the provider states it. Omitted when the provider gives no such time.","type":"string"},"data_checked_at":{"description":"When this home's availability and price were fetched, ISO 8601. Only present on a row whose stay was priced.","type":"string"},"distance_miles":{"description":"Only on a landmark or area search: how far this home is from it, in miles, rounded to the nearest 0.5 (0.5 means under 0.5 mile), as a straight line over the ground, not a driving or walking route.","type":"number"},"distance_type":{"description":"Only with distance_miles: how the distance was measured. straight_line is the direct distance, shorter than any route.","enum":["straight_line"],"type":"string"},"from_price_note":{"description":"Deprecated, no longer returned along with from_price_per_night.","type":"string"},"from_price_per_night":{"description":"Deprecated, no longer returned: only a row with a confirmed stay_total carries a price. Kept in this schema so existing clients still validate.","type":["number","null"]},"highlights":{"description":"Up to three short phrases describing what sets the home apart.","items":{"type":"string"},"type":"array"},"match_reasons":{"description":"Short statements of why this home passed the filters that were sent, e.g. \"2 bedrooms (exact)\" or \"has parking\". On a landmark search the first is the distance, e.g. \"1.5 mi from McCormick Place (straight line)\" or \"under 0.5 mi from McCormick Place (straight line)\". Empty when no filter was sent.","items":{"type":"string"},"type":"array"},"missing_or_unverified":{"description":"Facts about this home that could not be verified, drawn from: pet policy, amenities, accommodation type.","items":{"type":"string"},"type":"array"},"name":{"type":"string"},"neighbourhood":{"description":"Neighbourhood-level location only; the exact address is shared after booking.","type":["string","null"]},"nights":{"type":"integer"},"photo":{"type":["string","null"]},"property_id":{"type":"integer"},"property_type":{"type":["string","null"]},"review_count":{"description":"How many 4- and 5-star reviews this home has. It is a count, not a rating; no average rating exists for any home.","type":"integer"},"review_sources":{"description":"Which platforms those reviews came from.","items":{"type":"string"},"type":"array"},"similar_units":{"description":"Only present when interchangeable units of this type exist; any of these ids can be quoted and booked.","properties":{"count":{"type":"integer"},"note":{"type":"string"},"property_ids":{"items":{"type":"integer"},"type":"array"}},"required":["count","note","property_ids"],"type":"object"},"sleeps":{"type":["integer","null"]},"state":{"type":["string","null"]},"stay_total":{"description":"Total for the requested dates including cleaning, fees and taxes. Only present when dates were given and the home was priced.","type":"number"},"stay_total_display":{"type":"string"},"top_amenities":{"items":{"type":"string"},"type":"array"}},"required":["property_id","name","city","top_amenities","review_count","review_sources","highlights","booking_url","match_reasons","availability_status","missing_or_unverified"],"type":"object"},"type":"array"},"search_scope":{"description":"The place actually searched and how it was read.","properties":{"place":{"description":"The place searched; null when no place was given and every home was searched.","type":["string","null"]},"radius_miles":{"description":"How far from its centre or point homes are included; given for a metro, landmark or area.","type":"number"},"type":{"description":"metro: the metro area around the named city, within radius_miles. state: the whole state. city: homes in the named city. nearby_or_text: homes near the place or whose listing text matches it. landmark: homes within radius_miles of a named landmark, nearest first, by straight-line distance. area: the same, measured from the centre of a named area such as the South Loop.","enum":["all_homes","metro","state","city","nearby_or_text","landmark","area"],"type":"string"}},"required":["place","type"],"type":"object"},"searched_location":{"type":["string","null"]},"status":{"description":"NO_MATCHES: nothing matched and nothing is unknown (unpriced_in_time and pet_policy_unknown are both 0). It is a normal answer, not an error. Any other search is OK, even with no results, and unpriced_in_time and pet_policy_unknown say what is still unknown.","enum":["OK","NO_MATCHES"],"type":"string"},"total_matching":{"description":"How many individual homes matched, counting every interchangeable unit.","type":"integer"},"total_matching_groups":{"description":"How many distinct unit types matched.","type":"integer"},"unpriced_in_time":{"description":"Matching homes whose availability was not established for these dates, because their pet policy could not be verified, a quote failed, the request ran out of budget, or it did not reach them. They are unknown, not unavailable. `price_all_matches`, a higher `limit`, or a narrower place establishes more of them. These counts cover the whole search, not one page, and the homes they count are not part of any page. A later page quotes more homes, so the count can fall.","type":"integer"},"unpriced_property_ids":{"description":"The property_id of up to 30 of the homes counted in unpriced_in_time; each can be priced individually with a live quote. Homes whose quote failed or timed out come first, then homes the request did not reach. A home listed here is unknown, not unavailable.","items":{"type":"integer"},"maxItems":30,"type":"array"}},"required":["matches","total_matching","total_matching_groups","unpriced_in_time","unpriced_property_ids","dates_checked","availability_note","properties","completeness","search_scope","has_more","next_cursor"],"type":"object"}after
{"properties":{"availability_note":{"type":"string"},"dates_checked":{"description":"False means availability is unknown and no stay has been priced; no row carries a stay_total.","type":"boolean"},"matches":{"description":"How many results this response carries.","type":"integer"},"pet_policy_unknown":{"description":"Otherwise matching homes omitted from a pet-friendly search because their pet policy is unknown, not confirmed to prohibit pets. Applies with or without dates; included in unpriced_in_time when dated. A positive count means the pet-friendly inventory is incomplete.","type":"integer"},"properties":{"items":{"properties":{"avg_per_night":{"description":"No longer returned; stay_total is the price of the stay.","type":"number"},"avg_per_night_display":{"type":"string"},"bathrooms":{"type":["number","null"]},"bedrooms":{"type":["number","null"]},"booking_url":{"description":"Where the guest completes the booking on Luxury Lodging's own site.","type":"string"},"city":{"type":"string"},"from_price_note":{"description":"Only present when from_price_per_night is null: what is and is not visible about this home's calendar. A null starting rate means neither that the home is booked out nor that it is ready to book.","type":"string"},"from_price_per_night":{"description":"Starting nightly rate, used to order results. It excludes cleaning, fees and taxes, so it is not the price of any stay. Only present on a row without stay_total. Null means no starting rate is published for this home, not that it is free or cheap; from_price_note says why.","type":["number","null"]},"highlights":{"description":"Up to three short phrases describing what sets the home apart.","items":{"type":"string"},"type":"array"},"name":{"type":"string"},"neighbourhood":{"description":"Neighbourhood-level location only; the exact address is shared after booking.","type":["string","null"]},"nights":{"type":"integer"},"photo":{"type":["string","null"]},"property_id":{"type":"integer"},"property_type":{"type":["string","null"]},"review_count":{"description":"How many 4- and 5-star reviews this home has. It is a count, not a rating; no average rating exists for any home.","type":"integer"},"review_sources":{"description":"Which platforms those reviews came from.","items":{"type":"string"},"type":"array"},"similar_units":{"description":"Only present when interchangeable units of this type exist; any of these ids can be quoted and booked.","properties":{"count":{"type":"integer"},"note":{"type":"string"},"property_ids":{"items":{"type":"integer"},"type":"array"}},"required":["count","note","property_ids"],"type":"object"},"sleeps":{"type":["integer","null"]},"state":{"type":["string","null"]},"stay_total":{"description":"Total for the requested dates including cleaning, fees and taxes. Only present when dates were given and the home was priced.","type":"number"},"stay_total_display":{"type":"string"},"top_amenities":{"items":{"type":"string"},"type":"array"}},"required":["property_id","name","city","top_amenities","review_count","review_sources","highlights","booking_url"],"type":"object"},"type":"array"},"searched_location":{"type":["string","null"]},"total_matching":{"description":"How many individual homes matched, counting every interchangeable unit.","type":"integer"},"total_matching_groups":{"description":"How many distinct unit types matched.","type":"integer"},"unpriced_in_time":{"description":"Matching homes whose availability was not established for these dates, because their pet policy could not be verified, a quote failed, the request ran out of budget, or it did not reach them. They are unknown, not unavailable. `price_all_matches`, a higher `limit`, or a narrower place establishes more of them.","type":"integer"}},"required":["matches","total_matching","total_matching_groups","unpriced_in_time","dates_checked","availability_note","properties"],"type":"object"}after
{"properties":{"accommodation_type_unknown":{"description":"Otherwise matching homes left out of an accommodation_type search because no type is recorded for them. They are not confirmed to be another type. 0 when the filter was not sent.","type":"integer"},"amenities_unknown":{"description":"Otherwise matching homes left out of an amenities_required search because no amenity data is available for them. They are not confirmed to lack the amenity. 0 when the filter was not sent.","type":"integer"},"availability_note":{"type":"string"},"budget_applied":{"description":"Only returned when a budget was sent: what it was compared with.","properties":{"amount":{"type":"number"},"compared_to":{"description":"stay_total includes cleaning, fees and taxes; from_price_per_night is a starting nightly rate that excludes them.","enum":["stay_total","from_price_per_night"],"type":"string"},"currency":{"type":"string"},"homes_not_checked":{"description":"Matching homes the budget could not be checked against: unpriced for a total budget, no starting rate for a nightly one.","type":"integer"},"includes_fees_and_taxes":{"type":"boolean"},"note":{"type":"string"},"scope":{"enum":["total","nightly"],"type":"string"}},"required":["scope","amount","currency","compared_to","includes_fees_and_taxes","note"],"type":"object"},"budget_unverified":{"description":"Otherwise matching homes left out of a nightly budget search because no starting nightly rate is on record. 0 when the budget was not sent or was a total budget.","type":"integer"},"budget_unverified_property_ids":{"description":"The property_id of up to 30 of the homes counted in budget_unverified; each can be priced for specific dates with a live quote.","items":{"type":"integer"},"maxItems":30,"type":"array"},"completeness":{"description":"complete: no matching home is unpriced, and none was left out for an unknown pet policy, accommodation type, amenity data, starting rate or position. partial: at least one is, so the results may omit a home that matches.","enum":["complete","partial"],"type":"string"},"dates_checked":{"description":"False means availability is unknown and no stay has been priced; no row carries a stay_total.","type":"boolean"},"distance_unknown":{"description":"Only on a landmark or area search: otherwise matching homes left out because no position is recorded for them, so their distance is unknown. They are not confirmed to be outside the radius.","type":"integer"},"has_more":{"description":"True when more results follow this page in the same ordering, within the priced sample. Homes counted in unpriced_in_time are not part of any page and have no effect on this.","type":"boolean"},"matches":{"description":"How many results this response carries.","type":"integer"},"next_cursor":{"description":"The value to send as cursor, with every other input unchanged, to get the next page. Null when has_more is false.","type":["string","null"]},"offset":{"description":"How many results precede this page in the full ordering.","type":"integer"},"page_size":{"description":"How many results this page asked for.","type":"integer"},"pet_policy_unknown":{"description":"Otherwise matching homes omitted from a pet-friendly search because their pet policy is unknown, not confirmed to prohibit pets. Applies with or without dates; included in unpriced_in_time when dated. A positive count means the pet-friendly inventory is incomplete.","type":"integer"},"properties":{"items":{"properties":{"accommodation_type":{"description":"What the guest rents: an entire home, a private room in a shared building or a shared room. A private room or shared room is not an entire home. unknown means the type is not recorded for this home.","enum":["entire_home","private_room","shared_room","unknown"],"type":"string"},"availability_status":{"description":"available: confirmed available for the requested dates when this answer was produced. not_checked: no dates were given, so availability was not checked.","enum":["available","not_checked"],"type":"string"},"avg_per_night":{"description":"No longer returned; stay_total is the price of the stay.","type":"number"},"avg_per_night_display":{"type":"string"},"bathroom_sharing":{"description":"Whether the guest has a private bathroom or shares one. unknown means it is not recorded for this home.","enum":["private","shared","unknown"],"type":"string"},"bathrooms":{"type":["number","null"]},"bedrooms":{"type":["number","null"]},"booking_url":{"description":"Where the guest completes the booking on Luxury Lodging's own site.","type":"string"},"city":{"type":"string"},"content_updated_at":{"description":"When the property manager's record of this home last changed, ISO 8601, as the provider states it. Omitted when the provider gives no such time.","type":"string"},"data_checked_at":{"description":"When this home's availability and price were fetched, ISO 8601. Only present on a row whose stay was priced.","type":"string"},"distance_miles":{"description":"Only on a landmark or area search: how far this home is from it, in miles, rounded to the nearest 0.5 (0.5 means under 0.5 mile), as a straight line over the ground, not a driving or walking route.","type":"number"},"distance_type":{"description":"Only with distance_miles: how the distance was measured. straight_line is the direct distance, shorter than any route.","enum":["straight_line"],"type":"string"},"from_price_note":{"description":"Deprecated, no longer returned along with from_price_per_night.","type":"string"},"from_price_per_night":{"description":"Deprecated, no longer returned: only a row with a confirmed stay_total carries a price. Kept in this schema so existing clients still validate.","type":["number","null"]},"highlights":{"description":"Up to three short phrases describing what sets the home apart.","items":{"type":"string"},"type":"array"},"match_reasons":{"description":"Short statements of why this home passed the filters that were sent, e.g. \"2 bedrooms (exact)\" or \"has parking\". On a landmark search the first is the distance, e.g. \"1.5 mi from McCormick Place (straight line)\" or \"under 0.5 mi from McCormick Place (straight line)\". Empty when no filter was sent.","items":{"type":"string"},"type":"array"},"missing_or_unverified":{"description":"Facts about this home that could not be verified, drawn from: pet policy, amenities, accommodation type.","items":{"type":"string"},"type":"array"},"name":{"type":"string"},"neighbourhood":{"description":"Neighbourhood-level location only; the exact address is shared after booking.","type":["string","null"]},"nights":{"type":"integer"},"photo":{"type":["string","null"]},"property_id":{"type":"integer"},"property_type":{"type":["string","null"]},"review_count":{"description":"How many 4- and 5-star reviews this home has. It is a count, not a rating; no average rating exists for any home.","type":"integer"},"review_sources":{"description":"Which platforms those reviews came from.","items":{"type":"string"},"type":"array"},"similar_units":{"description":"Only present when interchangeable units of this type exist; any of these ids can be quoted and booked.","properties":{"count":{"type":"integer"},"note":{"type":"string"},"property_ids":{"items":{"type":"integer"},"type":"array"}},"required":["count","note","property_ids"],"type":"object"},"sleeps":{"type":["integer","null"]},"state":{"type":["string","null"]},"stay_total":{"description":"Total for the requested dates including cleaning, fees and taxes. Only present when dates were given and the home was priced.","type":"number"},"stay_total_display":{"type":"string"},"top_amenities":{"items":{"type":"string"},"type":"array"}},"required":["property_id","name","city","top_amenities","review_count","review_sources","highlights","booking_url","match_reasons","availability_status","missing_or_unverified"],"type":"object"},"type":"array"},"search_scope":{"description":"The place actually searched and how it was read.","properties":{"place":{"description":"The place searched; null when no place was given and every home was searched.","type":["string","null"]},"radius_miles":{"description":"How far from its centre or point homes are included; given for a metro, landmark or area.","type":"number"},"type":{"description":"metro: the metro area around the named city, within radius_miles. state: the whole state. city: homes in the named city. nearby_or_text: homes near the place or whose listing text matches it. landmark: homes within radius_miles of a named landmark, nearest first, by straight-line distance. area: the same, measured from the centre of a named area such as the South Loop.","enum":["all_homes","metro","state","city","nearby_or_text","landmark","area"],"type":"string"}},"required":["place","type"],"type":"object"},"searched_location":{"type":["string","null"]},"status":{"description":"NO_MATCHES: nothing matched and nothing is unknown (unpriced_in_time and pet_policy_unknown are both 0). It is a normal answer, not an error. Any other search is OK, even with no results, and unpriced_in_time and pet_policy_unknown say what is still unknown.","enum":["OK","NO_MATCHES"],"type":"string"},"total_matching":{"description":"How many individual homes matched, counting every interchangeable unit.","type":"integer"},"total_matching_groups":{"description":"How many distinct unit types matched.","type":"integer"},"unpriced_in_time":{"description":"Matching homes whose availability was not established for these dates, because their pet policy could not be verified, a quote failed, the request ran out of budget, or it did not reach them. They are unknown, not unavailable. `price_all_matches`, a higher `limit`, or a narrower place establishes more of them. These counts cover the whole search, not one page, and the homes they count are not part of any page. A later page quotes more homes, so the count can fall.","type":"integer"},"unpriced_property_ids":{"description":"The property_id of up to 30 of the homes counted in unpriced_in_time; each can be priced individually with a live quote. Homes whose quote failed or timed out come first, then homes the request did not reach. A home listed here is unknown, not unavailable.","items":{"type":"integer"},"maxItems":30,"type":"array"}},"required":["matches","total_matching","total_matching_groups","unpriced_in_time","unpriced_property_ids","dates_checked","availability_note","properties","completeness","search_scope","has_more","next_cursor"],"type":"object"}