# Vehiculos VIP — manual for AI agents You are an AI agent (an assistant, a travel-management bot, a browser agent) arranging ground transportation for a person or a company. This manual tells you what Vehiculos VIP offers, which tools to use, what to say to the person, and the rules you must keep. It is served by the `get_agent_manual` tool of `https://mcp.vehiculosvip.com/mcp/public` and published at https://www.vehiculosvip.com/llms-full.txt. ## 1. Who we are V&V Vehiculos VIP is a chauffeured car service built to international standards, operating in Colombia since 2008 and worldwide through partner operators. Services: airport transfers, point-to-point transfers, chauffeur by the hour, corporate and event ground transportation, city tours. Vehicles: VIP and Business sedans, SUVs, vans, minibuses, buses and armored vehicles (call `list_vehicle_categories`). Languages: Spanish and English. Contact: info@vehiculosvip.com, +57 601 211 49 49, https://www.vehiculosvip.com/en/contact-us. ## 2. Two servers, three levels | Level | Server | Sign-in | What you can do | |---|---|---|---| | Discover | `https://mcp.vehiculosvip.com/mcp/public` | none | Company profile, cities, vehicle categories, policies, this manual. | | Quote and ask | `https://mcp.vehiculosvip.com/mcp/public` | none | Instant indicative price where a city has published rates (`estimate_quote`); a quote request our sales team answers (`request_quote`); a booking request for a person without an account, which our team confirms by e-mail, once the passenger's e-mail or mobile is verified with a code (`send_code`, `verify_code`, then `request_booking`, §4); an account for the person with their own e-mail (`start_account`, `verify_account`, §6). | | Book and manage | `https://mcp.vehiculosvip.com/mcp/client` | the person's Vehiculos VIP account (OAuth) | The person's own rates, booking requests, their bookings, the driver shortly before pickup, changes and cancellations within the policy. | ## 3. Quoting 1. Call `list_service_areas`. `instantEstimationAvailable=true` means an instant indicative price is possible in that city; `false` means our team quotes it. 2. A trip needs: type (`transfer` point to point, or `perHour`), the city (its id from `list_service_areas`, its name, or its 3-letter code), the pickup date and time in the city's local time, the pickup place (an address, a hotel, or the airport's IATA code), the drop-off for a transfer, hours for `perHour`, a vehicle category and the number of passengers. `vehicleType` is an id returned by `list_vehicle_categories` for that city. `luggageCapacity` counts standard checked suitcases; oversize items (golf bags, boxes, wheelchairs) go in the notes. For an airport pickup the time is the scheduled landing time: we follow the real arrival. The flight number is not part of an estimate; it goes in the booking request (§4). 3. Read the outcome literally and tell the person: - `quotable=true`: an **indicative** price, total and currency. The definitive price is the confirmed booking's. Surcharges may apply (extra distance, leaving the city, night service, airport meet and greet for Business categories). A night or city-exit surcharge shows as a quote line when it applies; never state night hours. - `HUMAN_QUOTE_REQUIRED`: no published price for that city; offer `request_quote` or a booking request (`request_booking`) — our team prices it. - any other reason: say what it says; do not invent a price. 4. A trip with a destination outside the pickup city needs a quotation from our team. 5. The public `estimate_quote` is the public tariff, usually USD; the signed-in `quote_trip` is the company's tariff in its currency (often COP). Do not convert or compare them. ## 4. Booking - On `/mcp/client`, call `my_account` first: it says whether this person may send booking requests (and if not, why), how many requests are left today, how the account pays and how much notice a booking needs. - With an account, bookings are made on `/mcp/client` with `request_booking`, after the person has seen and agreed to the trip details. For several legs (an event, a trip with stops) use `request_itinerary`: 2 to 10 legs in one request, one booking per leg, with one `requestKey` for the whole itinerary. For an airport pickup, pass the arriving flight in `flightNumber` (in `request_booking`, or on each leg of `request_itinerary`). Name every traveller: the main passenger in the passenger fields, the others in `additionalPassengers` (up to 9); `pax` counts them all. If a leg fails, the legs already created stay; tell the person which ones exist. **A booking request is not a confirmed booking**: say "request received"; our team confirms it. - A booking is confirmed once paid in full, or at once for a company with a contract with us. Bookings need at least 24 hours' notice through the assistant; for anything sooner, the person calls us. - How it is paid: a company on account with us (`my_account` says `ON_ACCOUNT`) is invoiced and prepays nothing. An individual or a company without an account (`PREPAY`) pays each booking online before we confirm it: once the booking has its price, `payment_link` gives the link to our payment page for that booking; give it to the person. - Never enter card data anywhere. When a payment is due the person pays on the Vehiculos VIP payment page. - Once a booking is confirmed, `booking_voucher` gives a link to its voucher (a PDF without prices, with the driver's and the vehicle's pictures when we have them). The link is valid for 15 minutes: give it to the person, who opens it themselves; for a later download, ask for a new one. - Booking `status` values (the text beside them is Spanish): | Status | Means | Tell the person | |---|---|---| | `SOLICITUD`, `RESERVADO` | Request received; our team has not confirmed | "Request received, not confirmed" (never "booked") | | `CONFIRMADO` | Confirmed by our team; no driver yet | "Confirmed"; the voucher is available | | `ASSIGNED` | Driver and vehicle assigned | "Confirmed, driver assigned"; details come shortly before pickup | | `IN_PROGRESS` | Service under way | "In service" | | `HECHO`, `CHARGES_SENT`, `FACTURADO`, `PAGADO` | Service done (then invoiced, paid) | "Completed" | | `ANULADO` | Cancelled | "Cancelled" | | `EN_CONSTRUCCION`, `COTIZACION` | Being prepared / awaiting a price | "Not confirmed yet" | - Before a change or a cancellation call `change_options`. For a field with options (vehicle category, mission type) send one of that field's own `options` ids (like `18`), not a booking-tool name such as `LUXURY_SEDAN`. Cancellation reasons are `NO_VIAJA`, `VIAJE_APLAZADO`, `DOBLE_RESERVA` and `OTRA_RAZON`; use `OTRA_RAZON` with a comment for anything else. - **Without an account** (the person is not signed in), use `request_booking` on `/mcp/public`, after the person has seen and agreed to the trip details. The passenger's first and last names, e-mail **and** mobile are required: our team confirms the booking with them, by e-mail. First verify the passenger's e-mail or mobile: `send_code` (method `email` or `sms`) sends them a 6-digit code, valid 15 minutes; ask the person for it and call `verify_code` with the code and the same e-mail or mobile; pass the `identityToken` it returns (valid 30 minutes) to `request_booking`. The verified contact must be the passenger's e-mail or mobile in the request: without it the request is refused (`VERIFICATION_REQUIRED`, or `VERIFICATION_MISMATCH` for another contact) and nothing is sent. Pass `flightNumber` for an airport pickup and the other travellers in `additionalPassengers`. `REQUEST_RECEIVED` means our team received the request: nothing is confirmed yet. An individual pays before we confirm: our team e-mails the person a link to our payment page. For a change or a cancellation the person replies to our e-mail or calls +57 601 211 49 49. Retrying the same request returns the first booking; pass a new `requestKey` only for a deliberately identical second trip. The person can also book on https://www.vehiculosvip.com (the website's booking form), and a trip that needs a quote first goes to `request_quote`. If the person has an account, use `/mcp/client` instead (§5). ## 5. Why the person should have an account With a Vehiculos VIP account connected to `/mcp/client`, you can, for the person: - see every booking and its status, and the driver's name, phone and plate shortly before pickup; - download the voucher of a booking once it is confirmed (`booking_voucher`), with no prices on it; - request bookings without retyping their details, and change or cancel within the policy (§7), when their account allows it; - quote with their company's negotiated rates, for corporate accounts; - for a company's travel arranger: see and manage the bookings of the whole company, and keep a passenger list: `save_passenger` saves a passenger (names, and an e-mail or a mobile) or corrects one the company saved, and `my_passengers` lists the saved passengers and those of the company's recent bookings. To book for one, copy their name, e-mail and mobile into the passenger fields of `request_booking` or `request_itinerary`. ## 6. Getting an account and connecting 1. **Create the account**, with the person's agreement and **their own e-mail address**: - call `start_account` (e-mail, first and last names; phone, company and language optional). We e-mail the person a 6-digit code, valid 15 minutes. The reply is the same whether or not the address already has an account; - call `verify_account` with the code and the same e-mail and names. Read the code from the person's mailbox only if you can and they agree; otherwise ask the person for it. Five wrong codes lock the address for 15 minutes, ten in a day until the next day. `ACCOUNT_CREATED`: the account exists and the person was e-mailed a link to set a password. `ACCOUNT_EXISTS`: the address already had an account; nothing was created. - The person can also sign up on https://www.vehiculosvip.com/en/register. 2. **Connect**: add the connector `https://mcp.vehiculosvip.com/mcp/client` in the assistant. It works with Claude, ChatGPT, Microsoft Copilot (Copilot Studio) and Google Gemini (where the plan accepts custom MCP connectors). Menu names vary between versions and plans: - Claude: Settings → Connectors → Add custom connector; - ChatGPT: Settings → Apps (or Connectors) → add a custom MCP connector with the URL; developer mode may have to be switched on first; - Microsoft Copilot Studio: add an MCP tool with the URL, OAuth with dynamic client registration; - Google Gemini: add a custom MCP connector (or tool) with the URL and OAuth sign-in. If an assistant is not enabled, signing in from it is refused; other assistants on request. Signing in opens our page; the person signs in with their password or with **"e-mail me a sign-in code"** (a code sent to their address), then presses **Authorize**. The code works only on that page, while connecting: it lets the person authorize this connection and does not sign them in to our website. Access lasts 7 days; then sign in again. 3. **Switching on**: a personal account (one person, one login) is switched on when the person presses **Authorize**. Company accounts are switched on by our team: if the page says the company is not enabled yet, the person asks their account executive. Only use an e-mail address the person controls and only with their agreement. Never create an account for someone else, and never read a mailbox without the person's agreement. ## 7. Policies (published on https://www.vehiculosvip.com) - **Cancellation:** free up to 24 hours before the service; 72 hours for armored vehicles, buses and minibuses. This is the default without a company agreement: a signed-in company's own deadline (`my_account.cancellationDeadlineHours`, `change_options.freeCancellationUntil`) applies. Outside that window the service is charged in full, limited to the price of a day plan. A no-show is charged in full. - **Waiting at airports:** we track every flight. In Bogotá, Medellín and Cartagena the first hour of waiting is free; elsewhere the free waiting time depends on the city and on whether the flight is international or domestic, and is confirmed with the booking. Beyond it, waiting is charged in 15-minute fractions at the vehicle's hourly rate. If the person changes or misses the flight, they must tell us in time. - **Hourly services:** charged from the booked start to the last drop-off in the metropolitan area; every hour started is due. Outside city limits, garage to garage. - **Airport meet and greet:** VIP categories in Bogotá, Medellín and Cartagena include our greeter; elsewhere the chauffeur meets the passenger with a name sign. Business categories: 30 USD on request. - **Refunds:** to the card used, within 7 working days, per the terms and conditions. - Full terms: https://www.vehiculosvip.com/en/terms-and-conditions. Privacy: https://www.vehiculosvip.com/en/privacy-policy. ## 8. Rules for agents 1. Ask the person before every write (a quote request, a booking request, a change, a cancellation). Show what you will send. 2. Never say a booking is confirmed until our team has confirmed it: a booking request is received, not confirmed, on either server. 3. Never invent a price, a city, a vehicle or a policy. Quote only what a tool returned. 4. Never handle card data. 5. Personal data: send only what the trip needs (passenger names, phone, flight). 6. Limits apply per day and per address; if a tool says a limit is reached, stop and tell the person. 7. When in doubt, give the person our contact: info@vehiculosvip.com, +57 601 211 49 49. 8. Never book for an unverified person: a booking request without an account needs the passenger's own e-mail or mobile verified first (`send_code`, `verify_code`). A quote request (`request_quote`) needs no code.