Skip to main content

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. GNet Platform Diagram Notes:
  • 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 a token header obtained from getToken2.
  • 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.
  1. Visit and sign up: https://connect.grdd.net/sign-up
  2. The GNet team will review and approve your account
  3. 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/json
    • Authorization: basic authentication (api_key/api_secret)
  • Body: JSON reservation payload (see sample)

Success Response

Error Response

Answer with 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:
  1. If the sender put a value in account.accountNumber, that value is delivered to you.
  2. 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.
So, to receive trips from a partner: create a customer record for them in your reservation system, take the ID your system assigned, and enter it as that partner’s Account Number in Connect. Read 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 (including CONFIRMED, 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
For example, to accept a booking request:
For detailed documentation, see: Provider Update Status API and ( see other ASSIGNED payload example)
  • 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 contains reservationType that is set to “QUOTE”:
  • Return the same payload structure as the Farm In success response
  • Include totalAmount in 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
Where to register it: API Gateway accounts and reservation platforms enter it as the Callback URL under Platform Configuration in the Connect dashboard. It is a separate listener from your Farm In endpoint. Everyone else sends it to their GNet contact. Full payload reference: Webhook Callbacks.

Step 2: Get Token

Step 3: Send Reservation

Example curl:
Addresses are what most often fail certification on the send side: pass every address both as one full line and broken into street, city, state, zip, and country, and use IATA codes for airports. See Sending Reservations. If you send trips on behalf of your own clients — you are a broker, a travel-management company, or a travel platform — put the client’s account number in the provider’s system into 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

Include transactionId in payload and set affiliateReservation.action to “UPDATE”

Cancel Request

The call is synchronous: GNet delivers the 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 the gnettest 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 from gnettest. 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.json

Setup:

  1. Import the collection
  2. Set environment variables:
    • token
    • requesterId
    • providerId
  3. 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:
Example (assuming your Farm In endpoint is 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.