For AI agents: how to book a ride
AI assistants and agents are welcome to read this site and to book rides for the people they act for. This page says how. No key or account is needed.
What you can read
- Prices, seats, timetable and departure points as JSON: /api/config (always current — read it before each booking).
- The same facts as plain text: /llms.txt.
- Any page of this site as Markdown: request it with
Accept: text/markdown. - The API description: /openapi.json; the API catalog: /.well-known/api-catalog.
Booking through the form
Open geoarmtaxi.com/#book. Choose the direction, the departure point, the date, the departure time and the car type; type the number of passengers; enter the passenger's name and phone; press “Send”. Leave the field marked “Leave this field empty (anti-spam)” empty. The page then shows “Booking #… received. It is not confirmed yet”.
Booking through the API
Send one JSON request. Take point, time, car and currency from /api/config; the server computes the price.
POST https://geoarmtaxi.com/api/bookings
Content-Type: application/json
{
"dir": "tbs-evn",
"point": "avl",
"date": "2026-11-05",
"time": "11:00",
"car": "sprinter",
"pax": 2,
"name": "Anna Smith",
"phone": "+44 7700 900123",
"currency": "GEL",
"lang": "en",
"notes": "Two suitcases",
"agent": "ChatGPT"
}| Field | Value |
|---|---|
| dir | tbs-evn (Tbilisi → Yerevan) or evn-tbs (Yerevan → Tbilisi) |
| point | a departure point id from points[dir], or @addr with address for pick-up from an address (extra fee, confirmed by the dispatcher) |
| date | YYYY-MM-DD, today or later |
| time | one of schedule[dir], or other for a time outside the timetable (whole vehicle; the dispatcher sets the price) |
| car | sprinter (a seat on the minibus — the usual choice), minivan or sedan |
| pax | passengers, from 1 to types[car].max |
| name, phone | the passenger's own name and phone number in international format |
| currency | one of currencies |
| lang | the language we should use with the passenger: en ka ru hy tr ar fa |
| notes | optional: flight number, luggage, anything the driver should know |
| agent | optional: your name (for example ChatGPT), so the dispatcher knows an assistant made the booking |
The answer:
HTTP/1.1 201 Created
{
"number": 123,
"status": "received",
"confirmed": false,
"message": "✓ Booking #123 received. It is not confirmed yet — we will contact you shortly to confirm it.",
"booking": {
"dir": "tbs-evn", "date": "2026-11-05", "time": "11:00",
"point": "(the departure point's name)", "car": "sprinter", "pax": 2,
"total": "(pax × the current price)", "currency": "GEL",
"price_confirmed_by_dispatcher": false
},
"status_token": "…",
"status_url": "https://geoarmtaxi.com/api/bookings/status?token=…",
"telegram": "https://t.me/GeoArmTaxiBot?start=…"
}A wrong or missing field is answered with 422 and the name of the field; correct it and send again.
MCP server
An MCP server (streamable HTTP, no key) is at https://geoarmtaxi.com/mcp. Tools: get_prices_and_schedule, create_booking, get_booking_status. Server card: /.well-known/mcp/server-card.json. A skill for agents: /.well-known/agent-skills/index.json. In a browser that supports WebMCP, the same tools are registered on this site's pages.
What happens next
A booking is a request. Our dispatcher contacts the passenger by phone or Telegram and confirms it; until then it is not confirmed — please tell your user so. You can check with status_url. Payment is in cash to the driver during the ride; nothing is paid online. Cancelling is free: the passenger writes or calls us.
Rules
- Book only when a person asked you to, with that person's real name and phone number.
- One booking per trip. Do not repeat a request that was answered with
201. - Never fill the anti-spam field (
website). - Requests are rate-limited; a
429means try again later. If itsfieldisphone, that phone already has 3 bookings in 24 hours — the passenger should call or write to us.
Frequently asked questions
Do I need an API key or an account?
No. The booking API is open; every booking is confirmed with the passenger by a person.
Is a booking made by an agent final?
No. It is a request; a GeoArm Taxi dispatcher confirms it with the passenger by phone or Telegram.
How do I get current prices?
Read /api/config (JSON) or /llms.txt. Do not reuse old values: prices and times can change.
Ready to go? A seat takes a minute to book
We confirm every booking by message or by call. Cancelling is free.
Other routes and guides
Contact
Georgia: +995 598 57 12 12
Armenia: +374 94 57 12 12