Introduction

Welcome to INDORENT API!
INDORENT API is a RESTful Web Service developed by Indorent that serves as a communication bridge between your application and Indorent services.

API Base URL

PRODUCTION
https://api.indorent.co.id/api
STAGING
https://stg.indorent.co.id/indorent-api/api

Get Token

Token authentication enables access to a system with a token given from entering userid and password.
This token will have expiration time and will become invalid, in which the client will need to provide userid and password to get new token.
The expiration time for the token is 1 hour. The token will be presented in the header of another function call as Bearer Token.
POST /v1/token

Request Headers

Name Format Mandatory
Content-type application/json Yes

Payload

Field Type Mandatory Description
userID string yes User ID given by our administrator
password string yes Password given by our administrator

Response

Field Type Description
AccessToken string Refresh setiap hit
ExpiresIn string Satuan detik
StatusCode int Kode status respon
Message string Pesan status
REQUEST URL
https://api.indorent.co.id/api/v1/token
REQUEST HEADERS
Content-type : application/json
PAYLOAD
RESPONSE (SUCCESS)
RESPONSE (FAILED)

Get List Drop Off & Pickup Point

List of all pickup and dropoff point id from Unicorn Bus.
GET /traveloka/v1/points

Request Headers

Name Format Mandatory
Authorization bearer {{AccessToken}} Yes
Content-type application/json Yes

Response

Field Type Description
status string Status Code List
status_code string Status Code List
id string Identifier for the point, can be a combination of alphanumeric characters Valid examples: KR001-1, KR001-2, KR003-3, KR002-1, etc
name string Name of the place
city string Name of the city where the place is located
address string Name of the street/location where the point is located
REQUEST URL
https://api.indorent.co.id/api/traveloka/v1/points
REQUEST HEADERS
Authorization : bearer eyJhbGciOiJIUzI1NiIdsA63v1
Content-type : application/json
RESPONSE (SUCCESS)
RESPONSE (FAILED)

Get List All Active Tripcode

A tripcode is a unique identifier of a bus traject (trayek). The traject is recurring, and the bus serving the traject is always the same.
GET /traveloka/v1/tripcode

Request Headers

Name Format Mandatory
Authorization bearer {{AccessToken}} Yes
Content-type application/json Yes

Response

Field Type Description
status string Status Code List
status_code string Status Code List
tripcode string Identifier of the traject
seat_capacity string Seat capacity of the bus serving this traject
id string First point of the traject
name string Last point of the traject
REQUEST URL
https://api.indorent.co.id/api/traveloka/v1/tripcode
REQUEST HEADERS
Authorization : bearer eyJhbGciOiJIUzI1NiIdsA63v1
Content-type : application/json
RESPONSE (SUCCESS)
RESPONSE (FAILED)

Get List of All Vessels

Get the list of all vessels (bus type). Each traject must be served by a particular bus type.
GET /traveloka/v1/vessel_list

Request Headers

Name Format Mandatory
Authorization bearer {{AccessToken}} Yes
Content-type application/json Yes

Response

Field Type Description
status string Status Code List
status_code string Status Code List
vessel_id string Unique identifier for the bus type
seat_capacity string Seat capacity of the bus
type string Class of the bus(ex: First Class Double Decker)
REQUEST URL
https://api.indorent.co.id/api/traveloka/v1/vessel_list
REQUEST HEADERS
Authorization : bearer eyJhbGciOiJIUzI1NiIdsA63v1
Content-type : application/json
RESPONSE (SUCCESS)
RESPONSE (FAILED)

Get List of All Course

Get the sequence of points passed on a traject, from start to finish, differentiated by tripcode.
GET /traveloka/v1/course?tripcode=

Request Headers

Name Format Mandatory
Authorization bearer {{AccessToken}} Yes
Content-type application/json Yes

Response

Field Type Description
status string Status Code List
status_code string Status Code List
sequence string Position of the points in the sequence, starts from 1
point_id string Point code
point_name string Name of the point
departure_hour string Departure hour from the point (HH:mm format, 24-hour)
departure_time_zone string Time zone of the departure time/hour
days_offset string Determines if the departure hour is on the next day, starts from 0
REQUEST URL
https://api.indorent.co.id/api/traveloka/v1/course?tripcode=KR083
REQUEST HEADERS
Authorization : bearer eyJhbGciOiJIUzI1NiIdsA63v1
Content-type : application/json
RESPONSE (SUCCESS)
RESPONSE (FAILED)

Get List of All Available Routes

Get the list of all available routes served on a traject. A route is defined as a pair of pickup and drop off point that can be used as a parameter for search inventory. Each traject can be differentiated by tripcode.
GET /traveloka/v1/routes?tripcode=

