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.

Important: RTC integrations may have operator-specific requirements related to booking, fare, concession, cancellation, ticket templates, and real-time cancellation updates.

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 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 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 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().

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
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
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 PDF

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