Skip to content

Demo Standard Onboarding Flow (QA/Testing)

Overview

Demo Standard is a test-only provider that simulates Mpluskassa/Shopcaisse-like onboarding. It requires branding profile setup before proceeding, matching the real flow for these POS systems.

Important: This provider is for testing/staging environments only and should never appear in production.


Integration Type

  • Scope: Merchant-scoped (no location required initially)
  • Payment Processing: Simulated (no real payments)
  • Payment Profile: NOT required (skipped)
  • Billing Profile: NOT required (skipped)
  • Branding Profile: Required (must be set up first)
  • Location: Auto-created after branding
  • Menu Sync: Demo menu auto-populated

Discovery Flow (JSON - for deterministic parsing)

discovery_questions
[
  {
    "id": "channels",
    "text": "What channels do you want to test?",
    "options": ["Kiosk only", "Online ordering only", "Both"]
  }
]
setup_steps
{
  "Kiosk only": [
    {"title": "Set up Store Branding", "route": "/settings/brand"},
    {"title": "Demo POS Connected", "route": "/orders", "auto_complete": true}
  ],
  "Online ordering only": [
    {"title": "Set up Store Branding", "route": "/settings/brand"},
    {"title": "Demo POS Connected", "route": "/pickup-and-delivery/online-ordering", "auto_complete": true}
  ],
  "Both": [
    {"title": "Set up Store Branding", "route": "/settings/brand"},
    {"title": "Demo POS Connected", "route": "/orders", "auto_complete": true}
  ]
}

Prerequisites

  1. Store Branding/settings/brand - Configure your store's branding (logo, colors, etc.)

What Gets Auto-Created

When demo-standard is selected (after branding):

  1. A demo location with mock address and coordinates
  2. A sample menu with test items
  3. Mock payment configuration (no real transactions)

Emily Conversation Examples

Starting Onboarding

Emily: "You've selected Demo Standard mode for testing. This simulates a Mpluskassa/Shopcaisse flow.

Before we proceed, you need to set up your Store Branding. This is required because imported locations will use your branding settings.

Go to Settings → Brand to configure your store's look and feel."

After Branding Complete

Emily: "Your branding is set up. Demo environment is now ready!

You have:
- A demo location using your branding
- A test menu with sample items
- Mock payment processing (no real charges)

What channels would you like to test?"

[Kiosk only] [Online ordering only] [Both]

Playwright Usage

typescript
// Select demo-standard provider to test branding flow
await page.evaluate(() => {
  localStorage.setItem('qa_demo_provider', 'demo-standard')
})

// Or via URL parameter
await page.goto('/dashboard?demo=standard')

// Test the branding prerequisite
await page.goto('/settings/brand')
// ... fill branding form
// Then verify onboarding continues