{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://www.monocrawl.com/schemas/booking/search-hotels.json","title":"booking/search-hotels data fields","description":"Optional data supplied by this operation. Null means unknown.","type":"object","properties":{"adults":{"description":"Optional adults supplied by this operation. Null means unknown.","type":["number","null"]},"checkin":{"description":"Optional checkin supplied by this operation. Null means unknown.","type":["string","null"]},"checkout":{"description":"Optional checkout supplied by this operation. Null means unknown.","type":["string","null"]},"count":{"description":"Number of records in this response, not lifetime or total matches.","type":["number","null"]},"cursor":{"description":"Opaque next-page token; pass it back unchanged. Null does not prove complete history.","type":["string","null"]},"destination":{"description":"Optional destination supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"id":{"description":"Source identifier. Preserve the supplied type and exact value.","type":["string","null"]},"label":{"description":"Optional label supplied by this operation. Null means unknown.","type":["string","null"]},"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string","null"]},"type":{"description":"Optional type supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true},"has_more":{"description":"Source continuation indicator; null means unknown.","type":["boolean","null"]},"items":{"description":"Returned records. Source coverage and completeness vary.","type":["array"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":"object","properties":{"accurate_class":{"description":"Optional accurate class supplied by this operation. Null means unknown.","type":["number","null"]},"badges":{"description":"Optional badges supplied by this operation. Null means unknown.","type":["array","null"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["string","null"]}},"checkin":{"description":"Optional checkin supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"from":{"description":"Optional from supplied by this operation. Null means unknown.","type":["string","null"]},"until":{"description":"Optional until supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true},"checkin_date":{"description":"Optional checkin date supplied by this operation. Null means unknown.","type":["string","null"]},"checkout":{"description":"Optional checkout supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"from":{"description":"Optional from supplied by this operation. Null means unknown.","type":["string","null"]},"until":{"description":"Optional until supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true},"checkout_date":{"description":"Optional checkout date supplied by this operation. Null means unknown.","type":["string","null"]},"country_code":{"description":"Optional country code supplied by this operation. Null means unknown.","type":["string","null"]},"currency":{"description":"Optional currency supplied by this operation. Null means unknown.","type":["string","null"]},"destination_id":{"description":"Optional destination id supplied by this operation. Null means unknown.","type":["string","null"]},"id":{"description":"Source identifier. Preserve the supplied type and exact value.","type":["string","null"]},"image_url":{"description":"Optional image url supplied by this operation. Null means unknown.","type":["string","null"]},"images":{"description":"Optional images supplied by this operation. Null means unknown.","type":["array","null"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["string","null"]}},"label":{"description":"Optional label supplied by this operation. Null means unknown.","type":["string","null"]},"latitude":{"description":"Optional latitude supplied by this operation. Null means unknown.","type":["number","null"]},"longitude":{"description":"Optional longitude supplied by this operation. Null means unknown.","type":["number","null"]},"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string","null"]},"platform":{"description":"Optional platform supplied by this operation. Null means unknown.","type":["string","null"]},"position":{"description":"Optional position supplied by this operation. Null means unknown.","type":["number","null"]},"preferred":{"description":"Optional preferred supplied by this operation. Null means unknown.","type":["boolean","null"]},"price":{"description":"Source price. Currency, taxes and availability depend on the listing.","type":["object","null"],"properties":{"amount":{"description":"Optional amount supplied by this operation. Null means unknown.","type":["number","null"]},"currency":{"description":"Optional currency supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true},"rank":{"description":"Optional rank supplied by this operation. Null means unknown.","type":["number","null"]},"review_count":{"description":"Optional review count supplied by this operation. Null means unknown.","type":["number","null"]},"review_score":{"description":"Optional review score supplied by this operation. Null means unknown.","type":["number","null"]},"review_score_word":{"description":"Optional review score word supplied by this operation. Null means unknown.","type":["string","null"]},"stars":{"description":"Optional stars supplied by this operation. Null means unknown.","type":["number","null"]},"strikethrough_price":{"description":"Optional strikethrough price supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"amount":{"description":"Optional amount supplied by this operation. Null means unknown.","type":["number","null"]},"currency":{"description":"Optional currency supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true},"type":{"description":"Optional type supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true,"allOf":[{"anyOf":[{"required":["accurate_class"],"properties":{"accurate_class":{"description":"Optional accurate class supplied by this operation. Null means unknown.","type":["number"]}}},{"required":["badges"],"properties":{"badges":{"description":"Optional badges supplied by this operation. Null means unknown.","type":["array"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["string","null"]}}}},{"required":["checkin"],"properties":{"checkin":{"description":"Optional checkin supplied by this operation. Null means unknown.","type":["object"],"properties":{"from":{"description":"Optional from supplied by this operation. Null means unknown.","type":["string","null"]},"until":{"description":"Optional until supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true}}},{"required":["checkin_date"],"properties":{"checkin_date":{"description":"Optional checkin date supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["checkout"],"properties":{"checkout":{"description":"Optional checkout supplied by this operation. Null means unknown.","type":["object"],"properties":{"from":{"description":"Optional from supplied by this operation. Null means unknown.","type":["string","null"]},"until":{"description":"Optional until supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true}}},{"required":["checkout_date"],"properties":{"checkout_date":{"description":"Optional checkout date supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["country_code"],"properties":{"country_code":{"description":"Optional country code supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["currency"],"properties":{"currency":{"description":"Optional currency supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["destination_id"],"properties":{"destination_id":{"description":"Optional destination id supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["id"],"properties":{"id":{"description":"Source identifier. Preserve the supplied type and exact value.","type":["string"],"minLength":1}}},{"required":["image_url"],"properties":{"image_url":{"description":"Optional image url supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["images"],"properties":{"images":{"description":"Optional images supplied by this operation. Null means unknown.","type":["array"],"items":{"description":"Optional record supplied by this operation. Null means unknown.","type":["string","null"]}}}},{"required":["label"],"properties":{"label":{"description":"Optional label supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["latitude"],"properties":{"latitude":{"description":"Optional latitude supplied by this operation. Null means unknown.","type":["number"]}}},{"required":["longitude"],"properties":{"longitude":{"description":"Optional longitude supplied by this operation. Null means unknown.","type":["number"]}}},{"required":["name"],"properties":{"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["position"],"properties":{"position":{"description":"Optional position supplied by this operation. Null means unknown.","type":["number"]}}},{"required":["preferred"],"properties":{"preferred":{"description":"Optional preferred supplied by this operation. Null means unknown.","type":["boolean"]}}},{"required":["price"],"properties":{"price":{"description":"Source price. Currency, taxes and availability depend on the listing.","type":["object"],"properties":{"amount":{"description":"Optional amount supplied by this operation. Null means unknown.","type":["number","null"]},"currency":{"description":"Optional currency supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true}}},{"required":["rank"],"properties":{"rank":{"description":"Optional rank supplied by this operation. Null means unknown.","type":["number"]}}},{"required":["review_count"],"properties":{"review_count":{"description":"Optional review count supplied by this operation. Null means unknown.","type":["number"]}}},{"required":["review_score"],"properties":{"review_score":{"description":"Optional review score supplied by this operation. Null means unknown.","type":["number"]}}},{"required":["review_score_word"],"properties":{"review_score_word":{"description":"Optional review score word supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["stars"],"properties":{"stars":{"description":"Optional stars supplied by this operation. Null means unknown.","type":["number"]}}},{"required":["strikethrough_price"],"properties":{"strikethrough_price":{"description":"Optional strikethrough price supplied by this operation. Null means unknown.","type":["object"],"properties":{"amount":{"description":"Optional amount supplied by this operation. Null means unknown.","type":["number","null"]},"currency":{"description":"Optional currency supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true}}}]}]}},"page":{"description":"Optional page supplied by this operation. Null means unknown.","type":["number","null"]},"rooms":{"description":"Optional rooms supplied by this operation. Null means unknown.","type":["number","null"]},"total":{"description":"Source-reported total; null is unknown.","type":["number","null"]}},"additionalProperties":true,"required":["items"],"x-contract-version":"2026-09-22","x-validation-scope":"Required success payload structure; optional fields and source completeness remain separate.","examples":[{"adults":0,"checkin":"example","checkout":"example","count":0,"cursor":null,"destination":{"id":"example","label":"example","name":"example","type":"example"},"has_more":false,"items":[{"accurate_class":0,"badges":["example"],"checkin":{"from":"example","until":"example"},"checkin_date":"2026-09-01T12:00:00Z","checkout":{"from":"example","until":"example"},"checkout_date":"2026-09-01T12:00:00Z","country_code":"example","currency":"example","destination_id":"example","id":"example","image_url":"https://example.com/example","images":["example"],"label":"example","latitude":0,"longitude":0,"name":"example","platform":"example","position":0,"preferred":false,"price":{"amount":0,"currency":"example"},"rank":0,"review_count":0,"review_score":0,"review_score_word":"example","stars":0,"strikethrough_price":{"amount":0,"currency":"example"},"type":"example"}],"page":0,"rooms":0,"total":0}]}