Skip to search

Legal

ONDC Buyer App disclosures

Last updated: 7 October 2026

RailRoute (ONDC subscriber ID railroute.in) is a Buyer App on the Open Network for Digital Commerce. As the ONDC Network Policy requires, this page says which search results from Seller Apps we show and how we order them. It applies to ONDC:TRV10 (cabs and autos), ONDC:TRV11 (metro and intracity bus), ONDC:TRV12 (intercity bus and flights) and ONDC:TRV13 (hotels and stays).

Important

RailRoute is an independent service. It is not affiliated with, endorsed by, or operated by Indian Railways, IRCTC, or any Government of India entity. Train names and station codes are used for identification only.

Book links hand you to an authorised seller (ConfirmTkt for trains, the airline's sellers for flights); fares here are estimates until that seller confirms them, and seat availability changes continuously.

1. Minimum standards for displaying search results

Published under the third proviso to Clause 2.3.3 (k), Chapter 2 Business Rules, ONDC Network Policy.

We do not exclude search results on the basis of seller performance, ratings, reviews, Buyer Finder Fee, commercial terms, or which Seller App sent them. A result is shown unless it fails one of these objective, technical criteria, each enforced automatically and identically for every Seller App:

  1. The response is authentic. Its Authorization header carries a valid Ed25519 signature over a BLAKE2b-512 digest of the body, verifiable against the sender's signing key in the ONDC registry, with status SUBSCRIBED and the key unexpired. A response that fails gets a NACK and nothing from it is shown.
  2. It belongs to the buyer's search. context.action is on_search; context.domain and context.version match the request (TRV10 2.1.0; TRV11 2.0.0 or 2.0.1; TRV12 2.0.0; TRV13 2.0.0 or 2.0.1); context.bap_id is railroute.in; context.transaction_id matches an open search.
  3. It arrives within the search window: the request's context.ttl, PT30S (30 seconds) from when the search is sent. Later responses get a timeout error and are not shown for that search.
  4. It can actually be ordered. Each item carries a provider.id and an item.id, without which no select call can be built. Items missing either are not shown; the seller's other items still are.
  5. It is not an error. An on_search carrying an error object counts as no results from that Seller App for that search.
  6. TRV11 only, inside a planned journey: a metro or bus fare shown on a journey leg must be a numeric INR price for a single-journey ticket, and the planner shows the lowest such fare across all Seller Apps. The full list of tickets stays available on the booking screen under criteria 1 to 5.
  7. TRV13 only: the stay is in the searched city. Where the Seller App sends the property's coordinates (location.gps), a stay farther than 60 km from the centre of the city searched, or, when stays are suggested for a train journey, farther than 50 km from the arrival station, is not shown for that search. Stays without coordinates are shown. The buyer is told how many results were hidden for this reason.

De-duplication: none. If the same seller or item reaches us through more than one Seller App, each copy is shown separately, labelled with the provider name that Seller App sent.

By category: criteria 1 to 5 are the same for every domain above; criterion 6 applies only to TRV11 fares inside the journey planner; criterion 7 only to TRV13 stays.

Performance windows and suspension: we do not currently measure seller performance or hide sellers on that basis. If we ever do, the threshold and its observation window will be published here as a new version before they apply.

Whitelisting: none. Any Seller App subscribed on the ONDC Network for the domain is eligible.

2. Sorting parameters and their relative importance

Published under the first proviso to Clause 2.3.3 (k), Chapter 2 Business Rules, ONDC Network Policy.

In descending order of priority. A lower parameter only decides between results the one above it ranks equal.

  1. Price, lowest first. The item's price as the Seller App sent it in on_search: item.price.value, or item.price.minimum_value where a range is sent, compared as a number in INR. RailRoute's App Convenience Fee is not part of the comparison. Items with no price come after every priced item.
  2. Order of arrival. Results at the same price keep the order their on_search responses reached railroute.in, and within one response the order of providers and items in the Seller App's catalogue.

Nothing else affects order. We do not rank by Buyer Finder Fee or any commercial term, paid or sponsored placement, the identity of the Seller App or seller, ratings, or the buyer's personal data. The same parameters, in the same order, apply to every domain above, TRV10 rides and TRV12 bus and flight included, with one exception: in the short list of stays suggested alongside a train journey (“Complete your trip”), stays are ordered first by straight-line distance from the arrival station (from the Seller App's location.gps; stays without coordinates last), then by price as above. The full hotel search keeps the price order.

In the journey planner the buyer chooses how whole journeys are ordered (for example fastest or cheapest), and a journey can combine an ONDC leg with other transport. An ONDC fare enters that ordering only as the journey's price; which Seller App supplied it plays no part.

3. Versions and changelog

The current version is listed first. Each entry links to the PDFs filed with ONDC for that version.

4. Feedback

These criteria will change as the network does, and feedback from Seller Apps and sellers is how they should change. Write to hello@railroute.in with the subject “ONDC disclosure”. Complaints go to our Grievance Redressal Officer, and we acknowledge them within 48 hours.

Questions? See the contact details.