Skip to main content

Bus Ticket

This API enables third-party systems or apps to integrate bus services into their systems via CellPay.

Get Possible Values​

Endpoint:

{base-url}/payments/possibleValues/{transferTypeId}

Method: GET

Request Headers:

The following HTTP headers are required when calling the API:

Content-Type: application/json
Cellpay-Access-Token: {{accessToken}}

Get Possible Values – Response Example​

{
"status": true,
"sessionExpired": false,
"payload": {
"possibleValues": {
"routes": [
"Beni",
"Delhi",
"Naudanda",
"Pokhara",
"Manakamana",
"Lumle/Kande",
"Narayanghad",
"Kushma",
"Dimuwa",
"Raxaul",
"Baglung",
"Kathmandu",
"Lumle",
"Motihari"
]
}
}
}

Retrieve Possible Bus Trips​

Endpoint:

{base-url}/payments/possibleTrips/{transferTypeId}

Method: POST

Request Headers:

The following HTTP headers are required when calling the API:

Content-Type: application/json
Cellpay-Access-Token: {{accessToken}}

Retrieve Possible Bus Trips – Request Example​

{
"fromSector": "Kathmandu",
"toSector": "Pokhara",
"departureDate": "2021-07-10",
"shift": "both"
}

Retrieve Possible Bus Trips – Successful Response (Sample)​

{
"status": true,
"sessionExpired": false,
"payload": {
"possibleTrips": {
"trips": [
{
"status": 0,
"id": "NDU3MDE1OjQzMzU4NDM6MA==",
"date": "2078-Aashad-26",
"dateEn": "2021-07-10",
"departureTime": "07:00 AM",
"lockStatus": false,
"operator": "Dhaulagiri AC",
"busNo": "n/a",
"busType": "Ac Deluxe",
"multiPrice": false,
"ticketPrice": 615,
"noOfColumn": 5,
"seatLayout": [
{
"displayName": "A2",
"bookingStatus": "No"
},
{
"displayName": "A1",
"bookingStatus": "No"
},
{
"displayName": "A3",
"bookingStatus": "No"
},
{
"displayName": "B",
"bookingStatus": "No"
},
{
"displayName": "C",
"bookingStatus": "No"
},
{
"displayName": "D",
"bookingStatus": "No"
},
{
"displayName": "E",
"bookingStatus": "No"
}
],
"amenities": [
"AC",
"Mobile Charger",
"Water Bottle"
],
"inputTypeCode": 1
}
]
}
}
}

Reserve Ticket​

Endpoint:

{base-url}/payments/bookingDetails/{transferTypeId}

Method: POST

Request Headers:

The following HTTP headers are required when calling the API:

Content-Type: application/json
Cellpay-Access-Token: {{accessToken}}

Reserve Ticket – Request Example​

{
"seats": [
"A1",
"A2"
],
"busId": "NDU3MDE1OjQzMzU4NDM6MA=="
}

Reserve Ticket – Successful Response (Sample)​

{
"status": true,
"sessionExpired": false,
"payload": {
"bookingDetails": {
"bookingDetails": {
"ticketSrlNo": "656231-B",
"boardingPoints": [
"Gongabu Bus Park(07:00 AM)",
"Balaju(07:05 AM)",
"Swayambhu(07:10 AM)",
"Dhungeadda(07:20 AM)",
"Kalanki(07:20 AM)"
],
"timeout": "550"
}
}
}
}

Save Passenger Details​

Endpoint:

{base-url}/payments/passengerDetail/{transferTypeId}

Method: POST

Request Headers:

The following HTTP headers are required when calling the API:

Content-Type: application/json
Cellpay-Access-Token: {{accessToken}}

Save Passenger Details – Request Example​

{
"inputTypeCode": "1",
"busId": "NDU3MDE1OjQzMzU4NDM6MA==",
"contactName": "test user",
"contactNumber": "9843434343",
"contactEmail": "test@gmail.com",
"boardingPoint": "Swayambhu(07:10 AM)",
"ticketNo": "656232-B"
}

Save Passenger Details – Successful Response (Sample)​

{
"status": true,
"sessionExpired": false,
"payload": {
"savePassengerDetails": "Passenger's Information Added"
}
}

Book Payment​

Endpoint:

{base-url}/payments/systemPayment

Method: POST

Request Headers:

The following HTTP headers are required when calling the API:

Content-Type: application/json
Cellpay-Access-Token: {{accessToken}}

Book Payment – Request Example​

