Presenting OrderNext Screens
Food, Merch, and Experiences
Currently, activity presentation to various order flows is supported.
If presenting from an Activity in which you wish to contain the VN Web View activity, you can conform to the VNNavigationControllerInterface
and override the following method in order to clean up and call finish()
in your activity if need be:
class MainActivity : AppCompatActivity(), VNNavigationControllerInterface {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
...
VNNavigationController.addNavigationListener(this)
}
override fun vnFinish() {
val t = Toast.makeText(this, "Track web view activity finish()", Toast.LENGTH_LONG)
t.show()
}
For ease of use, convenience methods have been provided to navigate to all revenue center types within the OrderNext platform.
These are provided as VNNavigationController
methods, and can be utilized as seen below:
Presenting Food and Beverage
import com.venuenext.vnwebsdk.VNNavigationController
// Show all revenue centers with tabbed navigation to select between product types
VNNavigationController.showRvCs(context)
// Show all available Food and Beverage menus
VNNavigationController.showFnB(context)
// Show all available Merchandise menus
VNNavigationController.showMerchandise(context)
// Show all avaialble Experience menus
VNNavigationController.showExperiences(context)
Filtering Food and Beverage Service Types
Currently, push navigation to Food and Beverage screens with a specific ServiceType
is supported.
import com.venuenext.vnwebsdk.VNNavigationController
import com.venuenext.vnwebsdk.types.ServiceType
// Show all available Food and Beverage menus that offer delivery
VNNavigationController.showFnB(
ServiceType.DELIVERY,
context
)
// Show all available Food and Beverage menus that offer pickup
VNNavigationController.showFnB(
ServiceType.PICKUP,
context
)
Advanced Food and Merchandise Filtering
import VNWebSDK
// Show all revenue centers that have no wait times, that have a delivery menu, that near locations Section 100 OR Section 101, and that have Beer and Yummy category items in their menu.
VNNavigationController.showRvCs(
noWaitTimes = true,
serviceType = ServiceType.DELIVERY,
locations = listOf("Section 100", "Section 101"),
categories = listOf("Beer", "Yummy"),
context
)
VNNavigationController.showFnB(
noWaitTimes = true,
serviceType = ServiceType.DELIVERY,
locations = listOf("Section 100", "Section 101"),
categories = listOf("Beer", "Yummy"),
context
)
VNNavigationController.showMerchandise(
noWaitTimes = true,
serviceType = ServiceType.DELIVERY,
locations = listOf("Section 100", "Section 101"),
categories = listOf("Beer", "Yummy"),
context
)
Presenting Specific Menus with Options
Currently, activity based navigation to specific Menus is supported.
To navigate to a specific menu, you must be able to provide a menu UUID.
Presenting a specific Experience also supports passing in an Event UUID to auto populate which Event the experience should be purchased under.
import com.venuenext.vnwebsdk.VNNavigationController
// Show a specific Food and Beverage menu
VNNavigationController.showFnBMenu(
menuId: "55559869-3e16-4acd-87e5-a35f7e49a8de",
context
)
// Show a specific Merchandise Menu
VNNavigationController.showMerchandiseMenu(
menuId: "a5f8e571-fe8a-44c7-a694-b9dbaab05737",
context
)
// Show a specific Food and Beverage menu item
VNNavigationController.showFoodMenuIteem(
"cde84c5d-6b0a-4d1b-a446-6c910076f8bd",
"0131cd38-0bc9-46ff-bf46-c46dc68be9a1",
context
)
// Show a specific Merchandise menu item
VNNavigationController.showMerchandiseMenuItem(
"a5f8e571-fe8a-44c7-a694-b9dbaab05737",
"796f81a3-2409-4b5d-8c5b-78687624b400",
context
)
// Show a specific Experience Menu without an Event pre-populated
VNNavigationController.showExperienceMenu(
menuId: "399f78b7-5576-48e2-abd8-99d390c042ee",
eventId: null,
context
)
// Show a specific Experience Menu with an Event pre-populated
VNNavigationController.showExperienceMenu(
menuId: "399f78b7-5576-48e2-abd8-99d390c042ee",
eventId: "c7b19487-f24b-433e-aaf9-29f150893b22",
context
)
// Show a Detailed view of a specific Experience without an Event pre-populated:
VNNavigationController.showExperienceDetails(
menuId: "399f78b7-5576-48e2-abd8-99d390c042ee",
itemId: "6c75f779-05a7-41ca-bb3b-1c173005ec39",
eventId: null,
variantId: null,
context
)
// Show a Deatiled view of a specific Experience with an Event pre-populated
VNNavigationController.showExperienceDetails(
menuId: "399f78b7-5576-48e2-abd8-99d390c042ee",
itemId: "6c75f779-05a7-41ca-bb3b-1c173005ec39",
eventId: "c7b19487-f24b-433e-aaf9-29f150893b22",
variantId: "variant_id",
context
)
Presenting Wallet and Virtual Currency screens
Currently, activity based navigation to the Wallet and Virtual Currency screens is supported.
The current iteration of the Wallet screen serves multiple purposes, and can further direct the user to other registered User and Loyalty based screens such as:
- Shop - Landing screen for shopping via revenue centers
- Orders - View history of orders placed
- Scan & Pay - Rich checkout features for Scanning a QR Code or displaying the user’s Loyalty QR Code
- Send Virtual Currency - Virtual Currency transfer
- Virtual Currency Activity
- Benefits & Rewards - Loyalty awards available to the user as well as progress towards rewards
- My Info - User settings
- Payments
- Load Ticket
import com.venuenext.vnwebsdk.VNNavigationController
// Show wallet screen for further navigation to additional feature screens as outlined above
VNNavigationController.showWallet(context)
// Show the Loyalty user's Virtual Currency Activity
VNNavigationController.showVirtualCurrencyActivity(context)
// Show the Loyalty user's Virtual Currency Transfer page
VNNavigationController.showSendVirtualCurrency(context)
// Show Benefits and Rewards for purchases and Virtual Currency
VNNavigationController.showBenefitsAndRewards(context)
// Show the user's Information page
VNNavigationController.showMyInfo(context)
// Show the user's Payment Methods page
VNNavigationController.showPayments(context)
// Show the user's Badge modal
VNNavigationController.showBadge(context)
// Show the Scan and Pay QR Code and Barcode scanner
VNNavigationController.showScanner(context)
// Show the loyalty QR Code
VNNavigationController.showQrCode(context)
// Show Load Ticket
VNNavigationController.showLoadTicket(context)
Presenting Order information
Currently, push navigation to the Order History and Order Receipt screens is supported.
import com.venuenext.vnwebsdk.VNNavigationController
// Show the user's Order History
VNNavigationController.showOrderHistory(context)
// Show a specific receipt from the user's Order History
VNNavigationController.showOrderReceipt(
"5cdd721d-5950-45b7-abdc-b4b5e74675d2",
context
)