Skip to content

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