Overview
The GNet platform is an integration platform that connects ground transportation companies, dispatch/reservation systems, and other custom integrations. Members of GNet can send (farm-out) and/or receive (farm-in) reservations. In this process, the sending party (also known as the requester) and the receiving party (the provider) are key players in ensuring smooth reservation transactions.- The requester and provider should establish a partnership in GNet Connect before conducting business with each other to ensure proper integration and service delivery.
- Farm In and Farm Out are separate integrations. They do not share events, they are certified separately, and each can go live on its own. Many members ship Farm In first, run it with real partners for a while, and add Farm Out later.
- For all API calls, you need to get the token using your API Gateway user.
- Visit our YouTube playlist for detailed integration tutorials and walkthroughs.
- For API reference: GNet Platform API.
- For legacy Apiary reference: GNet API on Apiary
Interactive Setup Wizard
Prefer a guided experience? Try our interactive step-by-step wizard to see exactly how to connect to the GNet platform quickly and easily.
Authentication
- Platform API requests (e.g.,
sendTrip,providerUpdateStatusByResNo) require atokenheader obtained fromgetToken2. - Your inbound Farm In endpoint should be protected (e.g., Basic Authentication using your issued API key/secret) and must accept JSON.
Sign Up to GNet
If you haven’t already, please complete the Sign Up page.- Visit and sign up: https://connect.grdd.net/sign-up
- The GNet team will review and approve your account
- API credentials will be provided upon approval
Farm In (Receiving Reservations)
Please ask your technical team to create a webservice REST Endpoint (i.e. https://api.example.com/api/gnet-farmin) to accept POST requests with the following specifications. One endpoint receives every action —NEW, UPDATE, and CANCEL — see Receiving Reservations for how to tell them apart and how to answer each.
Where to register the endpoint: if you integrate directly against the GNet API (an API Gateway account, or a reservation platform connecting on behalf of its operators), enter it yourself as the API Endpoint URL under Platform Configuration in the Connect dashboard. Otherwise send it to your GNet contact and the GNet team will configure it for you.
Request Format
- Method: POST
- Headers:
content-type: application/jsonAuthorization: basic authentication (api_key/api_secret)
- Body: JSON reservation payload (see sample)
Success Response
Error Response
success: false whenever your system cannot take the trip as sent — a pickup time in the past, a vehicle type you do not offer, an address you cannot resolve. Put the reason in message: it is stored on the transaction and relayed to the sender, so a specific message (“Vehicle type COACH is not offered”) saves a phone call. Certification deliberately sends you reservations like these to confirm your side refuses them cleanly rather than accepting them.
Account number: who the trip is for
account.accountNumber in the payload is the customer ID, in your system, of whoever the trip is for. It is not the sender’s GNet ID — that is affiliateReservation.requesterId.
Most senders are transportation companies and the two coincide: the partner sending you the trip is the customer you bill. But brokers, travel-management companies, and travel-technology platforms also send trips over GNet on behalf of their corporate clients. When they do, they put that client’s account number in your system into account.accountNumber, so your dispatchers see “this trip is for IBM” rather than “this trip is from a broker”.
How the value is resolved:
- If the sender put a value in
account.accountNumber, that value is delivered to you. - Otherwise GNet fills it from your partner record for the sender — the Account Number field (“pink field”) you set for each partner under Partners in the Connect dashboard.
account.accountNumber off every incoming trip to attach it to the right customer. See Receiving Reservations for the full rules.
Reservation Status Updates
Send reservation updates such as confirmations and status changes (includingCONFIRMED, ASSIGNED, EN_ROUTE, ON_LOCATION) to this endpoint:
Endpoint: https://api.grdd.net/Platform.svc/providerUpdateStatusByResNo/{GRIDDID}/{RESNO}/{VERSION}
Headers:
token: <from getToken2>Content-Type: application/json
- To see a list of all supported status codes, see Status Codes
- To see a list of all supported vehicle types, see Vehicle Types
GPS Location Updates
Update current location of drivers using this API: Endpoint:POST https://location.grdd.net/api/GGPS.svc/saveGPScache
Headers:
token: <from getToken2>Content-Type: application/json
Sample Payload
Quote Requests
If the payload containsreservationType that is set to “QUOTE”:
- Return the same payload structure as the Farm In success response
- Include
totalAmountin the response - You don’t need to create a reservation record in your database for quotes
Farm Out (Sending Reservations)
Step 1: Register Your Callback Webhook
Do this before you send your first trip. Every change the provider makes to a trip you sent — acceptance, driver and vehicle assignment, en route, on location, completion, closing charges, a rejection or a cancellation — comes back to you only through this webhook. Without it a trip you farm out is a one-way message. Your listener should:- Accept POST requests
- Return a 200 status code
- Process reservation updates — a sample payload shows what arrives
Step 2: Get Token
Step 3: Send Reservation
account.accountNumber so the provider knows who the trip is for. See Account number: who the trip is for.
Step 4: Send Booking Updates or Cancel Requests
Updates
IncludetransactionId in payload and set affiliateReservation.action to “UPDATE”
Cancel Request
CANCEL to the provider’s system and answers OK when it accepted, or the provider’s own error text when it refused. Treat anything other than OK as not cancelled — the provider still has the trip — and follow up. A cancel that one side believes happened and the other never received is the costliest failure on the network: a driver is dispatched to a passenger who is not coming.
For detailed documentation, see: Cancel Trip API
Testing
GNet Robot (Connect dashboard)
If you have an API Gateway account or connect as a reservation platform, the fastest way to test Farm In is the GNet Robot under Integration Robot in the Connect dashboard. It sends a real test reservation from thegnettest account to your endpoint and follows it while you drive it through confirm, dispatch, en route, on location, passenger on board, drop-off, and close — showing you the exact providerUpdateStatusByResNo call it is waiting for at each step. Its test cases cover the same ground as certification: the full lifecycle, a cancel after you confirm (it records whether your system accepted or rejected the CANCEL), a pickup change after you confirm, and two reservations your system is expected to refuse — a pickup in the past and a vehicle type you do not offer.
The reservations are real GNet messages (there is no sandbox), so the robot cancels whatever it sends when a run ends.
Sending a real trip from Connect
The robot sends fromgnettest. To see a trip arrive from a real partner account — the path your customers will actually use — book one with gBook in the Connect dashboard, from an account that is partnered with you and has its account number set on your side. The steps, what your endpoint receives, and how to run an update and a cancel against the trip are on Sending a Trip from Connect. Its Show JSON button renders the exact payload GNet will deliver without sending it.
The legacy GBOOK utility remains at gnet.grdd.net/gbook with credentials issued by GNet; new testing should use Connect.
POSTMAN Collection
Download the complete collection: GNET.postman_collection.jsonSetup:
- Import the collection
- Set environment variables:
tokenrequesterIdproviderId
- Use the “Get Token” request first to obtain authentication token
Certification
Before going live, GNet certifies each direction with a short, scripted exchange of real test trips — usually within a day. What is checked, and in what order, is on the Certification page. Farm In and Farm Out are certified separately.Health Check
We use the Farm In Adapter GET endpoint for health checks. Expected Response:- Status code: 200
- Body:
https://api.example.com/api/gnet-farmin):
Need Help?
Contact Support
Our support team is here to help you with integration questions and troubleshooting.
API Documentation
Complete API reference and detailed endpoint documentation.