new gui layout for pricing

This commit is contained in:
Mark Gregory
2026-06-11 10:47:48 +01:00
parent 071a11bf13
commit 6d081cab5b
19 changed files with 1133 additions and 346 deletions
@@ -0,0 +1,91 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('platform_prices', function (Blueprint $table): void {
$table->id();
$table->string('code', 40)->unique();
$table->string('name');
$table->string('strapline')->nullable();
$table->text('description')->nullable();
$table->unsignedInteger('monthly_amount')->default(0);
$table->unsignedInteger('annual_amount')->nullable();
$table->string('currency', 3)->default('gbp');
$table->string('badge_label')->nullable();
$table->json('features')->nullable();
$table->unsignedSmallInteger('sort_order')->default(0)->index();
$table->boolean('is_featured')->default(false)->index();
$table->boolean('is_active')->default(true)->index();
$table->timestamps();
});
DB::table('platform_prices')->insert([
[
'code' => 'basic',
'name' => 'Basic',
'strapline' => 'Core warehouse visibility',
'description' => 'Essential WMS tools for small warehouse operations and controlled stock visibility.',
'monthly_amount' => 4900,
'annual_amount' => 49000,
'currency' => 'gbp',
'badge_label' => 'Starter',
'features' => json_encode(['Warehouse dashboard', 'Inventory overview', 'Basic audit trail', 'Email support']),
'sort_order' => 10,
'is_featured' => false,
'is_active' => true,
'created_at' => now(),
'updated_at' => now(),
],
[
'code' => 'advanced',
'name' => 'Advanced',
'strapline' => 'Operational control suite',
'description' => 'Expanded controls for teams that need replenishment, reporting and integration monitoring.',
'monthly_amount' => 9900,
'annual_amount' => 99000,
'currency' => 'gbp',
'badge_label' => 'Popular',
'features' => json_encode(['Everything in Basic', 'Replenishment workflows', 'Reporting workspace', 'M3 integration status', 'Priority support']),
'sort_order' => 20,
'is_featured' => true,
'is_active' => true,
'created_at' => now(),
'updated_at' => now(),
],
[
'code' => 'pro',
'name' => 'Pro',
'strapline' => 'Enterprise-grade administration',
'description' => 'Full platform administration for regulated warehouse, carrier and document operations.',
'monthly_amount' => 19900,
'annual_amount' => 199000,
'currency' => 'gbp',
'badge_label' => 'Enterprise',
'features' => json_encode(['Everything in Advanced', 'Multi-company administration', 'Security and audit controls', 'Document archive', 'Carrier management', 'Dedicated support']),
'sort_order' => 30,
'is_featured' => false,
'is_active' => true,
'created_at' => now(),
'updated_at' => now(),
],
]);
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('platform_prices');
}
};