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.

Important: RTC integrations may have operator-specific booking, fare, concession, cancellation and ticket-template requirements.

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.

Do NOT add this amount again while calculating the final fare.

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 PDF

Fare Type

The response includes fare type such as:

  • BASIC_FARE
  • CONVENIENCE_FEE
  • SERVICE_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 fare as the final payable fare (it already includes the operator service charge).
  • Show operatorServiceChargeAbsolute as 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 PDF

Concession Handling

  1. User enters passenger details, including age.
  2. If the passenger is 60+ years, send the srCitizen card number in the blockTicket request.
  3. If the passenger is 6–12 years, send only the age.
  4. The blockTicket API itself calculates the concession and returns the updated fare.
  5. Pass age and srCitizen (for senior citizens) in the blockTicket request.
  6. Read updatedFare and boConcessionAmount from the blockTicket response.
  7. 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
Inventory Status: JKSRTC temporarily closed the inventory due to the Amarnath Yatra.

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 PDF

Client 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 cancelticketinfo API 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.