Appearance
Vanhoutte Onboarding Flow
Overview
Vanhoutte is a location-specific POS integration that works identically to Hendrickx (both use the Kassanet integration system). VanhoutteService extends the shared AbstractKassanetService, so the two providers differ only in the provider identifier (vanhoutte vs hendrickx). Each location must be connected separately. Vanhoutte does NOT include payment processing - you need a separate payment provider (Stripe or Viva Wallet).
Important: Before connecting Vanhoutte, the only prerequisite enforced at connect time is a Branding Profile (Payment and Billing profiles are optional and can be set up later). You must also create a location and select it from the backoffice topbar, and the location must not already have another in-house POS (Hendrickx, Vanhoutte, or ShopCaisse) connected.
Integration Type
- Scope: Location-specific (each location connects separately)
- Payment Processing: NOT included (requires Stripe or Viva Wallet)
- Menu Sync: Pull from Vanhoutte (menu items imported from POS)
- Order Sync: Push to Vanhoutte (orders sent after payment confirmed)
- Technical Note: Uses same Kassanet integration system as Hendrickx
Discovery Flow (JSON - for deterministic parsing)
discovery_questions
[
{
"id": "channels",
"text": "What channels do you want to set up with Vanhoutte?",
"text_i18n": {
"nl": "Welke kanalen wil je instellen met Vanhoutte?",
"fr": "Quels canaux souhaitez-vous configurer avec Vanhoutte ?",
"de": "Welche Kanäle möchten Sie mit Vanhoutte einrichten?",
"es": "¿Qué canales quieres configurar con Vanhoutte?",
"it": "Quali canali vuoi configurare con Vanhoutte?",
"pt": "Que canais quer configurar com o Vanhoutte?"
},
"options": [
"Kiosk only",
"Online ordering only",
"Both"
],
"labels": {
"nl": {
"Kiosk only": "Alleen kiosk",
"Online ordering only": "Alleen online bestellen",
"Both": "Beide"
},
"fr": {
"Kiosk only": "Kiosque uniquement",
"Online ordering only": "Commande en ligne uniquement",
"Both": "Les deux"
},
"de": {
"Kiosk only": "Nur Kiosk",
"Online ordering only": "Nur Online-Bestellung",
"Both": "Beides"
},
"es": {
"Kiosk only": "Solo quiosco",
"Online ordering only": "Solo pedidos en línea",
"Both": "Ambos"
},
"it": {
"Kiosk only": "Solo chiosco",
"Online ordering only": "Solo ordini online",
"Both": "Entrambi"
},
"pt": {
"Kiosk only": "Apenas quiosque",
"Online ordering only": "Apenas pedidos online",
"Both": "Ambos"
}
}
},
{
"id": "menu_ready",
"text": "Do you already have your menu set up in Vanhoutte?",
"text_i18n": {
"nl": "Heb je je menu al ingesteld in Vanhoutte?",
"fr": "Votre menu est-il déjà configuré dans Vanhoutte ?",
"de": "Ist Ihr Menü bereits in Vanhoutte eingerichtet?",
"es": "¿Ya tienes tu menú configurado en Vanhoutte?",
"it": "Hai già configurato il tuo menu in Vanhoutte?",
"pt": "Já tem o seu menu configurado no Vanhoutte?"
},
"options": [
"Yes, my menu is in Vanhoutte",
"No, I need to create it"
],
"labels": {
"nl": {
"Yes, my menu is in Vanhoutte": "Ja, mijn menu staat in Vanhoutte",
"No, I need to create it": "Nee, ik moet het nog aanmaken"
},
"fr": {
"Yes, my menu is in Vanhoutte": "Oui, mon menu est dans Vanhoutte",
"No, I need to create it": "Non, je dois le créer"
},
"de": {
"Yes, my menu is in Vanhoutte": "Ja, mein Menü ist in Vanhoutte",
"No, I need to create it": "Nein, ich muss es erst erstellen"
},
"es": {
"Yes, my menu is in Vanhoutte": "Sí, mi menú está en Vanhoutte",
"No, I need to create it": "No, necesito crearlo"
},
"it": {
"Yes, my menu is in Vanhoutte": "Sì, il mio menu è in Vanhoutte",
"No, I need to create it": "No, devo crearlo"
},
"pt": {
"Yes, my menu is in Vanhoutte": "Sim, o meu menu está no Vanhoutte",
"No, I need to create it": "Não, preciso de o criar"
}
},
"abort_if": "No, I need to create it",
"abort_message": "Vanhoutte requires your menu to be set up in the POS first. Please create your menu items in Vanhoutte, then come back to continue the setup.",
"abort_message_i18n": {
"nl": "Vanhoutte vereist dat je menu eerst in de kassa staat. Maak je menu-items aan in Vanhoutte en kom daarna terug om de installatie te voltooien.",
"fr": "Vanhoutte nécessite que votre menu soit d'abord configuré dans le système de caisse. Créez vos articles dans Vanhoutte, puis revenez pour poursuivre la configuration.",
"de": "Vanhoutte erfordert, dass Ihr Menü zuerst im Kassensystem eingerichtet ist. Legen Sie Ihre Menüartikel in Vanhoutte an und kehren Sie dann zurück, um die Einrichtung fortzusetzen.",
"es": "Vanhoutte requiere que tu menú esté configurado primero en el TPV. Crea tus artículos en Vanhoutte y luego vuelve para continuar la configuración.",
"it": "Vanhoutte richiede che il menu sia prima configurato nel POS. Crea i tuoi articoli in Vanhoutte e poi torna per continuare la configurazione.",
"pt": "O Vanhoutte exige que o seu menu esteja primeiro configurado no POS. Crie os seus artigos no Vanhoutte e depois volte para continuar a configuração."
}
}
]setup_steps
{
"Kiosk only": [
{"id": "branding_profile", "title": "Set up Store Branding", "route": "/settings/brand"},
{"id": "create_location", "title": "Create Location", "route": "/settings/locations"},
{"id": "select_location", "title": "Select Location from Topbar", "action": "open_location_selector"},
{"id": "connect_pos", "title": "Connect Vanhoutte", "route": "/vanhoutte", "channel": "vanhoutte"},
{"id": "sync_menu", "title": "Sync Menu", "route": "/vanhoutte"},
{"id": "menu_for_kiosk", "title": "Build Menu for Kiosk", "route": "/menus/menu-builder"},
{"id": "in_house_settings", "title": "Set up In-House Settings", "route": "/in-house/settings"},
{"id": "device_profile", "title": "Create Device Profile", "route": "/device-management/profiles"},
{"id": "kiosk_device", "title": "Set up Kiosk & Activate Payment", "route": "/device-management/devices"},
{"id": "payment_profile", "title": "Set up Payment Profile", "route": "/settings/payments", "optional_for_go_live": true},
{"id": "billing_profile", "title": "Set up Billing Profile", "route": "/settings/billing", "optional_for_go_live": true},
{"id": "test_kiosk", "title": "Activate Kiosk & Test Order", "optional_for_go_live": true}
],
"Online ordering only": [
{"id": "branding_profile", "title": "Set up Store Branding", "route": "/settings/brand"},
{"id": "create_location", "title": "Create Location", "route": "/settings/locations"},
{"id": "select_location", "title": "Select Location from Topbar", "action": "open_location_selector"},
{"id": "connect_pos", "title": "Connect Vanhoutte", "route": "/vanhoutte", "channel": "vanhoutte"},
{"id": "sync_menu", "title": "Sync Menu", "route": "/vanhoutte"},
{"id": "menu_for_online_ordering", "title": "Build Menu for Online Ordering", "route": "/menus/menu-builder"},
{"id": "online_settings", "title": "Set up Online Settings", "route": "/online-settings"},
{"id": "configure_online_ordering", "title": "Set up Online Ordering", "route": "/online/online-ordering"},
{"id": "payment_profile", "title": "Set up Payment Profile", "route": "/settings/payments", "optional_for_go_live": true},
{"id": "billing_profile", "title": "Set up Billing Profile", "route": "/settings/billing", "optional_for_go_live": true},
{"id": "test_online_ordering", "title": "Open Online Ordering URL & Test Order", "route": "/online/online-ordering", "optional_for_go_live": true}
],
"Both": [
{"id": "branding_profile", "title": "Set up Store Branding", "route": "/settings/brand"},
{"id": "create_location", "title": "Create Location", "route": "/settings/locations"},
{"id": "select_location", "title": "Select Location from Topbar", "action": "open_location_selector"},
{"id": "connect_pos", "title": "Connect Vanhoutte", "route": "/vanhoutte", "channel": "vanhoutte"},
{"id": "sync_menu", "title": "Sync Menu", "route": "/vanhoutte"},
{"id": "menu_for_kiosk", "title": "Build Menu for Kiosk", "route": "/menus/menu-builder"},
{"id": "menu_for_online_ordering", "title": "Build Menu for Online Ordering", "route": "/menus/menu-builder"},
{"id": "in_house_settings", "title": "Set up In-House Settings", "route": "/in-house/settings"},
{"id": "device_profile", "title": "Create Device Profile", "route": "/device-management/profiles"},
{"id": "kiosk_device", "title": "Set up Kiosk & Activate Payment", "route": "/device-management/devices"},
{"id": "online_settings", "title": "Set up Online Settings", "route": "/online-settings"},
{"id": "configure_online_ordering", "title": "Set up Online Ordering", "route": "/online/online-ordering"},
{"id": "payment_profile", "title": "Set up Payment Profile", "route": "/settings/payments", "optional_for_go_live": true},
{"id": "billing_profile", "title": "Set up Billing Profile", "route": "/settings/billing", "optional_for_go_live": true},
{"id": "test_kiosk", "title": "Activate Kiosk & Test Order", "optional_for_go_live": true},
{"id": "test_online_ordering", "title": "Open Online Ordering URL & Test Order", "route": "/online/online-ordering", "optional_for_go_live": true}
]
}