Automation · Customer service and scheduling
Reserve a vehicle over WhatsApp with HQ Rental
An AI agent verifies an existing customer, checks HQ Rental availability, and creates the WhatsApp booking only after explicit confirmation.
How do I reserve a vehicle over WhatsApp using live HQ Rental availability?
A Met connected to HQ Rental serves only an existing customer whose `category_id` and `customer_id` the operation knows, with a verified `vehicle_class_id`, class name, price, currency, brand, and locations. It opens the customer, checks whether HQ reports available cars for the dates and locations, and reads the real additional charges. The public availability contract defines no class or price fields, so it derives neither. It repeats the configured selection, dates, locations, extras, and customer and waits for explicit confirmation. Only then does it create the reservation with the local boolean guard `confirmar: true`, which Meteor consumes without sending it to HQ, and read back the result. A new customer is created in HQ Rental outside the connector. The flow does not charge, sign a contract, assign a plate, or change or cancel reservations.
What starts it
When the customer writes
It starts when an existing customer asks over WhatsApp for a vehicle at specific dates and locations. This is not a scheduled automation: the Met continues the conversation and creates nothing when the person is only asking, operating IDs are missing, or the recap is unconfirmed.
Nothing to set up. The Met assigned to that channel picks up the conversation and runs the procedure inside it.
Who runs it
Vehicle reservation Met
Customer service team
This is the Met already serving the operation's WhatsApp with HQ Rental connected. Its job is to turn a specific request into the same reservation the customer just confirmed, without inventing availability, a customer, class, price, currency, or internal identifiers.
Channels: WhatsApp
What you need connected
- HQ Rental Software Run stores and orders
5 steps · 5 tools
The procedure, step by step
Each step shows the tool that runs. They belong to the real connector: if one of them stopped existing, this page would not build.
- 1
Verify the customer and configured selection
Before quoting, the operation must have linked the conversation to an existing `category_id` and `customer_id`. The Met opens that record and checks that `contact.id` matches. It does not search by name, email, or phone and never uses those details as a customer-creation shortcut. If the record is missing, the team creates or updates the customer in HQ Rental and stops this conversation. It also checks the configured `vehicle_class_id`, class name, price, currency, `brand_id`, and locations for this flow.
- 2
Check availability for the dates and locations
The Met asks for complete pickup and return dates and times and uses the location IDs that the operation configured for this recipe. Times follow the tenant timezone rather than a guessed conversion from the server region. HQ documents that the endpoint returns a list of available cars but publishes no response body. The Met therefore uses only what HQ states literally and never extracts a class list, prices, or `vehicle_class_id` from it. If HQ reports no availability, the flow stops.
- 3
Read the extras that exist in the account
For the class the operation preselected, the Met queries the real additional-charge catalog and shows only what HQ Rental returns. It does not fill an insurance, GPS, or child-seat list from memory or claim a charge applies to those dates or class unless the response proves it. It keeps the exact ID and selected quantity in HQ's expected format.
- 4
Repeat the recap and wait for explicit confirmation
The Met repeats local dates and times, locations, class, price and currency verified by the operation, extras, and existing customer. It calls creation only after the person answers yes to that recap. Silence, a new question, or selecting an extra does not count. Only after that reply does it pass the local guard `confirmar: true` as a boolean. If it is missing, `false`, or a string, Meteor blocks creation before calling HQ Rental; the guard is not sent to HQ. It also sends the verified `customer_id`, `vehicle_class_id`, `brand_id`, locations, and charges; it never derives them from a name or an availability response with no published structure.
- 5
Verify the reservation saved by HQ Rental
When creation returns an ID, the Met opens that reservation and compares dates, locations, class, customer, and charges with the confirmed recap. Its reply uses the number and values returned by HQ Rental. If creation returns 422 for an account field or rule, the team fixes the customer or configuration inside HQ. After a timeout or ambiguous submission error, it does not repeat the mutation blindly because that could duplicate it; the team checks HQ Rental before deciding whether another attempt is appropriate.
Before you start
What you need ready
The Met solves none of these for you. If one is missing, the automation stops there.
-
Enabled HQ Rental API access
HQ Rental provides API access on Professional or Enterprise plans. An administrator enables Custom Integration and stores in Meteor the tenant token and user token used for Basic Auth.
-
The correct server region
Configure the base HQ Rental gives the account: america, america-3, america-west, america-miami, europe, or asia. Region selects the server, but it is not the currency or timezone; dates follow the tenant configuration.
-
The account's operating IDs
The operation defines the `brand_id` and location IDs. Creation supports custom locations, but `hq_search_availability` requires IDs, so this recipe is enabled only for preconfigured locations and reuses those exact IDs at confirmation.
-
An identified existing customer
The operation knows `category_id` and `customer_id`, and `hq_get_customer` must return that same `contact.id`. The connector does not create or update customers; a new or incomplete customer is recorded in HQ Rental before restarting the conversation.
-
A class and price preselected by the operation
Before enabling the recipe, the team verifies the `vehicle_class_id`, customer-facing name, applicable price, and currency in HQ Rental. The OTA search exposed by the connector does not publish a response structure that can discover them generically.
The limits
What this automation does NOT solve
Better said here than discovered halfway through the rollout.
-
It does not discover classes, prices, or `vehicle_class_id` from availability. The exposed endpoint's documentation promises a list of cars but publishes no response body.
-
It does not create or update customers. The flow continues only with an existing `customer_id` that the Met verified; any new record or correction is completed in HQ Rental.
-
It does not guarantee that the selection remains available until the end. The query is a snapshot, and HQ Rental can reject creation when availability or an account rule changes.
-
It promises no model, plate, or specific unit. The recipe confirms a preconfigured class and does not assign the actual vehicle inside HQ Rental.
-
It does not charge or generate a payment link. Although HQ Rental's API documents payment options, `hq_create_reservation` does not expose them in this connector.
-
It does not sign the rental agreement, upload a driver's license, or complete legal documents. Those steps remain in HQ Rental and the operation's pickup process.
-
It does not change or cancel a reservation after creation. The tools used here read and create; a later change is handled in HQ Rental by the responsible team.
-
It does not invent price, currency, timezone, customer, `brand_id`, location, class, or charge. Region only selects the server and cannot replace verified account data.
-
It does not automatically retry an ambiguous creation. The connector sends no idempotency key, so repeating the same POST after a timeout could leave two reservations.
FAQ
Questions about this automation
The OTA endpoint exposed by the connector promises available cars, but its documentation publishes no response body. The recipe assumes no fields and uses a class, price, and currency that the operation already verified in HQ Rental.
Not directly. The team first creates the customer in HQ Rental and obtains the `category_id` and `customer_id`. The Met verifies that record before continuing the reservation.
The configured region does not determine currency. The operation verifies the currency and price with the class before enabling the flow; the Met does not infer them from availability.
Not in this recipe. The connector creates the reservation with its charges, but it does not request a payment link or process a transaction. Collection continues in the operation's channel.
It does not automatically submit creation again. Because the tool has no idempotency key, the team first checks HQ Rental to see whether the reservation exists and avoid a duplicate.
Keep going
Other automations built on the same tools
Customer service and scheduling
Book optometry appointments over WhatsApp with Softix
How can patients book an optometry appointment over WhatsApp at the right location?
Customer service
- Starts:
- when the customer writes
- Steps:
- 6, with 7 real tools
- Needs:
- Softix
Customer service and scheduling
Book a Cal.com meeting on the right calendar
How do I make sure a meeting booked from chat lands on the right person's calendar?
Customer service
- Starts:
- when the customer writes
- Steps:
- 6, with 6 real tools
- Needs:
- Cal.com
Customer service and scheduling
Book, remind and reschedule appointments over WhatsApp
How do I let customers book over WhatsApp without double-booking anyone?
Customer service
- Starts:
- when the customer writes
- Steps:
- 5, with 10 real tools
- Needs:
- Meteor Scheduling · Meteor CRM
Customer service and scheduling
Answer "where is my order?" for Mercado Libre sales over WhatsApp
How do I answer the status of a Mercado Libre order without opening the seller panel?
Customer service
- Starts:
- when the customer writes
- Steps:
- 5, with 10 real tools
- Needs:
- Mercado Libre · Meteor CRM
Want this automation running on your own data?
We will show it to you with your accounts connected, not with a canned demo.