RTC Bus API Implementation Guide
This document provides RTC-specific implementation information for API partners. The blockTicket response is the same for both private bus operators and RTCs. However, RTC integrations may have additional operator-specific requirements that need to be considered during implementation and testing.
Guide Purpose
The purpose of this guide is to help API partners understand and implement RTC-specific requirements. It covers the available RTCs and their routes for testing, RTC-specific fare parameters, custom email and ticket templates, real-time cancellation handling, and other operator-specific configurations.
ASTC (Assam State Transport Corporation)
| Operator ID | 16081 |
|---|---|
| Test Route | Guwahati to Tezpur or Guwahati to Bilasipara |
| Cancellation Flow | As per cancellation policy |
| Fare update after BlockTicket | No |
| Mail Template | Your Default template |
Sample response :
{
"apiStatus": {
"message": "SUCCESS",
"success": true
},
"inventoryType": 1,
"blockTicketKey": "wbXgNrpVra",
"updatedFareBreakup": {
"previousTotalFareWithTaxes": 315.05,
"updatedTotalFareWithTaxes": 315.05,
"updatedTotalOperatorServiceCharge": 2.15,
"updatedTotalServiceTax": 14.90,
"seatFareBreakUp": null
}
}
KAAC (Karbi Anglong Autonomous Council)
| Operator ID | 25187 |
|---|---|
| Test Route | Guwahati to Langhin (Assam) or Diphu to Guwahati |
| Cancellation Flow | As per cancellation policy |
| Fare update after BlockTicket | No |
| Mail Template | Your Default template |
Sample response :
{
"apiStatus": {
"message": "SUCCESS",
"success": true
},
"inventoryType": 1,
"blockTicketKey": "wbXgNrpVra",
"updatedFareBreakup": {
"previousTotalFareWithTaxes": 315.05,
"updatedTotalFareWithTaxes": 315.05,
"updatedTotalOperatorServiceCharge": 2.15,
"updatedTotalServiceTax": 14.90,
"seatFareBreakUp": null
}
}
KTCL (Kadamba Transport Corporation Limited)
| Operator ID | 7115 | Test Route | goa to pune or mumbai to goa |
|---|---|
| Cancellation Flow | As per cancellation policy |
| Fare update after BlockTicket | No |
| Mail Template | Your Default template |
Sample response :
{
"apiStatus": {
"message": "SUCCESS",
"success": true
},
"inventoryType": 1,
"blockTicketKey": "kNivfiLjiH",
"updatedFareBreakup": {
"previousTotalFareWithTaxes": 1575,
"updatedTotalFareWithTaxes": 1575.00,
"updatedTotalOperatorServiceCharge": 0.00,
"updatedTotalServiceTax": 75.00,
"seatFareBreakUp": null
}
}
BSRTC (Bihar State Road Transport Corporation)
| Operator ID | 17889 |
|---|---|
| Test Route | Patna (Bihar)-Bettiah or Panta (Bihar)-Raxaul |
| Cancellation Flow | As per cancellation policy |
| Fare update after BlockTicket | No |
| Mail Template | Your Default template |
Sample response :
{
"apiStatus": {
"message": "SUCCESS",
"success": true
},
"inventoryType": 1,
"blockTicketKey": "NuHNiTi7V6",
"updatedFareBreakup": {
"previousTotalFareWithTaxes": 367.5,
"updatedTotalFareWithTaxes": 367.50,
"updatedTotalOperatorServiceCharge": 0.00,
"updatedTotalServiceTax": 17.50,
"seatFareBreakUp": null
}
}
MTC (Meghalaya Transport Corporation)
| Operator ID | 26936 |
|---|---|
| Test Route | Tura (Meghalaya) to Shillong or Shillong-Guwahati |
| Cancellation Flow | As per cancellation policy |
| Mail Template | Default template |
| Fare update after BlockTicket | No |
Sample response :
{
"apiStatus": {
"message": "SUCCESS",
"success": true
},
"inventoryType": 1,
"blockTicketKey": "uhdsRx5LRI",
"updatedFareBreakup": {
"previousTotalFareWithTaxes": 220,
"updatedTotalFareWithTaxes": 220.00,
"updatedTotalOperatorServiceCharge": 10.00,
"updatedTotalServiceTax": 10.00,
"seatFareBreakUp": null
}
}
UPSRTC (Uttar Pradesh State Road Transport Corporation)
| Operator ID | 25946 |
|---|---|
| Test Route | Lucknow to Kanpur or Delhi to Moradabad |
| Cancellation Flow | Realtime cancellation flow-Cancellation is not based on the cancellation policy provided by the operator. The cancellation details, including the applicable refund amount, are dynamically determined by the bus operator at the time of cancellation. |
| Mail Template | RTC template |
| Fare update after BlockTicket | Yes |
UPSRTC Logo
UPSRTC Ticket Template
The following is the UPSRTC e-Reservation ticket template used for the operator.
View UPSRTC Ticket Template PDFFare Type
The response includes fare type such as:
BASIC_FARECONVENIENCE_FEESERVICE_TAX
Sample response :
{
"apiStatus": {
"message": "SUCCESS",
"success": true
},
"inventoryType": 1,
"blockTicketKey": "50y0L9ffjZ",
"updatedFareBreakup": {
"previousTotalFareWithTaxes": 474.60,
"updatedTotalFareWithTaxes": 519.80,
"updatedTotalOperatorServiceCharge": 45.20,
"updatedTotalServiceTax": 22.60,
"seatFareBreakUp": {
"4": [
{
"fareType": "BASIC_FARE",
"cancellationType": "CANCELLATION_POLICY",
"amount": 452.00,
"refundableAmount": 452,
"discountType": "NON_DISCOUNT"
},
{
"fareType": "CONVENIENCE_FEE",
"cancellationType": "NOT_REFUNDED",
"amount": 45.20,
"refundableAmount": 0.0,
"discountType": "NON_DISCOUNT"
},
{
"fareType": "SERVICE_TAX",
"cancellationType": "FULLY_REFUNDED",
"amount": 22.60,
"refundableAmount": 22.60,
"discountType": "NON_DISCOUNT"
},
{
"fareType": "TOTAL_FARE",
"cancellationType": "CANCELLATION_POLICY",
"amount": 519.80,
"refundableAmount": 474.60,
"discountType": "NON_DISCOUNT"
}
]
}
}
}
SNT (Sikkim Nationalised Transport)
| Operator ID | 29479 |
|---|---|
| Test Route | siliguri to gangtok or Siliguri to Rangpo |
| Cancellation Flow | As per cancellation policy |
| Mail Template | Your Default template |
| Fare update after BlockTicket | No |
| UI(Display) Parameters | show Convenience Fee separately |
Sample response
{
"apiStatus": {
"message": "SUCCESS",
"success": true
},
"inventoryType": 1,
"blockTicketKey": "WCMk0wZjCG",
"updatedFareBreakup": {
"previousTotalFareWithTaxes": 264,
"updatedTotalFareWithTaxes": 264.00,
"updatedTotalOperatorServiceCharge": 12.00,
"updatedTotalServiceTax": 12.00,
"seatFareBreakUp": null
}
}
CTU (Chandigarh Transport Undertaking)
| Operator ID | 27455 |
|---|---|
| Test Route | chandigarh-delhi or Pathankot-Chandigarh |
| Cancellation Flow | As per cancellation policy |
| Mail Template | RTC template |
| Fare update after BlockTicket | Yes |
| UI(Display) Parameters | should show concession |
CTU Logo
CTC Ticket Template
The following is the UPSRTC e-Reservation ticket template used for the operator.
View CTC Ticket Template PDFConcession Handling
- User enters passenger details, including age.
- If the passenger is 60+ years, send the srCitizen card number in the blockTicket request.
- If the passenger is 6-12 years, send only the age.
- The blockTicket API itself calculates the concession and returns the updated fare.
- Pass age and srCitizen (for senior citizens) in the blockTicket request.
- Read updatedFare and boConcessionAmount from the blockTicket response.
- Continue with bookTicket().
Sample response
{
"apiStatus": {
"message": "SUCCESS",
"success": true
},
"inventoryType": 1,
"blockTicketKey": "wJO7CYNqUP",
"updatedFareBreakup": {
"previousTotalFareWithTaxes": 496,
"updatedTotalFareWithTaxes": 496.00,
"updatedTotalOperatorServiceCharge": 0.00,
"updatedTotalServiceTax": 23.62,
"seatFareBreakUp": null
}
}
HRTC (Himachal Road Transport Corporation)
| Operator ID | 16227 |
|---|---|
| Test Route | Shimla -delhi Chandigarh â Delhi |
| Cancellation Flow | Realtime cancellation flow-Cancellation is not based on the cancellation policy provided by the operator. The cancellation details, including the applicable refund amount, are dynamically determined by the bus operator at the time of cancellation. |
| Mail Template | Your Default template |
| Fare update after BlockTicket | Yes |
Total Fare
Total Fare = BASIC_FARE + LEVIES_CHARGES + TOLL_FEE + SERVICE_FEE + RESERVATION_FEE + SERVICE_TAX + ...
{
"apiStatus": {
"message": "SUCCESS",
"success": true
},
"inventoryType": 1,
"blockTicketKey": "vvjMSBf6Zo",
"updatedFareBreakup": {
"previousTotalFareWithTaxes": 299.25,
"updatedTotalFareWithTaxes": 336.00,
"updatedTotalOperatorServiceCharge": 35,
"updatedTotalServiceTax": 16.00,
"seatFareBreakUp": {
"35": [
{
"fareType": "BASIC_FARE",
"cancellationType": "CANCELLATION_POLICY",
"amount": 285.00,
"refundableAmount": 285.0,
"discountType": "NON_DISCOUNT"
},
{
"fareType": "LEVIES_CHARGES",
"cancellationType": "CANCELLATION_POLICY",
"amount": 7.00,
"refundableAmount": 7.0,
"discountType": "NON_DISCOUNT"
},
{
"fareType": "TOLL_FEE",
"cancellationType": "CANCELLATION_POLICY",
"amount": 23.00,
"refundableAmount": 23.0,
"discountType": "NON_DISCOUNT"
},
{
"fareType": "SERVICE_FEE",
"cancellationType": "NOT_REFUNDED",
"amount": 5.00,
"refundableAmount": 0.0,
"discountType": "NON_DISCOUNT"
},
{
"fareType": "RESERVATION_FEE",
"cancellationType": "NOT_REFUNDED",
"amount": 0.00,
"refundableAmount": 0.0,
"discountType": "NON_DISCOUNT"
},
{
"fareType": "CONCESSIONS_FEE",
"cancellationType": "NOT_REFUNDED",
"amount": 0.00,
"refundableAmount": 0.0,
"discountType": "NON_DISCOUNT"
},
{
"fareType": "SERVICE_TAX",
"cancellationType": "FULLY_REFUNDED",
"amount": 16.00,
"refundableAmount": 16.00,
"discountType": "NON_DISCOUNT"
},
{
"fareType": "TOTAL_FARE",
"cancellationType": "CANCELLATION_POLICY",
"amount": 336.00,
"refundableAmount": 331.00,
"discountType": "NON_DISCOUNT"
}
]
}
}
}
Payment Page Fare Breakup
- Base Fare
- Levy Fee
- Convenience Fee
- GST
- Total Fare
JKSRTC (Jammu and Kashmir State Road Transport Corporation)
| Operator ID | 29176 |
|---|---|
| Test Route | Jammu (J&K)-Amritsar |
| Cancellation Flow | As per cancellation policy |
| Mail Template | RTC template |
We let you know once we get update from Internal team.
UTC (Uttarakhand Transport Corporation)
| Operator ID | 32000 |
|---|---|
| Test Route | Delhi -Dehradun |
| Age Validation | A child below 10 years of age cannot book a ticket without an adult as the primary passenger. |
| Child Age Validation | Do not allow a child below 10 years of age to book a ticket unless an adult is selected as the primary passenger. | Cancellation Flow | Realtime cancellation flow -Cancellation is not based on the cancellation policy provided by the operator. The cancellation details, including the applicable refund amount, are dynamically determined by the bus operator at the time of cancellation. |
| Mail Template | RTC template |
| Fare update after BlockTicket | No |
Refund Components
| Component | Refund |
|---|---|
| Basic Fare | Refund as per cancellation policy |
| Reservation Fee | No Refund |
| Concession Fee | No Refund |
| Service Tax | Refundable |
UTC Logo
UTC Ticket Template
The following is the UTC e-Reservation ticket template used for the operator.
View UTC Ticket Template PDFClient Implementation Checklist
- Identify the RTC/operator ID.
- Check whether the operator uses the Default or RTC template.
- Implement concession handling where specified.
- Implement the required payment-page fare breakup.
- Check cancellation eligibility before cancellation where required.
- Keep RTC-specific logic separate from generic private-operator logic.
FAQs
No. RTC operators can have different booking, fare, concession and cancellation requirements. Clients should follow the operator-specific rules documented on this page.
RTC-specific requirements can differ from the standard private-operator flow. A dedicated page makes it easier for API partners to identify and implement operator-specific changes.
Based on the current implementation document, realtime cancellation is specified for UPSRTC, HRTC and UTC.
UPSRTC, HRTC and UTC are marked as requiring the cancelticketinfo API.
For MTC and SNT, the documented fare already includes the operator service charge. Therefore, clients must not add operatorServiceChargeAbsolute to the fare again.
Add operatorServiceChargeAbsolute to the Available Trips and Trip Details response models. The Block Ticket response provides updatedOperatorServiceCharge. Use fare as the final payable fare because the operator service charge is already included.
Show operatorServiceChargeAbsolute separately as the Convenience Fee on the payment page, but do not add it to the fare again.
No. No ticket template changes are required for SNT.
Do not directly use TOTAL_FARE from customerPriceBreakUp. The response includes fare components such as BASIC_FARE, CONVENIENCE_FEE and SERVICE_TAX.
No. The documented HRTC implementation specifically says not to consider TOTAL_FARE from customerPriceBreakUp. Use the applicable fare components.
Passenger age must be provided. For passengers aged 60+ years, send the senior citizen card number. For passengers aged 6-12 years, send the age. The blockTicket() API calculates the concession and returns the updated fare.
Read updatedFare and boConcessionAmount from the blockTicket() response and then continue with bookTicket().
Check that isCancelAllowed = ALLOWED before proceeding with cancellation. The documented flow is CancelTicketInfo followed by CancelTicket.
According to the current documentation, Basic Fare is refunded as per the cancellation policy, Reservation Fee and Concession Fee are non-refundable, and Service Tax is refundable.
JKSRTC has temporarily closed its inventory due to the Amarnath Yatra. The current note also states that RTC buses are not being received in RedBus. An update will be provided once information is received from the internal team.
No. The current documentation states that changes are still being implemented by WBSTC, NBSTC, SBSTC and WBTC. The page should be updated once those changes are complete.
No. The current matrix identifies both Default template and RTC template depending on the operator. Clients should follow the template requirement documented for the relevant RTC.
Clients should implement the logic in the corresponding API flow based on the operator ID and the requirements documented in this RTC implementation guide.