Skip to content

Ticket Booking - Train API

Endpoint Ticket Booking digunakan untuk memproses pembelian tiket kereta dari jadwal yang dipilih oleh pengguna. Endpoint ini membutuhkan informasi lengkap penumpang dan data perjalanan, serta akan mengembalikan informasi booking, kode tiket, tempat duduk, dan batas waktu pembayaran.


https://api.bisabiller.com/api/transport/train/ticket-booking

Authorization: Bearer <access_token>
Content-Type: application/json

{
"adultQuantity": 1,
"infantQuantity": 1,
"passengers": {
"adult": [
{
"birthDate": "2001-05-13",
"email": "[email protected]",
"firstName": "test",
"identityNumber": "327420305020003",
"lastName": "bisabiller",
"phoneNumber": "081234567890",
"title": "Tuan",
"type": "ADT",
"typeIdentity": "KTP"
}
],
"infant": [
{
"adult": ["Test Bisabiller"],
"birthDate": "2022-07-19",
"firstName": "Baby",
"identityNumber": "3471144307880001",
"lastName": "Bisabiller",
"title": "MSTR",
"type": "INF",
"typeIdentity": "KTP"
}
]
},
"trainId": {
"departure": 301777,
"return": null
},
"buyer": {
"email": "[email protected]",
"fullname": "Huhu Aja",
"mobileNumber": "081234567890"
}
}
FieldTipeDeskripsi
adultQuantityintegerJumlah penumpang dewasa yang dipesan
infantQuantityintegerJumlah penumpang bayi
passengers.adultarrayData lengkap tiap penumpang dewasa (nama, KTP, email, dll)
passengers.infantarrayData bayi beserta relasi dengan dewasa
trainId.departureintegerID jadwal kereta keberangkatan
trainId.returnintegerID jadwal kepulangan (jika ada / PP)
buyerobjectInformasi pembeli tiket

{
"error": false,
"data": {
"trainTransactionId": 1524687,
"bookingDetail": [
{
"bookingCode": "GIT57LW",
"transactionId": "2692013894",
"passengers": [
{
"id_passenger": 1289,
"name": "test bisabiller",
"id_number": "327420305020003",
"type": "ADT"
}
],
"seats": [["EKO", "1", "3", "A"]],
"normalSales": 95000,
"bookBalance": 99500,
"nominalAdmin": 7500,
"discount": 3000,
"timeLimit": "2023-06-10 01:43:46",
"trainStatus": "departure"
}
]
},
"message": "Booking berhasil"
}

FieldTipeDeskripsi
trainTransactionIdintegerID transaksi kereta untuk referensi internal
bookingDetailarrayDaftar data booking yang berhasil dilakukan
bookingCodestringKode booking yang digunakan untuk cetak tiket atau tracking
transactionIdstringID transaksi spesifik untuk penumpang tertentu
passengersarrayDaftar penumpang dalam booking tersebut
seatsarrayInformasi kursi dalam format [kelas, gerbong, baris, kolom]
normalSalesintegerHarga normal tiket sebelum biaya tambahan
bookBalanceintegerTotal yang harus dibayar (setelah diskon dan termasuk admin fee)
nominalAdminintegerBiaya administrasi
discountintegerPotongan harga jika tersedia
timeLimitstringBatas waktu pembayaran, setelah lewat maka booking akan dibatalkan
trainStatusstringStatus perjalanan (departure atau return)

Catatan:

  • Gunakan bookingCode dan transactionId untuk menampilkan data tiket ke pengguna.
  • Periksa timeLimit dan pastikan pembayaran dilakukan sebelum waktu tersebut.
  • Kursi akan teralokasi otomatis oleh sistem, dan dapat berbeda tergantung ketersediaan.
  • Gunakan endpoint ini setelah pengguna memilih jadwal dan mengisi data lengkap penumpang.