Properties
| Name | Type | Description |
|---|---|---|
| dir | string | `tbs-evn` = Tbilisi → Yerevan, `evn-tbs` = Yerevan → Tbilisi |
| point | string | A departure point id from `points[dir]` in /api/config, or `@addr` for pick-up from an address (extra fee, confirmed by the dispatcher) |
| address | string | Required with `point: "@addr"` unless `lat`/`lng` are given |
| lat | numbernull | |
| lng | numbernull | |
| date | string | YYYY-MM-DD, today or later (Tbilisi date), at most a year ahead |
| time | string | One of `schedule[dir]` from /api/config, or `other` for a time outside the timetable (whole vehicle; the dispatcher sets the price) |
| car | string | `sprinter` = a seat on the scheduled minibus (the default choice) |
| pax | integer | Passengers; at most `types[car].max` |
| whole | boolean | `true` = the whole vehicle for this party at a timetable time: the total is `types[car].whole[currency]` from /api/config (not per passenger). Only when that price exists for the chosen currency; `pax |
| name | string | The passenger's name |
| phone | string | The passenger's phone in international format, e.g. +995 5xx xx xx xx |
| currency | string | One of `currencies` from /api/config; the price is taken from the server |
| lang | string | The language we should use with the passenger (an unknown value is treated as `en`) |
| notes | string | Flight number, luggage, a child seat request and the like (longer text is cut to 1000 characters) |
| agent | string | If an AI agent makes the booking: its name (e.g. `ChatGPT`, `Claude`). Shown to the dispatcher. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/geoarmtaxi-com/json-schema/geoarmtaxi-com-booking-request-schema.json",
"title": "BookingRequest",
"x-generated": "2026-11-09",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/geoarmtaxi-com-openapi.json#/components/schemas/BookingRequest",
"type": "object",
"required": [
"dir",
"point",
"date",
"time",
"car",
"pax",
"name",
"phone",
"currency"
],
"properties": {
"dir": {
"type": "string",
"enum": [
"tbs-evn",
"evn-tbs"
],
"description": "`tbs-evn` = Tbilisi → Yerevan, `evn-tbs` = Yerevan → Tbilisi"
},
"point": {
"type": "string",
"description": "A departure point id from `points[dir]` in /api/config, or `@addr` for pick-up from an address (extra fee, confirmed by the dispatcher)"
},
"address": {
"type": "string",
"maxLength": 200,
"description": "Required with `point: \"@addr\"` unless `lat`/`lng` are given"
},
"lat": {
"type": [
"number",
"null"
]
},
"lng": {
"type": [
"number",
"null"
]
},
"date": {
"type": "string",
"format": "date",
"description": "YYYY-MM-DD, today or later (Tbilisi date), at most a year ahead"
},
"time": {
"type": "string",
"description": "One of `schedule[dir]` from /api/config, or `other` for a time outside the timetable (whole vehicle; the dispatcher sets the price)"
},
"car": {
"type": "string",
"enum": [
"sprinter",
"minivan",
"sedan"
],
"description": "`sprinter` = a seat on the scheduled minibus (the default choice)"
},
"pax": {
"type": "integer",
"minimum": 1,
"description": "Passengers; at most `types[car].max`"
},
"whole": {
"type": "boolean",
"default": false,
"description": "`true` = the whole vehicle for this party at a timetable time: the total is `types[car].whole[currency]` from /api/config (not per passenger). Only when that price exists for the chosen currency; `pax` still says how many travel"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "The passenger's name"
},
"phone": {
"type": "string",
"description": "The passenger's phone in international format, e.g. +995 5xx xx xx xx"
},
"currency": {
"type": "string",
"enum": [
"GEL",
"USD",
"AMD"
],
"description": "One of `currencies` from /api/config; the price is taken from the server"
},
"lang": {
"type": "string",
"enum": [
"en",
"ka",
"ru",
"hy",
"tr",
"ar",
"fa"
],
"default": "en",
"description": "The language we should use with the passenger (an unknown value is treated as `en`)"
},
"notes": {
"type": "string",
"maxLength": 1000,
"description": "Flight number, luggage, a child seat request and the like (longer text is cut to 1000 characters)"
},
"agent": {
"type": "string",
"maxLength": 80,
"description": "If an AI agent makes the booking: its name (e.g. `ChatGPT`, `Claude`). Shown to the dispatcher."
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/geoarmtaxi-com-booking-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.