Deep Linking

In order to enable deep linking to all supported screens, you will need to register a URL Scheme in your target’s Info.plist. This value should be provided by VenueNext integration support.

If you already have an App Scheme that you support or are planning to support, please let VenueNext know in case you have any issues.

To add a URL Scheme to your Info.plist:

  1. Add a URL types array to your Info.plist
  2. If no items have been added, under the Item 0 dictionary, add a URL Schemes array entry
  3. The Item 0 in the URL Schemes array should be a value type of String. Add your app scheme name here.

In your AppDelegate, add the following:

public func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {

    let canHandle = VenueNextWeb.canHandle(url: url)

    if canHandle {
        VenueNextWeb.handle(url: url, presenter: presenter, completion: nil)
    }

    return canHandle
}

Query Parameter Legend

pt = Product Type
mid = Menu UUID
eid = Event UUID
iid = Item UUID
vid = Variant UUID

// The following are filters for the revenue center lists. The below are only to be used in conjunction with Product Type (pt).

f_nwt = No Wait Times (Boolean)
f_st = Service Type (pickup, delivery, none) - Case Sensitive
f_l = Locations (comma delimited, URI encoded) - Exact matches only
f_c = Categories (comma delimited, URI encoded) - Exact matches only

Once integrated, an easy shortcut to test a deep link via xcrun CLI is:

xcrun simctl openurl booted "<DEEP_LINK_HERE>"

Deep linking to Product Type Menus

<APP_SCHEME>://vn/rvc?pt=<PRODUCT_TYPE>

// e.g
vndemoapp://vn/rvc?pt=all
vndemoapp://vn/rvc?pt=food
vndemoapp://vn/rvc?pt=merchandise
vndemoapp://vn/rvc?pt=experience

Deep linking to Product type Menus with filters

Filters do not work for the Experience product type

<APP_SCHEME>://vn/rvc?pt=<food/merchandise>&f_nwt=<true/false>&=f_st=<pickup/delivery/none>&f_l=<comma,delimited,uri,encoded,list>&f_c=<comma,delimited,uri,encoded,list>

// e.g.
vndemoapp://vn/rvc?pt=food&f_nwt=true&f_st=pickup&f_l=Upper%20Deck&f_c=Finger%20Foods
vndemoapp://vn/rvc?pt=merchandise&f_nwt=false&f_st=delivery&f_l=Upper%20Deck,Lower%Deck,Upstairs,Downstairs&f_c=Finger%20Foods,Alcohol

Deep linking to a specific Food & Beverage or Merchandise Menu

<APP_SCHEME>://vn/rvc/menu?pt=<PRODUCT_TYPE>&mid=<MENU_UUID>

// e.g.
vndemoapp://vn/rvc/menu?pt=food&mid=55559869-3e16-4acd-87e5-a35f7e49a8de

Deep linking to an Experience Menu

 <APP_SCHEME>://vn/rvc/menu?pt=experience&mid=<MENU_UUID>

 // e.g.

 // Experience Menu without an Event pre-populated
 vndemoapp://vn/rvc/menu?pt=experience&mid=399f78b7-5576-48e2-abd8-99d390c042ee

 // Experience Menu with an Event pre-populated
vndemoapp://vn/rvc/menu?pt=experience&mid=399f78b7-5576-48e2-abd8-99d390c042ee&eid=eb224e64-bcc5-4cc8-9109-e9893da6c228

Deep linking to a specific Food & Beverage or Merchandise Menu Item

<APP_SCHEME>://vn/rvc/menu?pt=<PRODUCT_TYPE>&mid=<MENU_UUID>&=iid=<ITEM_UUID>

// e.g.
vndemoapp://vn/rvc/menu?pt=food&mid=55559869-3e16-4acd-87e5-a35f7e49a8de&iid=796f81a3-2409-4b5d-8c5b-78687624b400

Deep linking to a Detailed Experience Menu view

<APP_SCHEME>://vn/rvc/menu?pt=experience&mid=<MENU_UUID>&iid=<ITEM_UUID>

// e.g.

// Detailed Experience Menu view without event pre-populated
vndemoapp://vn/rvc/menu?pt=experience&&mid=399f78b7-5576-48e2-abd8-99d390c042ee&iid=e048b2a6-2aaf-46ee-8df1-19f821189972

// Detailed Experience Menu view with event pre-populated
vndemoapp://vn/rvc/menu?pt=experience&sid=399f78b7-5576-48e2-abd8-99d390c042ee&mid=399f78b7-5576-48e2-abd8-99d390c042ee&eid=c7b19487-f24b-433e-aaf9-29f150893b22&iid=e048b2a6-2aaf-46ee-8df1-19f821189972

Deep linking to user’s Order History

// Order History
<APP_SCHEME>://vn/order/activity
// e.g.
vndemoapp://vn/order/activity

// Order Receipt
<APP_SCHEME>://vn/order/receipt?uuid=<RECEIPT_UUID>
// e.g.
vndemoapp://vn/order/receipt?uuid=5cdd721d-5950-45b7-abdc-b4b5e74675d2

Deep linking to user’s Wallet and sub pages

// Wallet
<APP_SCHEME>://vn/wallet
// e.g.
vndemoapp://vn/wallet

// Virtual Currency Activiity
<APP_SCHEME>://vn/wallet/virtual-currency/activity
// e.g.
vndemoapp://vn/wallet/virtual-currency/activity
// Scan and Pay
<APP_SCHEME>://vn//wallet/scan-and-pay
// e.g.
vndemoapp://vn/wallet/scan-and-pay

// Send Virtual Currency
<APP_SCHEME>://vn/wallet/virtual-currency/transfer
// e.g.
vndemoapp://vn/wallet/virtual-currency/transfer

// Benefits and Rewards
<APP_SCHEME>://vn/wallet/virtual-currency/awards-rules
// e.g.
vndemoapp://vn/wallet/virtual-currency/awards-rules

// My Info
<APP_SCHEME>://vn/profile/settings
// e.g.
vndemoapp://vn/profile/settings

// My Badge
<APP_SCHEME>://vn/wallet?showBadge=1
// e.g.
vndemoapp://vn/wallet?showBadge=1

// My Payment Methods
<APP_SCHEME>://vn/wallet?showPayments=1
// e.g.
vndemoapp://vn/wallet?showPayments=1

// Scanner
<APP_SCHEME>://vn/wallet/scanner
// e.g.
vndemoapp://vn/wallet/scanner

// QR Code
<APP_SCHEME>://vn/wallet/qrcode
// e.g.
vndemoapp://vn/wallet/qrcode

// Load Tickets
<APP_SCHEME>://vn/wallet?showExchangeServiceDialog=1
// e.g.
vndemoapp://vn/wallet?showExchangeServiceDialog=1

Updated: