Deploy Ladill POS / deploy (push) Successful in 2m15s
Enforce plan location caps in SubscriptionService, surface upgrade copy on plans and branch settings, and cover the limits in tests.
53 lines
1.8 KiB
PHP
53 lines
1.8 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' => 'Unlimited registers & catalog, stock tracking & ecosystem sync — from GHS 790/mo.',
|
|
'route' => 'pos.pro.index',
|
|
],
|
|
];
|