RTC Bus API Implementation Guide
This page contains RTC-specific implementation information for API partners. Please follow the requirements applicable to the respective RTC/operator.
ASTC (Assam State Transport Corporation)
| Operator ID | 16081 |
|---|---|
| Test Route | Guwahati-Tezpur |
| Cancellation Flow | As per cancellation policy |
| Fare update after BlockTicket | No |
| Mail Template | Your Default template |
KAAC (Karbi Anglong Autonomous Council)
| Operator ID | 25187 |
|---|---|
| Test Route | Guwahati-Langhin (Assam) |
| Cancellation Flow | As per cancellation policy |
| Fare update after BlockTicket | No |
| Mail Template | Your Default template |
KTCL (Kadamba Transport Corporation Limited)
| Operator ID | 7115 | Test Route | goa-pune |
|---|---|
| Cancellation Flow | As per cancellation policy |
| Fare update after BlockTicket | No |
| Mail Template | Your Default template |
BSRTC (Bihar State Road Transport Corporation)
| Operator ID | 17889 |
|---|---|
| Test Route | Patna (Bihar)- -Bettiah |
| Cancellation Flow | As per cancellation policy |
| Fare update after BlockTicket | No |
| Mail Template | Your Default template |
MTC (Meghalaya Transport Corporation)
| Operator ID | 26936 |
|---|---|
| Test Route | Tura (Meghalaya) to Shillong |
| Cancellation Flow | As per cancellation policy |
| Mail Template | Default template |
| Fare update after BlockTicket | No |
operatorServiceChargeAbsolute
operatorServiceChargeAbsolute contains the operator service charge amount.
Trip fare already includes this service charge.
Final Price = fare
Not
fare + operatorServiceChargeAbsolute
UPSRTC (Uttar Pradesh State Road Transport Corporation)
| Operator ID | 25946 |
|---|---|
| Test Route | Lucknow -Kanpur |
| 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-gangtok |
| 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
}
}
Client Requirements
- Use
fareas the final payable fare (it already includes the operator service charge). - Show
operatorServiceChargeAbsoluteas the Convenience Fee on the payment page. - Do not add the operator service charge to fare again.
CTU (Chandigarh Transport Undertaking)
| Operator ID | 27455 |
|---|---|
| Test Route | chandigarh-delhi |
| 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().
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 |
| 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 |
CTU Logo
UTC Ticket Template
The following is the UTC e-Reservation ticket template used for the operator.
View CTC Ticket Template PDFClient Implementation Checklist
- Identify the RTC/operator ID.
- Check whether the operator uses the Default or RTC template.
- Check whether realtime cancellation is required.
- Check whether the
cancelticketinfoAPI is required. - Check operator-specific fare calculation rules.
- Do not double-add operator service charges when they are already included in fare.
- 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.
The current RTC matrix marks BpDp seat layout as NO for all listed RTCs.
Clients should implement the logic in the corresponding API flow based on the operator ID and the requirements documented in this RTC implementation guide.