Lounge
The Lounge DPApp provides airport lounge access functionality, allowing users to search, browse, and access airport lounges worldwide directly within your host app.
User flow
The Lounge journey is shown from left to right.










Routes & Parameters
Pages are opened by the host app via DPSDK.open(appId: "lounge", ...) (iOS) or DPSDK.getDPApp("lounge").open(...) (Android), or navigated internally. Only the pages below can be opened via the SDK — other pages (e.g. Time slot, Order summary) are internal flow pages reached from within the app.
| PAGE NAME | PATH | Query parameters | Description |
|---|---|---|---|
| Landing | lounge/landing | resource_id, transport_hub_id, transport_hub_name, iata_code, city_id, city_name, country_or_region, station_name | Home page for discovering airport lounges worldwide |
| Location search | common/search | keyword, iata_code, city_id, city_name, country_or_region, station_name | Search page to find lounges by city or airport — type a keyword or pick a nearby location; deeplink parameters (iata_code, city_id, city_name, country_or_region, station_name) pre-fill the search. Selecting a station opens the Resource list page |
| Resource list | common/search-result | transport_hub_id, transport_hub_name, iata_code | Search result page listing lounges at the selected airport — filter the list by area, route type, terminal or category. transport_hub_id / transport_hub_name jump straight to a specific transport hub's results; iata_code pre-filters by airport. Tapping a result opens the Resource detail page |
| Resource detail | lounge/detail | resource_id | Lounge details — amenities, opening hours, directions |
| Order detail | lounge/order-detail | order_no | Order details & management |
| Lounge verify | lounge/verify | — | QR code verification page for lounge access — shows the member's QR code, entitlements and order list (no page parameter needed) |
Parameters
System parameters
These parameters are required and must always be included when opening the Lounge DPApp.
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
language | string | true | UI language of the app; supported values: ar-SA (Arabic, Saudi Arabia), en-US (English, United States), zh-CN (Chinese, China), fr-CA (French, Canada), zh-HK (Chinese, Hong Kong), th-TH (Thai, Thailand), vi-VN (Vietnamese, Vietnam), es-AR (Spanish, Argentina), tr-TR (Turkish, Türkiye), ja-JP (Japanese, Japan), ko-KR (Korean, South Korea), id-ID (Indonesian, Indonesia), zh-TW (Chinese, Taiwan), it-IT (Italian, Italy), uk-UA (Ukrainian, Ukraine), ru-RU (Russian, Russia), sl-SI (Slovenian, Slovenia), nl-NL (Dutch, Netherlands), el-GR (Greek, Greece), hr-HR (Croatian, Croatia), sr-SP (Serbian, Serbia), bs-BA (Bosnian, Bosnia and Herzegovina), sr-ME (Serbian, Montenegro), ro-RO (Romanian, Romania), pl-PL (Polish, Poland), cs-CZ (Czech, Czechia), kk-KZ (Kazakh, Kazakhstan), az-AZ (Azerbaijani, Azerbaijan), ka-GE (Georgian, Georgia), fr-FR (French, France), de-DE (German, Germany), pt-PT (Portuguese, Portugal), en (English) (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. standard, eBridge (default: standard) | standard |
verify_purchase_pro_code | string | false | Product code for purchase verification — only required when the product is a verification (Walk-in redemption) product | IL0494000002 |
pro_code | string | true | Product code used by the Premium Lounge and non-Walk-in booking flows (IL product) | IL0494000001 |
module | string | true | Business module identifier used for module-level routing and configuration (1 for Lounge) | 1 |
ℹ️ Parameter naming varies by category. This app uses
verify_purchase_pro_codefor the Walk-in booking flow andpro_codefor Premium Lounge / non-Walk-in flows — both are read from the URL (see System parameters for the full list).
Page parameters
These parameters are only needed when the corresponding page is opened directly.
Landing (lounge/landing)
When opening the Landing page with deeplink parameters, the jump priority is: resource_id (jumps to Resource detail) > transport_hub_id (jumps to the transport hub search result) > search filters (iata_code / city_id / city_name / country_or_region / station_name).
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
resource_id | string | false | Resource ID of the lounge, passed when opening the Landing page to jump directly to the lounge detail page | N01878 |
transport_hub_id | string | false | Jumps to the search result page of a specific transport hub | — |
transport_hub_name | string | false | Name of the transport hub to jump to | — |
iata_code | string | false | Airport IATA code to pre-filter the search result page | MAN |
city_id | string | false | City ID to pre-filter the search page | E239 |
city_name | string | false | City name to pre-filter the search page | Manchester |
country_or_region | string | false | Country or region name to pre-filter the search page | United Kingdom |
station_name | string | false | Station name to pre-filter the search page | Manchester Airport |
Location search (common/search)
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
keyword | string | false | Search keyword used to pre-fill the search box, e.g. a city name or airport name — the page searches as you type | Manchester |
iata_code | string | false | Airport IATA code used to pre-fill and filter the search results, e.g. MAN for Manchester Airport | MAN |
city_id | string | false | City ID used to pre-fill the search, narrowing results to the given city | E239 |
city_name | string | false | City name used to pre-fill the search box, narrowing results to the given city | Manchester |
country_or_region | string | false | Country or region name used to pre-fill the search, narrowing results to the given country or region | United Kingdom |
station_name | string | false | Station (airport) name used to pre-fill the search, narrowing results to the given station | Manchester Airport |
Resource list (common/search-result)
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
transport_hub_id | string | false | Transport hub ID that loads the search result list of a specific hub directly, skipping the search step | — |
transport_hub_name | string | false | Name of the transport hub displayed at the top of the result page, usually paired with transport_hub_id | — |
iata_code | string | false | Airport IATA code used to pre-filter the result list, showing only lounges at the given airport | MAN |
Resource detail (lounge/detail)
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
resource_id | string | true | Resource ID of the lounge, required to load the lounge details when the page is opened directly | N01878 |
Order detail (lounge/order-detail)
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
order_no | string | true | Order number of the lounge reservation, required to load the order details when the page is opened directly | SL20260730BMIUPFB |
Prerequisites
- A registered
clientIdfrom the DP Platform dashboard - The
loungeappId configured under your client - DP Hybrid SDK integrated into your host app
iOS
Open the Lounge DPApp from any UIViewController:
// From any UIViewController
DPSDK.open(appId: "lounge", 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: "lounge", from: self)
// Open the landing page directly
DPSDK.open(
appId: "lounge",
params: [
"path": "lounge/landing",
"tenant_code": "0494",
"action_type": "operate",
"module": "1",
"language": "en-US",
"verify_purchase_pro_code": "IL0494000002",
],
from: self
)
// Open the order detail page directly
DPSDK.open(
appId: "lounge",
params: [
"path": "lounge/order-detail",
"tenant_code": "0494",
"action_type": "operate",
"module": "1",
"language": "en-US",
"verify_purchase_pro_code": "IL0494000002",
"order_no": "SL20260730BMIUPFB",
],
from: self
)
Note: the system parameters above are required whenever a page is opened directly. Page-specific parameters (e.g.
order_no,resource_id,iata_code) are appended only for the pages that need them (see Page parameters).
Android
Open the Lounge DPApp from any Activity or Fragment:
// From any Activity or Fragment
DPSDK.getDPApp("lounge").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("lounge").open(this)
// Open the landing page directly
val dpApp = DPSDK.getDPApp("lounge")
dpApp.setDPAppConfig(
DPAppConfig.Builder()
.setExtraUrlParams(
hashMapOf(
"tenant_code" to "0494",
"action_type" to "operate",
"module" to "1",
"language" to "en-US",
"verify_purchase_pro_code" to "IL0494000002",
)
)
.build()
).open(this, "lounge/landing")
// Open the order detail page directly
val orderDpApp = DPSDK.getDPApp("lounge")
orderDpApp.setDPAppConfig(
DPAppConfig.Builder()
.setExtraUrlParams(
hashMapOf(
"tenant_code" to "0494",
"action_type" to "operate",
"module" to "1",
"language" to "en-US",
"verify_purchase_pro_code" to "IL0494000002",
"order_no" to "SL20260730BMIUPFB",
)
)
.build()
).open(this, "lounge/order-detail")
Note: the system parameters above are required whenever a page is opened directly. Page-specific parameters (e.g.
order_no,resource_id,iata_code) 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. "lounge/order-detail"
}
}
// Android
val dpApp = DPSDK.getDPApp("lounge")
dpApp.setUrlChangeListener { activity, url ->
// url?.path contains the DPApp page path, e.g. "lounge/order-detail"
}.open(this)
Reference
- Getting Started — SDK installation & initialization
- Connect — SSO setup
- Custom Events System — Handle DPApp events
- Error Codes — Error code reference