The problem
Radarodyssey runs transfers in the Algarve, from Faro airport. Bookings arrive by email and on operator portals, and Bruno copies each one into TransferGest. Since 1 June 2026 the bookings inbox received 3,555 emails. The company runs 40 to 60 services a day. "Perde-se muito tempo" (a lot of time is lost), Bruno said on the first call. "The idea is not to work less, it is to use the time for other things."
How we worked
In shadow mode the agent read everything for a week and sent one notice per booking, writing nothing. Bruno answered in the WhatsApp group, and each answer became a rule: the price without commission, the service type from the airport direction, vans to suppliers while the own van is off the road. Each new rule got a test case before it shipped.
The test against real history
We matched every service Bruno entered in TransferGest to the email it came from and compared field by field. Date correct on 515 of 515, time 509, passengers 507, service type 508, pickup zone 486, drop-off zone 490, price 441. In the final dry run, 8 days of real email went through the agent: it would have entered 41 services and held 1 for a person.
The driver schedule
We replayed 79 real days with 1,886 car services, deciding each service when it arrived. The agent broke no rest or day-off rule, against 294 cases in the hand-made plan. It sent 118 services to outside suppliers, against 178. The daily gap in hours between drivers fell from 701 to 391 minutes. On 2 days the hand-made plan drove fewer empty minutes.
What switches on 12 October
The agent enters services from email and the Connecto hub into TransferGest on its own. The driver stays a suggestion in the notice. Accepting on ZIP and Booking.com stays with Bruno until the acceptance tests pass. There is a rollback: one switch turns writes off and the notices keep running.
Time saved
510 h
Method published on the site: 3 min per offer decided + 10 min per service entered = 13 min per service. 2,353 services in TransferGest from 13/07 to 06/12/2026 x 13 min = 30,589 min = 510 h. At the company's stated pace of 40 to 60 services a day: 520 to 780 min, or 8.7 to 13 h a day. This is a projection: writes to TransferGest switch on 12/10, and in the first phase Bruno still accepts Booking.com and ZIP himself.
What we built
| System | What it does |
|---|---|
| Email and portal reader | Reads the bookings inbox and the ZIP, City Airport Taxis, Connecto and Booking.com portals. A first filter decides whether each email is a service, and drops one only when it can quote the sentence that justifies it. |
| Extraction with citations | Date, time, passengers, flight, zones and price come out of the text with the source sentence. A field without a quote goes to a person. |
| TransferGest writer | Enters new services through the API, with the same operator code on the outbound and the return, and links the return to the outbound. Off until 12 October. |
| Driver list reader | Reads Bruno's shared sheet every 10 minutes and replies with an "Escala recebida" email. |
| Driver allocation | OR-Tools optimizer with Bruno's rules: 6 working days and 1 off, 8 h rest, no overlaps. Then the fewest services sent to suppliers, more back-to-back jobs and balanced hours. Each day solves in under 1 s. |
| Minimum price per km | One minimum per km for vans and one for cars, set by Bruno. Below that, the agent asks before it accepts. |
| Configuration console | Each change has a preview, a confirmation and a record of who changed what. The write switches cannot be changed from the console. |
| Dashboard and chat | Dashboard with the day, drivers, rules, operators and emails, and a chat that proposes changes and applies them only after a click. |
| Notices | One email per booking with the service as it would enter TransferGest and the suggested driver. |
| Evals | 61 real email cases, 533 real services field by field, 79 days of schedules, 217 real accept-or-decline offers, 45 chat cases. |
Timeline
- 2026-09-23
First call with Bruno and Gustavo Neto (CEO), referred by TransferGest.
- 2026-09-24
TransferGest posts the API integration terms in the project group.
- 2026-09-28
Contract sent. Signed digitally on 1 October.
- 2026-10-02
The agent starts in shadow mode: it reads the bookings inbox, the Connecto hub and the City Airport Taxis portal. It writes nothing.
- 2026-10-04
Each booking produces a notice in Portuguese showing how it would enter TransferGest.
- 2026-10-05
Field-by-field test against real history. Bruno's rules go into the agent. The TransferGest writer is built and left off.
- 2026-10-06
The agent reads the driver list from a shared sheet and applies the 6-on-1-off week and 8 h rest.
- 2026-10-07
Optimized schedule tested on 79 days. Final dry run on 8 days of real email. Configuration console delivered.
- 2026-10-08
Bruno sets the minimum price per km for vans and cars. Dashboard live.
- 2026-10-12
Date Bruno set to switch on writes to TransferGest.





