Deploy Ladill POS / deploy (push) Successful in 46s
Kitchen display devices open a full-screen KDS without staff login, with feed/stream/bump over the device token. Shared kitchen board logic is extracted so the signed-in Kitchen page stays in sync.
83 lines
3.3 KiB
PHP
83 lines
3.3 KiB
PHP
<?php
|
|
|
|
return [
|
|
'default_currency' => env('POS_DEFAULT_CURRENCY', 'GHS'),
|
|
'merchant_import_enabled' => (bool) env('POS_MERCHANT_IMPORT_ENABLED', true),
|
|
|
|
// Service-to-service keys for the kitchen ingest API (POST /api/kitchen/orders),
|
|
// keyed by the calling service. Empty = that service cannot push (secure default).
|
|
'kitchen_api_keys' => array_filter([
|
|
'merchant' => env('KITCHEN_API_KEY_MERCHANT'),
|
|
]),
|
|
|
|
'pro' => [
|
|
'enabled' => filter_var(env('POS_PRO_ENABLED', true), FILTER_VALIDATE_BOOLEAN),
|
|
'price_minor' => (int) env('POS_PRO_PRICE_MINOR', 79000),
|
|
'currency' => env('POS_PRO_CURRENCY', 'GHS'),
|
|
'period_days' => (int) env('POS_PRO_PERIOD_DAYS', 30),
|
|
'grace_days' => (int) env('POS_PRO_GRACE_DAYS', 3),
|
|
],
|
|
|
|
'plans' => [
|
|
'pro' => [
|
|
'price_minor' => (int) env('POS_PRO_PRICE_MINOR', 79000),
|
|
// null = unlimited
|
|
'max_locations' => (int) env('POS_PRO_MAX_LOCATIONS', 3),
|
|
],
|
|
'enterprise' => [
|
|
'price_minor' => (int) env('POS_ENTERPRISE_PRICE_MINOR', 249000),
|
|
// null = unlimited branches
|
|
'max_locations' => null,
|
|
],
|
|
],
|
|
|
|
'prepaid_months' => [6, 12, 24],
|
|
|
|
'free' => [
|
|
'max_locations' => (int) env('POS_FREE_MAX_LOCATIONS', 1),
|
|
'max_products' => (int) env('POS_FREE_MAX_PRODUCTS', 50),
|
|
],
|
|
|
|
'roles' => [
|
|
'admin' => 'Admin — full access to all branches',
|
|
'manager' => 'Manager — all branches (or one if assigned)',
|
|
'cashier' => 'Cashier — assigned branch only',
|
|
],
|
|
|
|
'upgrade_banner' => [
|
|
'title' => 'Unlock POS Pro or Business',
|
|
'description' => 'Your own payment gateway, unlimited catalog, multi-branch & team — from GHS 790/mo.',
|
|
'route' => 'pos.pro.index',
|
|
],
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Hardware / screen devices (register, customer display, kitchen, …)
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
'device_types' => [
|
|
'register' => 'Register / till computer',
|
|
'customer_display' => 'Customer display',
|
|
'kitchen_display' => 'Kitchen display',
|
|
'receipt_printer' => 'Receipt printer',
|
|
'barcode_scanner' => 'Barcode scanner',
|
|
'tablet' => 'Tablet',
|
|
],
|
|
|
|
/** Types that get a server-generated token for unattended open URLs / agents. */
|
|
'device_token_types' => [
|
|
'customer_display',
|
|
'kitchen_display',
|
|
'receipt_printer',
|
|
],
|
|
|
|
'device_registration_hints' => [
|
|
'register' => 'Tracked for your team. Staff sign in on this machine — no device token is issued.',
|
|
'customer_display' => 'Creates (or reuses) the branch customer-display token. Open the URL on a second screen facing the customer.',
|
|
'kitchen_display' => 'Creates a device token. Open the kitchen URL on a wall tablet — no staff login required. Bump items from the board.',
|
|
'receipt_printer' => 'Token for a future print agent. Paper size still comes from branch receipt settings.',
|
|
'barcode_scanner' => 'Tracked for inventory. USB scanners work as keyboard wedges on the register today.',
|
|
'tablet' => 'Tracked for inventory. Use Customer display or Kitchen display if the tablet should run unattended.',
|
|
],
|
|
];
|