Skip to main content

Transport

The Transport DPApp provides airport transfer and chauffeur-driven booking functionality, allowing users to search, book, and manage transfers directly within your host app. Supports point-to-point transfers, airport pickups/drop-offs, vehicle selection, and order management.

User flow

The Transport journey is shown from left to right.

Transport Services
Transport flow step 1
Book a transfer
Transport flow step 2
Find flight number
Transport flow step 3
Pick-up time
Transport flow step 4
Select vehicle
Transport flow step 5
Contact details
Transport flow step 6
Trip summary
Transport flow step 7
Order summary
Transport flow step 8

Routes & Parameters

Pages are opened by the host app via DPSDK.open(appId: "transport", ...) (iOS) or DPSDK.getDPApp("transport").open(...) (Android), or navigated internally. Only the pages below can be opened via the SDK — other pages (e.g. Flight search, Select vehicle, Trip summary) are internal flow pages reached from within the app.

PAGE NAMEPATHQuery parametersDescription
Landinglimousine/product-detailProduct intro page with transport service highlights and booking entry
Bookinglimousine/transferairport_codeTransfer booking form — airport, date, passengers & luggage
Order detaillimousine/order-detailorder_noOrder details & management

Parameters

System parameters

These parameters are required and must always be included when opening the Transport DPApp.

ParameterTypeRequiredDescriptionExample
languagestringtrueUI language of the app; supported values: en-US (English, United States), zh-CN (Chinese, China), zh-TW (Chinese, Taiwan), zh-HK (Chinese, Hong Kong), ko-KR (Korean, South Korea), ja-JP (Japanese, Japan), vi-VN (Vietnamese, Vietnam), th-TH (Thai, Thailand), id-ID (Indonesian, Indonesia), fr-FR (French, France), de-DE (German, Germany), ar-SA (Arabic, Saudi Arabia), ru-RU (Russian, Russia), pt-BR (Portuguese, Brazil) (default: en-US)en-US
tenant_codestringtrueTenant code used for tenant isolation and validating the tenant configuration on the DP Platform0494
action_typestringtrueAccess mode of the session; supported values: view, operate, visitor (default: operate)operate
channelstringfalseDistribution channel identifier of the host app, used for channel-level configuration and analytics, e.g. global-app, standard (default: standard)standard
pro_codestringtrueProduct code that determines which product the checkout flow lands onLS0494000001
modulestringtrueBusiness module identifier used for module-level routing and configuration (9 for Transport)9

ℹ️ Parameter naming varies by category: this app uses pro_code for the product code. See System parameters for the full list.

Page parameters

These parameters are only needed when the corresponding page is opened directly.

Booking (limousine/transfer)

When opening the Booking page with deeplink parameters, the jump priority is: airport_code.

ParameterTypeRequiredDescriptionExample
airport_codestringfalseAirport code used to pre-select the pickup/drop-off airport when opening the booking form (internal code, maps to an airport e.g. A10072 = Baiyun International Airport CAN)A10072

Order detail (limousine/order-detail)

ParameterTypeRequiredDescriptionExample
order_nostringtrueBooking order number of the reservation, required to load the order details when the page is opened directlyGCO20260730063713A014467

Prerequisites

  • A registered clientId from the DP Platform — contact us to get one
  • The transport appId configured under your client
  • DP Hybrid SDK integrated into your host app

iOS

Open the Transport DPApp from any UIViewController:

Swift
// From any UIViewController
DPSDK.open(appId: "transport", from: self)

To open a specific page directly (e.g. landing or order detail), pass the page path and its query parameters in the params dictionary:

Swift
// Open the landing page (default)
DPSDK.open(appId: "transport", from: self)

// Open the landing page directly
DPSDK.open(
appId: "transport",
params: [
"path": "limousine/product-detail",
"tenant_code": "0494",
"action_type": "operate",
"module": "9",
"language": "en-US",
"pro_code": "LS0494000001",
],
from: self
)

// Open the order detail page directly
DPSDK.open(
appId: "transport",
params: [
"path": "limousine/order-detail",
"tenant_code": "0494",
"action_type": "operate",
"module": "9",
"language": "en-US",
"pro_code": "LS0494000001",
"order_no": "GCO20260730063713A014467",
],
from: self
)

Note: the system parameters above are required whenever a page is opened directly. Page-specific parameters (e.g. order_no, code, resource_id) are appended only for the pages that need them (see Page parameters).

Android

Open the Transport DPApp from any Activity or Fragment:

Kotlin
// From any Activity or Fragment
DPSDK.getDPApp("transport").open(this)

To open a specific page directly (e.g. landing or order detail), pass the page path to open() and set the query parameters via setExtraUrlParams:

Kotlin
// Open the landing page (default)
DPSDK.getDPApp("transport").open(this)

// Open the landing page directly
val dpApp = DPSDK.getDPApp("transport")
dpApp.setDPAppConfig(
DPAppConfig.Builder()
.setExtraUrlParams(
hashMapOf(
"tenant_code" to "0494",
"action_type" to "operate",
"module" to "9",
"language" to "en-US",
"pro_code" to "LS0494000001",
)
)
.build()
).open(this, "limousine/product-detail")

// Open the order detail page directly
val orderDpApp = DPSDK.getDPApp("transport")
orderDpApp.setDPAppConfig(
DPAppConfig.Builder()
.setExtraUrlParams(
hashMapOf(
"tenant_code" to "0494",
"action_type" to "operate",
"module" to "9",
"language" to "en-US",
"pro_code" to "LS0494000001",
"order_no" to "GCO20260730063713A014467",
)
)
.build()
).open(this, "limousine/order-detail")

Note: the system parameters above are required whenever a page is opened directly. Page-specific parameters (e.g. order_no, code, resource_id) are appended only for the pages that need them (see Page parameters).

Handling order results

When a booking is placed or an order detail is opened, the host app can listen for URL changes to react to the result (e.g. refresh its own order list after a successful booking). See DPApp URL Listener for the full API.

Swift
// iOS
DPApp.delegate = self

extension ViewController: DPAppCustomDelegate {
func didDPAppChangeUrlEvent(DPApp: DPApp, url: URL) {
// url.path contains the DPApp page path, e.g. "limousine/order-detail"
}
}
Kotlin
// Android
val dpApp = DPSDK.getDPApp("transport")
dpApp.setUrlChangeListener { activity, url ->
// url?.path contains the DPApp page path, e.g. "limousine/order-detail"
}.open(this)

Reference