{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://www.monocrawl.com/schemas/tripadvisor/cruise.json","title":"tripadvisor/cruise data fields","description":"Required core structure for successful data, with optional source fields. Additional fields are allowed. This is not a completeness guarantee.","type":"object","properties":{"id":{"type":["string","null"],"description":"Exact source identifier; preserve it as a string."},"ship_id":{"type":["string","null"],"description":"Exact source identifier; preserve it as a string."},"name":{"type":["string","null"],"description":"name"},"url":{"type":["string","null"],"description":"url"},"description":{"type":["string","null"],"description":"description"},"rating":{"type":["object","null"],"properties":{"value":{"type":["number","null"],"description":"value; null is unknown."},"votes":{"type":["number","null"],"description":"votes; null is unknown."},"max":{"type":["number","null"],"description":"max; null is unknown."}},"additionalProperties":true}},"additionalProperties":true,"allOf":[{"anyOf":[{"required":["id"],"properties":{"id":{"type":["string"],"description":"Exact source identifier; preserve it as a string.","minLength":1}}},{"required":["ship_id"],"properties":{"ship_id":{"type":["string"],"description":"Exact source identifier; preserve it as a string.","minLength":1}}},{"required":["name"],"properties":{"name":{"type":["string"],"description":"name","minLength":1}}},{"required":["url"],"properties":{"url":{"type":["string"],"description":"url","minLength":1}}},{"required":["description"],"properties":{"description":{"type":["string"],"description":"description","minLength":1}}},{"required":["rating"],"properties":{"rating":{"type":["object"],"properties":{"value":{"type":["number","null"],"description":"value; null is unknown."},"votes":{"type":["number","null"],"description":"votes; null is unknown."},"max":{"type":["number","null"],"description":"max; null is unknown."}},"additionalProperties":true}}}]}],"x-contract-version":"2026-09-22","x-validation-scope":"Required success payload structure; optional fields and source completeness remain separate.","examples":[{"ship_id":"123","name":"Example ship"}]}