Request Headers

Name Format Mandatory
Authorization bearer {{AccessToken}} Yes
Content-type application/json Yes

Response

Field Type Description
status string Status Code List
status_code string Status Code List
pickup_point_id string Pick up point code
pickup_point_name string Pick up point name
dropoff_point_id string Drop off point code
dropoff_point_name string Drop off point name
REQUEST URL
https://api.indorent.co.id/api/traveloka/v1/routes?tripcode=KR083
REQUEST HEADERS
Authorization : bearer eyJhbGciOiJIUzI1NiIdsA63v1
Content-type : application/json
RESPONSE (SUCCESS)
RESPONSE (FAILED)

Search Available Bus

Search available bus based on pickup, dropoff, and departure date.
POST /traveloka/v1/search

Request Headers

Name Format Mandatory
Authorization bearer {{AccessToken}} Yes
Content-type application/json Yes

Payload

Field Type Mandatory Description
pickup_point string yes Departure point, id based from point list
dropoff_point string yes Arrival point, id based from point list
departure_date string yes Date of journey, in yyyy-mm-dd format

Response

Field Type Description
status string Status Code List
status_code string Status Code List
departure_date string Date of journey, in yyyy-mm-dd format
departure_time string Detailed hour of departure, in hh:mm format
departure_time_zone string Time zone of the departure time
arrival_date string Date of arrival, in yyyy-mm-dd format
arrival_time string Detailed hour of arrival, in hh:mm format
arrival_time_zone string Time zone of the arrival time
seat_capacity string Number of seats in the bus
remaining_seat string Number of seats left that can be booked
price string The fare for one seat
tripcode string Unique identifier for bus traject. See section 'tripcode' for more detail
vessel_id string Bus vessel of the inventory. See section 'vessel_list' for more detail
REQUEST URL
https://api.indorent.co.id/api/traveloka/v1/search
REQUEST HEADERS
Authorization : bearer eyJhbGciOiJIUzI1NiIdsA63v1
Content-type : application/json
PAYLOAD
RESPONSE (SUCCESS)
RESPONSE (FAILED)

Get Seat Map

Get the status of each seat in a particular bus.
POST /traveloka/v1/seatmap

Request Headers

Name Format Mandatory
Authorization bearer {{AccessToken}} Yes
Content-type application/json Yes

Payload

Field Type Mandatory Description
departure_date string yes Date of the inventory, in yyyy-mm-dd format
pickup_point string yes Departure point
dropoff_point string yes Arrival point
tripcode string yes Tripcode from search inventory result

Response

Field Type Description
status string Status Code List
status_code string Status Code List
type string The type of cell item [SEAT and EMPTY]
id string If the type is seat, then the seat number, otherwise can be empty
status string if the type is seat, then the status [AVAILABLE, TAKEN and -]
REQUEST URL
https://api.indorent.co.id/api/traveloka/v1/seatmap
REQUEST HEADERS
Authorization : bearer eyJhbGciOiJIUzI1NiIdsA63v1
Content-type : application/json
PAYLOAD
RESPONSE (SUCCESS)
RESPONSE (FAILED)

Booking Inventory

Book a particular bus inventory. This booking is treated as a holdbooking (block seat) and the confirmation is on “Issue Booking” flow.
POST /traveloka/v1/booking

Request Headers

Name Format Mandatory
Authorization bearer {{AccessToken}} Yes
Content-type application/json Yes

Payload

Field Type Mandatory Description
departure_date string yes Date of the inventory, in yyyy-mm-dd format
departure_time string yes Hour of the inventory, in hh:mm format
pickup_point string yes Departure point
dropoff_point string yes Arrival point
tripcode string yes Unique identifier of the traject
email string yes Email of customer
phone string yes Customer's phone number
passengers string yes List of passengers, with their name and preferred seat_number
name string yes Passenger name
seat_number string yes Seat number
meal_code string no Meal code
beverage string no Beverage

Response

Field Type Description
status string Status Code List
status_code string Status Code List
booking_id string PNR/booking code
expiration_time string The time the booking will be expired (yyyy-mm-dd hh:mm) in UTC+7, if after this time the booking is not issued, then it must be automatically cancelled
expiration_time_zone string Time zone of the expiration time
total_price string Total price needed to be paid by pax (number of seats * selling_price)
passengers string : list of passengers, with their name, confirmed seat_number, and the price of the seat booked
REQUEST URL
https://api.indorent.co.id/api/traveloka/v1/booking
REQUEST HEADERS
Authorization : bearer eyJhbGciOiJIUzI1NiIdsA63v1
Content-type : application/json
PAYLOAD
RESPONSE (SUCCESS)
RESPONSE (FAILED)

