Contract
{
"type": "object",
"required": [
"hotelId",
"checkIn",
"checkOut",
"rooms",
"adults",
"children",
"currency",
"locale",
"login"
],
"properties": {
"login": {
"enum": [
1
],
"type": "integer",
"default": 1,
"description": "A request flag the lookup needs. Only 1 is offered."
},
"rooms": {
"enum": [
1
],
"type": "integer",
"default": 1,
"description": "Number of rooms. Only 1 is offered."
},
"adults": {
"enum": [
2
],
"type": "integer",
"default": 2,
"description": "Number of adult guests. Only 2 is offered."
},
"locale": {
"enum": [
"en-US"
],
"type": "string",
"default": "en-US",
"description": "Language of the returned text. Only en-US (English) is offered."
},
"checkIn": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Check-in date in YYYY-MM-DD format."
},
"hotelId": {
"type": "string",
"minLength": 1,
"description": "The hotel's ID from its Tiket.com hotel page address: the hotel's name in lowercase words joined by hyphens, followed by a long number."
},
"checkOut": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Check-out date in YYYY-MM-DD format, after the check-in date."
},
"children": {
"enum": [
0
],
"type": "integer",
"default": 0,
"description": "Number of child guests. Only 0 is offered."
},
"currency": {
"enum": [
"USD"
],
"type": "string",
"default": "USD",
"description": "Currency of the returned prices. Only USD is offered."
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"rooms": {
"type": "array",
"items": {
"type": "object",
"properties": {
"product_list": {
"type": "array",
"items": {
"type": "object",
"properties": {
"bed_type": {
"type": [
"string",
"null"
],
"description": "Bed type text; null when not listed."
},
"currency": {
"type": "string",
"description": "Currency of the prices (USD)."
},
"rate_type": {
"type": "string",
"description": "How the offer is paid, as a code (PAY_NOW in testing)."
},
"room_name": {
"type": "string",
"description": "The room type's name."
},
"room_size": {
"type": [
"number",
"null"
],
"description": "Room size; null when not listed."
},
"refundable": {
"type": "boolean",
"description": "Whether the offer is refundable."
},
"final_price": {
"type": "number",
"description": "The offer's listed price after any discount, in US dollars."
},
"is_breakfast": {
"type": "boolean",
"description": "Whether breakfast is included."
},
"max_occupancy": {
"type": "number",
"description": "Maximum guests in the room."
},
"original_fare": {
"type": "number",
"description": "The offer's price before discount, in US dollars."
},
"room_size_unit": {
"type": [
"string",
"null"
],
"description": "Unit of the room size (square metres); null when not listed."
},
"discount_detail": {
"type": "object",
"properties": {
"promos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"text": {
"type": "string"
}
}
},
"description": "Promotion labels on the offer; can be empty."
},
"valueAdded": {
"type": "array",
"items": {
"type": "object",
"properties": {
"details": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
}
}
}
}
}
},
"description": "Extra benefits listed with the offer; can be empty."
}
}
},
"discount_percent": {
"type": "number",
"description": "Discount from the original price, in percent; can be missing."
},
"is_promo_applied": {
"type": "boolean",
"description": "Whether a promotion is applied to the price."
},
"cancellation_info": {
"type": "string",
"description": "The refund and reschedule terms, as text."
}
}
},
"description": "One entry per room offer."
}
}
},
"description": "The offer list (one entry in testing)."
},
"hotel_detail": {
"type": "object",
"properties": {
"lat": {
"type": "string",
"description": "Latitude, as a decimal string."
},
"long": {
"type": "string",
"description": "Longitude, as a decimal string."
},
"address": {
"type": "string",
"description": "The hotel's street address."
},
"hotel_name": {
"type": "string",
"description": "The hotel's name."
},
"star_rating": {
"type": "number",
"description": "Hotel star class."
},
"review_count": {
"type": "number",
"description": "Number of guest reviews."
},
"review_score": {
"type": "number",
"description": "Average guest review score."
}
}
},
"request_timestamp": {
"type": "string",
"description": "When the prices were read, in milliseconds since 1970 as a string."
}
},
"description": "The hotel's details and its room offers for the stay, as returned after shaping."
}Pricing
Every real charge, itemised. A model that quietly omits one is a slow financial leak, so nothing here is rolled up, and a charge that only applies to some inputs says so rather than being added in.
Prices in this catalog are the provider's own list price, not your bill: Omnial MCP charges provider cost plus a platform markup on top, so what you are charged is higher than the figure shown. For the exact amount a specific call will cost, run omnial_execute with dry_run: true; that number includes the markup and is what we hold while the call runs. It is a quote, not a cap on the charge.
| Charge | Rate |
|---|---|
Per call Flat, regardless of what comes back | $0.01365 |
- Cost basis
- Not recorded
This tool's catalog entry does not record how its final bill is determined, so we will not tell you whether its cost is fixed before the call or reported by the provider afterwards. Either way what is held is a quote rather than a cap: you are charged what the call actually costs, bounded at 2x the quote.
- Updated
- Oct 12, 2026
