{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://www.monocrawl.com/schemas/booking/hotel-reviews.json","title":"booking/hotel-reviews data fields","description":"Optional data supplied by this operation. Null means unknown.","type":"object","properties":{"count":{"description":"Number of records in this response, not lifetime or total matches.","type":["number","null"]},"has_more":{"description":"Source continuation indicator; null means unknown.","type":["boolean","null"]},"hotel_id":{"description":"Optional hotel id supplied by this operation. Null means unknown.","type":["string","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":{"author":{"description":"Public author information supplied with this record.","type":["object","null"],"properties":{"avatar_url":{"description":"Optional avatar url 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"]},"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string","null"]},"reviews":{"description":"Optional reviews supplied by this operation. Null means unknown.","type":["number","null"]},"type":{"description":"Optional type supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true},"cons":{"description":"Optional cons supplied by this operation. Null means unknown.","type":["string","null"]},"date":{"description":"Optional date supplied by this operation. Null means unknown.","type":["string","null"]},"helpful_votes":{"description":"Optional helpful votes supplied by this operation. Null means unknown.","type":["number","null"]},"hotel_id":{"description":"Optional hotel id supplied by this operation. Null means unknown.","type":["string","null"]},"hotelier_response":{"description":"Optional hotelier response supplied by this operation. Null means unknown.","type":["string","null"]},"hotelier_response_date":{"description":"Optional hotelier response date supplied by this operation. Null means unknown.","type":["string","null"]},"id":{"description":"Source identifier. Preserve the supplied type and exact value.","type":["string","null"]},"incentivised":{"description":"Optional incentivised supplied by this operation. Null means unknown.","type":["boolean","null"]},"language":{"description":"Optional language supplied by this operation. Null means unknown.","type":["string","null"]},"moderated":{"description":"Optional moderated supplied by this operation. Null means unknown.","type":["boolean","null"]},"photos":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"platform":{"description":"Optional platform supplied by this operation. Null means unknown.","type":["string","null"]},"pros":{"description":"Optional pros supplied by this operation. Null means unknown.","type":["string","null"]},"score":{"description":"Optional score supplied by this operation. Null means unknown.","type":["number","null"]},"stay":{"description":"Optional stay supplied by this operation. Null means unknown.","type":["object","null"],"properties":{"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"]},"nights":{"description":"Optional nights supplied by this operation. Null means unknown.","type":["number","null"]},"room":{"description":"Optional room supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true},"tags":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array","null"],"items":{}},"title":{"description":"Source title when supplied.","type":["string","null"]},"travel_purpose":{"description":"Optional travel purpose 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,"allOf":[{"anyOf":[{"required":["author"],"properties":{"author":{"description":"Public author information supplied with this record.","type":["object"],"properties":{"avatar_url":{"description":"Optional avatar url 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"]},"name":{"description":"Optional name supplied by this operation. Null means unknown.","type":["string","null"]},"reviews":{"description":"Optional reviews supplied by this operation. Null means unknown.","type":["number","null"]},"type":{"description":"Optional type supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true}}},{"required":["cons"],"properties":{"cons":{"description":"Optional cons supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["date"],"properties":{"date":{"description":"Optional date supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["helpful_votes"],"properties":{"helpful_votes":{"description":"Optional helpful votes supplied by this operation. Null means unknown.","type":["number"]}}},{"required":["hotel_id"],"properties":{"hotel_id":{"description":"Optional hotel id supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["hotelier_response"],"properties":{"hotelier_response":{"description":"Optional hotelier response supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["hotelier_response_date"],"properties":{"hotelier_response_date":{"description":"Optional hotelier response date 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":["incentivised"],"properties":{"incentivised":{"description":"Optional incentivised supplied by this operation. Null means unknown.","type":["boolean"]}}},{"required":["language"],"properties":{"language":{"description":"Optional language supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["moderated"],"properties":{"moderated":{"description":"Optional moderated supplied by this operation. Null means unknown.","type":["boolean"]}}},{"required":["photos"],"properties":{"photos":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array"],"items":{}}}},{"required":["pros"],"properties":{"pros":{"description":"Optional pros supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}},{"required":["score"],"properties":{"score":{"description":"Optional score supplied by this operation. Null means unknown.","type":["number"]}}},{"required":["stay"],"properties":{"stay":{"description":"Optional stay supplied by this operation. Null means unknown.","type":["object"],"properties":{"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"]},"nights":{"description":"Optional nights supplied by this operation. Null means unknown.","type":["number","null"]},"room":{"description":"Optional room supplied by this operation. Null means unknown.","type":["string","null"]}},"additionalProperties":true}}},{"required":["tags"],"properties":{"tags":{"description":"Source array was empty in the reviewed captures; item fields remain unspecified.","type":["array"],"items":{}}}},{"required":["title"],"properties":{"title":{"description":"Source title when supplied.","type":["string"],"minLength":1}}},{"required":["travel_purpose"],"properties":{"travel_purpose":{"description":"Optional travel purpose supplied by this operation. Null means unknown.","type":["string"],"minLength":1}}}]}]}},"page":{"description":"Optional page 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":[{"count":0,"has_more":false,"hotel_id":"example","items":[{"author":{"avatar_url":"https://example.com/example","country_code":"example","name":"example","reviews":0,"type":"example"},"cons":"example","date":"2026-09-01T12:00:00Z","helpful_votes":0,"hotel_id":"example","hotelier_response":"example","hotelier_response_date":"2026-09-01T12:00:00Z","id":"example","incentivised":false,"language":"example","moderated":false,"photos":[],"platform":"example","pros":"example","score":0,"stay":{"checkin":"example","checkout":"example","nights":0,"room":"example"},"tags":[],"title":"example","travel_purpose":"example","type":"example"}],"page":0,"total":0}]}