GeoArm Taxi · Schema

BookingRequest

TransportationTaxiMinibusGeorgiaArmenia

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.
View JSON Schema on GitHub

JSON Schema

geoarmtaxi-com-booking-request-schema.json Raw ↑
{
  "$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.
All 92 tools →

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.