Cancel Booking

Cancel a booking that is not issued yet. If a passenger does not cancel or confirm booking for a certain period, the booking must be automatically cancelled (45 Minute)
POST /traveloka/v1/cancelbooking

Request Headers

Name Format Mandatory
Authorization bearer {{AccessToken}} Yes
Content-type application/json Yes

Payload

Field Type Mandatory Description
booking_id string yes Identifier of booking from booking detail

Response

Field Type Description
status string Status Code List
status_code string Status Code List
result string Result of cancellation [CANCELLED, NOT_FOUND, ALREADY_ISSUED]
REQUEST URL
https://api.indorent.co.id/api/traveloka/v1/cancelbooking
REQUEST HEADERS
Authorization : bearer eyJhbGciOiJIUzI1NiIdsA63v1
Content-type : application/json
PAYLOAD
RESPONSE (SUCCESS)
RESPONSE (FAILED)

Issue Booking

Confirm a booking for issuance.
POST /traveloka/v1/issuebooking

Request Headers

Name Format Mandatory
Authorization bearer {{AccessToken}} Yes
Content-type application/json Yes

Payload

Field Type Mandatory Description
booking_id string yes Identifier of booking from booking detail

Response

Field Type Description
status string Status Code List
status_code string Status Code List
result string Result of issuance [ISSUED, NOT_FOUND, ALREADY_CANCELLED]
booking_id string Identifier of booking from booking detail
boarding_code string The unique identifier for the boarding pass
passengers string Each passenger have different ticket id, to know which seat is belong to
qr_code_plain_text string Unique identifier for flight attendants on buses to check passengers in
REQUEST URL
https://api.indorent.co.id/api/traveloka/v1/issuebooking
REQUEST HEADERS
Authorization : bearer eyJhbGciOiJIUzI1NiIdsA63v1
Content-type : application/json
PAYLOAD
RESPONSE (SUCCESS)
RESPONSE (FAILED)

Check Booking

Check the status of a particular booking.
POST /traveloka/v1/checkbooking

Request Headers

Name Format Mandatory
Authorization bearer {{AccessToken}} Yes
Content-type application/json Yes

Payload

Field Type Mandatory Description
booking_id string yes Identifier of booking from booking detail

Response

Field Type Description
status string Status Code List
status_code string Status Code List
result string Status of the booking [BOOKED, CANCELLED, ISSUED, NOT_FOUND]
REQUEST URL
https://api.indorent.co.id/api/traveloka/v1/checkbooking
REQUEST HEADERS
Authorization : bearer eyJhbGciOiJIUzI1NiIdsA63v1
Content-type : application/json
PAYLOAD
RESPONSE (SUCCESS)
RESPONSE (FAILED)

Meals

Obtain meals list for a specific tripcode and departure date
POST /traveloka/v1/meals

Request Headers

Name Format Mandatory
Authorization bearer {{AccessToken}} yes
Content-type application/json yes

Payload

Field Type Mandatory Description
tripcode string yes Tripcode
departure_date string yes Departure date

Response

Field Type Description
status string Status
status_code string Status code
meal_code string Meal code
meal_name string Meal name
description string Meal description
image_url string Meal image url
REQUEST URL
https://api.indorent.co.id/api/traveloka/v1/meals
REQUEST HEADERS
Authorization : bearer eyJhbGciOiJIUzI1NiIdsA63v1
Content-type : application/json
PAYLOAD
RESPONSE (SUCCESS)
RESPONSE (FAILED)

Beverages

Obtain beverages list for a specific meal code
POST /traveloka/v1/beverages

Request Headers

Name Format Mandatory
Authorization bearer {{AccessToken}} yes
Content-type application/json yes

Payload

Field Type Mandatory Description
meal_code string yes Meal code

Response

Field Type Description
status string Status
status_code string Status code
beverages array of string Beverages
REQUEST URL
https://api.indorent.co.id/api/traveloka/v1/beverages
REQUEST HEADERS
Authorization : bearer eyJhbGciOiJIUzI1NiIdsA63v1
Content-type : application/json
PAYLOAD
RESPONSE (SUCCESS)
RESPONSE (FAILED)

Get List SPK Used Car Customer PT. BOI

Endpoint ini digunakan untuk melihat seluruh SPK penjualan unit used car yang akan dijual melalui PT. BOI.
GET /v1/spkusedcarboi/tanggalAwal/tanggalAkhir

Request Headers

Name Format Mandatory
Authorization Bearer <AccessToken> Yes
Content-type application/json Yes

Response

