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.








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 NAME | PATH | Query parameters | Description |
|---|---|---|---|
| Landing | limousine/product-detail | — | Product intro page with transport service highlights and booking entry |
| Booking | limousine/transfer | airport_code | Transfer booking form — airport, date, passengers & luggage |
| Order detail | limousine/order-detail | order_no | Order details & management |
Parameters
System parameters
These parameters are required and must always be included when opening the Transport DPApp.
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
language | string | true | UI 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_code | string | true | Tenant code used for tenant isolation and validating the tenant configuration on the DP Platform | 0494 |
action_type | string | true | Access mode of the session; supported values: view, operate, visitor (default: operate) | operate |
channel | string | false | Distribution channel identifier of the host app, used for channel-level configuration and analytics, e.g. global-app, standard (default: standard) | standard |
pro_code | string | true | Product code that determines which product the checkout flow lands on | LS0494000001 |
module | string | true | Business module identifier used for module-level routing and configuration (9 for Transport) | 9 |
ℹ️ Parameter naming varies by category: this app uses
pro_codefor 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.
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
airport_code | string | false | Airport 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)
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
order_no | string | true | Booking order number of the reservation, required to load the order details when the page is opened directly | GCO20260730063713A014467 |
Prerequisites
- A registered
clientIdfrom the DP Platform — contact us to get one - The
transportappId configured under your client - DP Hybrid SDK integrated into your host app
iOS
Open the Transport DPApp from any UIViewController:
// 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:
// 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:
// 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:
// 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.
// 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"
}
}
// 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
- Getting Started — SDK installation & initialization
- Connect — SSO setup
- Custom Events System — Handle DPApp events
- Error Codes — Error code reference