{
"transferTypeId": "{{transferTypeId}}",
"amount": "615",
"description": "ok",
"currencyId": "1",
"webRequest": true,
"customValues": [
{
"internalName": "BUS_ID",
"fieldId": "198",
"value": "NDU3MDE1OjQzMzU4NDM6MA=="
},
{
"internalName": "TICKET_ID",
"fieldId": "199",
"value": "656232-B"
},
{
"internalName": "FROM_TO",
"fieldId": "201",
"value": "KATHMANDU-POKHARA"
},
{
"internalName": "PAYMENTMETHOD",
"fieldId": 15,
"value": "Account"
},
{
"internalName": "SELECTBANK",
"fieldId": 35,
"value": "{{senderBankCode}}"
},
{
"internalName": "ACCOUNTNUMBER",
"fieldId": 14,
"value": "{{senderBankAccountNumber}}"
}
]
}

Book Payment – Successful Response (Sample)​

{
"status": true,
"sessionExpired": false,
"payload": {
"DoPaymentResult": {
"wouldRequireAuthorization": false,
"from": {
"id": {{fromMemberId}},
"name": "{{fromMemberName}}",
"username": "{{fromUsername}}",
"mobileNo": "{{fromMemberNumber}}"
},
"finalAmount": 615.00,
"formattedFinalAmount": "Rs. 615.00",
"transferType": {
"id": {{transferTypeId}},
"name": "{{transferTypeName}}",
"from": {
"id": 5,
"name": "Account",
"currency": {
"id": 1,
"symbol": "रु",
"name": "Nepalese Rupee"
}
},
"to": {
"id": 6,
"name": "Cellcom Float Account",
"currency": {
"id": 1,
"symbol": "रु",
"name": "Nepalese Rupee"
}
}
},
"customValues": [
{
"internalName": "BUS_ID",
"fieldId": 198,
"value": "NDU3MDE1OjQzMzU4NDM6MA=="
},
{
"internalName": "TICKET_ID",
"fieldId": 199,
"value": "656232-B"
},
{
"internalName": "FROM_TO",
"fieldId": 201,
"value": "KATHMANDU-POKHARA"
},
{
"internalName": "PAYMENTMETHOD",
"fieldId": 15,
"value": "Account"
},
{
"fieldId": "35",
"internalName": "SELECTBANK",
"value": "{{senderBankCode}}"
},
{
"fieldId": "14",
"internalName": "ACCOUNTNUMBER",
"value": "{{senderBankAccountNumber}}"
}
],
"isOtpEnable": false,
"showConsolidateAmount": false,
"bookingId": 22
}
}
}

Confirm Payment​

Endpoint:

{base-url}/payments/confirmSystemPayment

Method: POST

Request Headers:

The following headers are required when calling the API:

Content-Type: application/json
Cellpay-Access-Token: {{accessToken}}

Confirm Payment – Request Example​

{
"transferTypeId": "{{transferTypeId}}",
"amount": "615",
"description": "ok",
"traceNumber": "CEL-123456", //Use consistent transaction IDs like CELL-001 or PRV-001 per your company's standard. Trace Number must be unique.
"currencyId": "1",
"webRequest": true,
"bookingId": 22,
"transactionPin": "XXXXXX",
"customValues": [
{
"internalName": "BUS_ID",
"fieldId": "198",
"value": "NDU3MDE1OjQzMzU4NDM6MA=="
},
{
"internalName": "TICKET_ID",
"fieldId": "199",
"value": "656232-B"
},
{
"internalName": "FROM_TO",
"fieldId": "201",
"value": "KATHMANDU-POKHARA"
},
{
"internalName": "PAYMENTMETHOD",
"fieldId": 15,
"value": "Account"
},
{
"internalName": "SELECTBANK",
"fieldId": 35,
"value": "{{senderBankCode}}"
},
{
"internalName": "ACCOUNTNUMBER",
"fieldId": 14,
"value": "{{senderBankAccountNumber}}"
}
]
}

Confirm Payment – Successful Response (Sample)​

{
"status": true,
"sessionExpired": false,
"payload": {
"ConfirmPaymentResult": {
"id": 137916,
"pending": false,
"traceNumber": "CEL-123456" //Use consistent transaction IDs like CELL-001 or PRV-001 per your company's standard. Trace Number must be unique.
}
}
}

Service Parameters​

Parameter NameParameter TypeRequired?Description
fromSectorStringYesDeparture sector (origin location).
toSectorStringYesArrival sector (destination location).
shiftStringYesTravel shift. Possible values: DAY or NIGHT (pricing may vary by shift).
departureDateDateYesDate of departure.
seatsArray / StringYesSelected seat number(s) for the journey.
busIdIntegerYesUnique bus identifier generated during bus ticket booking.
inputTypeCodeIntegerYesTravel type code: 1 for domestic, 2 for international (Kathmandu–Delhi only).
boardingPointStringYesBoarding location for the passenger.
ticketNoStringYesReserved bus ticket number.