← WebMCP Directory

Tool tree

omio.com

liveTravel & Events
https://www.omio.com/
Compare and book train, bus, flight, ferry across Europe, the US, Japan, and beyond. One search, 2,000+ travel providers. Find the best prices & fastest routes
Explore capabilities
resolve_positionsAction

STEP 1 — Always call this first. Converts free-text city names into position IDs. Pass the returned suggestion.fromId and suggestion.toId as fromId/toId to the results tool.

View tool JSON
{
  "name": "resolve_positions",
  "kind": "act",
  "impl": "imperative",
  "description": "STEP 1 — Always call this first. Converts free-text city names into position IDs. Pass the returned suggestion.fromId and suggestion.toId as fromId/toId to the results tool.",
  "inputSchema": {
    "type": "object",
    "required": [
      "fromTerm",
      "toTerm"
    ],
    "properties": {
      "fromTerm": {
        "type": "string",
        "description": "Origin city or station name, e.g. 'berlin'."
      },
      "toTerm": {
        "type": "string",
        "description": "Destination city or station name, e.g. 'munich'."
      },
      "preferCountryCode": {
        "type": "string",
        "minLength": 2,
        "maxLength": 2,
        "description": "Optional 2-letter country code to prefer (e.g. 'DE')."
      },
      "locale": {
        "type": "string",
        "description": "Locale, default 'en'."
      }
    }
  }
}
resultsAction

STEP 2 — Call after resolve_positions. Searches travel connections for a specific date. Requires fromId and toId (integers from resolve_positions suggestion). Returns schedules with departure/arrival times, prices, carriers, and booking links.

View tool JSON
{
  "name": "results",
  "kind": "act",
  "impl": "imperative",
  "description": "STEP 2 — Call after resolve_positions. Searches travel connections for a specific date. Requires fromId and toId (integers from resolve_positions suggestion). Returns schedules with departure/arrival times, prices, carriers, and booking links.",
  "inputSchema": {
    "type": "object",
    "required": [
      "fromId",
      "toId",
      "outboundDate"
    ],
    "properties": {
      "fromId": {
        "type": [
          "string",
          "integer"
        ],
        "description": "Origin positionId from resolve_positions suggestion.fromId"
      },
      "toId": {
        "type": [
          "string",
          "integer"
        ],
        "description": "Destination positionId from resolve_positions suggestion.toId"
      },
      "outboundDate": {
        "type": "string",
        "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
        "description": "Departure date YYYY-MM-DD"
      },
      "inboundDate": {
        "type": "string",
        "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
        "description": "Return date YYYY-MM-DD (for round trips)"
      },
      "travelModes": {
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "train",
            "bus",
            "flight",
            "ferry"
          ]
        },
        "description": "Filter by mode: 'bus', 'train', 'flight', 'ferry'"
      },
      "outboundTime": {
        "type": "string",
        "pattern": "^\\d{2}:\\d{2}$",
        "description": "Earliest departure time HH:MM"
      },
      "adults": {
        "type": "integer",
        "minimum": 0,
        "maximum": 50,
        "description": "Number of adults"
      },
      "children": {
        "type": "integer",
        "minimum": 0,
        "maximum": 50,
        "description": "Number of children"
      },
      "locale": {
        "type": "string"
      },
      "currency": {
        "type": "string"
      }
    }
  }
}