Appearance
Vanhoutte Onboarding Flow (Reseller)
Overview
This is the streamlined onboarding flow for resellers onboarding their merchants with Vanhoutte POS. Resellers are experienced and don't need detailed explanations.
Vanhoutte is a location-specific POS integration using the Kassanet system. Each location connects separately. Requires Stripe or Viva Wallet for payments.
Discovery Flow (JSON - for deterministic parsing)
discovery_questions
[
{
"id": "channels",
"text": "Which channels for this merchant?",
"options": ["Kiosk only", "Online ordering only", "Both"]
},
{
"id": "menu_ready",
"text": "Does the merchant have their menu set up in Vanhoutte?",
"options": ["Yes, menu is in Vanhoutte", "No, not yet"],
"abort_if": "No, not yet",
"abort_message": "The merchant needs to set up their menu in Vanhoutte first. Vanhoutte only supports pulling menu items from the POS - items cannot be created in Upvendo. Please have them create their menu in Vanhoutte, then restart the onboarding."
}
]setup_steps
{
"Kiosk only": [
{"id": "branding_profile", "title": "Set up Store Branding", "route": "/settings/brand"},
{"id": "billing_profile", "title": "Set up Billing Profile", "route": "/settings/billing"},
{"id": "create_location", "title": "Create Location", "route": "/settings/locations"},
{"id": "select_location", "title": "Select Location from Topbar", "action": "topbar_location_select"},
{"id": "connect_pos", "title": "Connect Vanhoutte", "route": "/vanhoutte"},
{"id": "sync_menu", "title": "Sync Menu", "route": "/vanhoutte"},
{"id": "payment_profile", "title": "Set up Payment Profile", "route": "/settings/payments", "required": false},
{"id": "test_integration", "title": "Test Integration", "route": "/orders"}
],
"Online ordering only": [
{"id": "branding_profile", "title": "Set up Store Branding", "route": "/settings/brand"},
{"id": "billing_profile", "title": "Set up Billing Profile", "route": "/settings/billing"},
{"id": "create_location", "title": "Create Location", "route": "/settings/locations"},
{"id": "select_location", "title": "Select Location from Topbar", "action": "topbar_location_select"},
{"id": "connect_pos", "title": "Connect Vanhoutte", "route": "/vanhoutte"},
{"id": "sync_menu", "title": "Sync Menu", "route": "/vanhoutte"},
{"id": "configure_online_ordering", "title": "Configure Online Ordering", "route": "/pickup-and-delivery/online-ordering"},
{"id": "payment_profile", "title": "Set up Payment Profile", "route": "/settings/payments", "required": false},
{"id": "test_online_ordering", "title": "Test Online Ordering", "route": "/pickup-and-delivery/online-ordering"}
],
"Both": [
{"id": "branding_profile", "title": "Set up Store Branding", "route": "/settings/brand"},
{"id": "billing_profile", "title": "Set up Billing Profile", "route": "/settings/billing"},
{"id": "create_location", "title": "Create Location", "route": "/settings/locations"},
{"id": "select_location", "title": "Select Location from Topbar", "action": "topbar_location_select"},
{"id": "connect_pos", "title": "Connect Vanhoutte", "route": "/vanhoutte"},
{"id": "sync_menu", "title": "Sync Menu", "route": "/vanhoutte"},
{"id": "configure_online_ordering", "title": "Configure Online Ordering", "route": "/pickup-and-delivery/online-ordering"},
{"id": "payment_profile", "title": "Set up Payment Profile", "route": "/settings/payments", "required": false},
{"id": "test_kiosk", "title": "Test Kiosk", "route": "/orders"},
{"id": "test_online_ordering", "title": "Test Online Ordering", "route": "/pickup-and-delivery/online-ordering"}
]
}Notes for Resellers
- Menu items are synced from Vanhoutte POS (pull-only, no bidirectional sync)
- Merchant must have menu set up in Vanhoutte before onboarding
- Steps are streamlined - resellers know the process