Skip to main content
Every integration is certified with a short, scripted exchange of real test trips before it goes live — there is no sandbox on GNet, so the trips are real GNet messages sent from GNet’s gnettest account and cancelled afterwards. Certification usually completes within a day, and go-live follows immediately: there is no separate launch step. Farm In (receiving) and Farm Out (sending) are certified separately. They do not share events, so you can certify and go live with one, run it with real partners for as long as you like, and add the other later. Members who plan to do both usually find it easiest to finish both while the same engineers are engaged.
Expect small tweaks after go-live. Partners send addresses, notes, and passenger details in every format imaginable; GNet catches the ones that break and you will adjust for a few of them. That is normal and does not affect certification.

Farm In certification

GNet sends a handful of test reservations to your endpoint and then walks them through the exchanges below. You process them, we compare notes on what each side recorded, and if they match you are certified.
1

Receive the trips

Several NEW reservations arrive at your endpoint. Each must be created in your system with the details intact — addresses, pickup times, passengers, vehicle type — and answered with success: true and your reservation number. You then confirm each one through providerUpdateStatusByResNo.
2

Status updates

On the same reservations, you send the dispatch lifecycle back: CONFIRMED, ASSIGNED, EN_ROUTE, ON_LOCATION, PASSENGER_ON_BOARD, COMPLETE, and CLOSE with the final charges. GNet checks that every status arrives, is one of the documented codes, and carries driver, vehicle, and fee detail where your system has it.
3

Cancels — both ways

GNet cancels one of the confirmed trips. Your endpoint receives action = "CANCEL" and must answer explicitly: success: true once the trip is cancelled in your dispatch, or success: false with a message if it cannot be. Both answers pass; a cancel that is acknowledged but not acted on, or acted on but not acknowledged, does not. This is the check GNet weights most heavily — a missed cancel sends a driver to a passenger who is not coming. See Cancellations and rejections.
4

Bad reservations

GNet sends reservations your system should refuse: one with a pickup time already in the past, and one asking for a vehicle type you do not offer. The pass is a clean rejection — success: false with a message that says why, or a REJECT status afterwards. Accepting either one is the failure, because it means a bad trip would sit on a dispatcher’s board.
5

Account number

On each trip, account.accountNumber must land on the right customer record in your system. For the test partner that is the Account Number you set for gnettest under Partners in Connect. See Account number: who the trip is for — treating this field as the sender’s GNet ID is the most common thing certification sends people back to fix.

Rehearse it yourself first

If you have an API Gateway account or connect as a reservation platform, the GNet Robot in the Connect dashboard runs the same exchanges on demand, and shows you the exact status call it is waiting for at each step. Its test cases map onto the list above: A run that ends with your system holding a live reservation (a cancel your system refused, or one that never reached it) says so in red, with the reservation and transaction IDs, so you can cancel it by hand.

Farm Out certification

You send test reservations to a GNet test provider; GNet checks how they were formatted and then changes their statuses so you can confirm the changes reach your webhook.
1

Callback webhook registered

Your listener must be registered before the first trip is sent — it is where every status change, driver assignment, rejection, and cancellation for trips you farm out comes back. See Webhook Callbacks.
2

Addresses

The part of Farm Out certification that most often fails. Every address must be sent both as one full line and broken into street, city, state, zip, and country; airports must use IATA codes with airline code and flight number. See Sending Reservations.
3

Status changes reach you

GNet moves the test trips through the lifecycle from the provider side. Each change must arrive at your webhook and be reflected on the trip in your system, including driver and vehicle detail and the closing charges.
4

Cancel handshake

You cancel a test trip with cancelTripByTransactionId and handle both answers: OK (the provider accepted) and the provider’s error text (they refused — the trip is still live and needs follow-up).
5

Account number

If you send trips on behalf of your own clients — you are a broker, a travel-management company, or a travel platform — account.accountNumber must carry the client’s account number in the provider’s system, agreed with that provider, so they know who the trip is for.

After certification

Results and any follow-ups are shared by email with everyone on the integration thread. Go-live is immediate once both sides agree the trips match. A joint announcement, if wanted, comes after the integration is complete in both directions and is never a blocker.

Contact Support

To schedule certification, or if a check does not pass and you want to talk it through.