Field Type Description
SPKCompanyCode string
SPKCompany string
SPKNumber string
SPKDate DateTime
SPKType string
SPKCustomer string
SPKQQCustomer string
SPKQQCustomerNIK string
SPKQQCustomerEmail string
SPKQQCustomerTelepon string
SPKQQCustomerAlamat1 string
SPKQQCustomerAlamat2 string
SPKQQCustomerAlamat3 string
SPKQQCustomerKodeProvinsi string
SPKQQCustomerProvinsi string
SPKQQCustomerKodeKota string
SPKQQCustomerKota string
SPKQQCustomerNoNPWP string
SPKQQCustomerNamaNPWP string
SPKQQCustomerAlamatNPWP1 string
SPKQQCustomerAlamatNPWP2 string
SPKQQCustomerAlamatNPWP3 string
SPKUnitLicensePlate string
SPKUnitType string
SPKUnitYear string
SPKUnitColor string
SPKUnitChassisNumber string
SPKUnitEngineNumber string
SPKUnitOdo int
SPKLocation string
SPKSellingPrice int
SPKStatusCode string NW, RL & DL
SPKStatus string
PaymentCustomerToBOI bool
PaymentCustomerToBOISubmitBy string
PaymentCustomerToBOISubmitDate DateTime
PaymentCustomerToBOIRefNumber string
GatepassCSMToCustomer bool
InvoiceCSMToBOIInvNumber string
InvoiceCSMToBOIFPNumber string
InvoiceCSMToBOIInvDate DateTime
InvoiceCSMToBOIInvDueDate DateTime
InvoiceCSMToBOIInvAmount int
InvoiceCSMToBOIInvPayment int
InvoiceCSMToBOIInvPaymentDate DateTime
REQUEST URL
https://api.indorent.co.id/api/v1/spkusedcarboi/20220101/20220130
REQUEST HEADERS
Authorization : Bearer eyJhbGciOiJIUzI1NiIdsA63v1
Content-type : application/json
RESPONSE (SUCCESS)
RESPONSE (FAILED)

Get List Unit Used Car Customer PT. BOI

Endpoint ini digunakan untuk melihat daftar unit used car yang akan dijual melalui PT. BOI.
GET /v1/unitusedcarboi

Request Headers

Name Format Mandatory
Authorization Bearer <AccessToken> Yes
Content-type application/json Yes

Response

Field Type Description
CompanyCode string
Company string
UnitID string
LicensePlate string
UnitBrand string
UnitModel string
UnitType string
UnitYear string
UnitColor string
UnitChassisNumber string
UnitEngineNumber string
UnitStatus string
UnitLocationCode string
UnitLocation string
UnitOdo int
UnitSTNKDueDate string
StatusCode int Kode status respon
Message string Pesan status
REQUEST URL
/v1/unitusedcarboi
REQUEST HEADERS
Authorization : Bearer eyJhbGciOiJIUzI1NiIdsA63v1
Content-type : application/json
RESPONSE (SUCCESS)
RESPONSE (FAILED)

Confirm Payment Used Car Cust. PT. BOI

Endpoint ini digunakan untuk mengkonfirmasi ke INDORENT apakah customer telah melakukan pembayaran ke PT. BOI.
POST /v1/confirmpaymentusedcarboi

Request Headers

Name Format Mandatory
Authorization Bearer <AccessToken> Yes
Content-type application/json Yes

Payload

Field Type Mandatory Description
SPKCompanyCode string yes Kode perusahaan yang mengeluarkan SPK
SPKNumber string yes Nomor SPK
SubmitBy string yes Di submit oleh(PIC PT. BOI)
RefNumber string yes Nomor referensi

Response

Field Type Description
StatusCode int Kode status respon
Message string Pesan status
REQUEST URL
https://api.indorent.co.id/api/v1/confirmpaymentusedcarboi
REQUEST HEADERS
Authorization : Bearer eyJhbGciOiJIUzI1NiIdsA63v1
Content-type : application/json
PAYLOAD
RESPONSE (SUCCESS)
RESPONSE (FAILED)

Status Code

Status codes used in INDORENT API.
Status Description
200 Status respon valid
401 User ID / Password tidak valid
402 IP Address : 216.73.216.5, 103.129.148.78 tidak diijinkan mengakses API ini, mohon kontak administrator kami
403 Anda tidak memiliki akses ke API ini, mohon kontak administrator kami
404 Validasi error, anda mengirimkan data yang tidak valid
0 Success
1001 Route Not Found (Search Inventory)
1002 Tripcode Not Found (Get seat map)
1003 Inventory Not Found (Book inventory)
1004 Seat(s) Already Booked (Book Inventory)
1005 Booking Not Found (Cancel Booking, Issue Booking, Check Booking Status)
1006 Booking Already Issued (Cancel Booking)
1007 Booking Already Cancelled (Issue Booking)