Add Queue Pro billing, renewal, and scheduler.
Deploy Ladill Queue / deploy (push) Successful in 42s

Organizations can upgrade from wallet with plan expiry enforcement and nightly qms:pro-renew charges.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-06-30 01:07:24 +00:00
co-authored by Cursor
parent 1d50f10c3f
commit 0770faaa9f
11 changed files with 411 additions and 5 deletions
+1
View File
@@ -10,3 +10,4 @@ Artisan::command('inspire', function () {
Schedule::command('qms:mark-devices-offline')->everyFiveMinutes();
Schedule::command('qms:send-appointment-reminders')->everyFifteenMinutes();
Schedule::command('qms:pro-renew')->dailyAt('02:40')->withoutOverlapping();
+4
View File
@@ -22,6 +22,7 @@ use App\Http\Controllers\Qms\MobileQueueController;
use App\Http\Controllers\Qms\OnboardingController;
use App\Http\Controllers\Qms\QueueBoardController;
use App\Http\Controllers\Qms\QueueRuleController;
use App\Http\Controllers\Qms\ProController;
use App\Http\Controllers\Qms\ReportController;
use App\Http\Controllers\Qms\ServiceQueueController;
use App\Http\Controllers\Qms\SettingsController;
@@ -168,5 +169,8 @@ Route::middleware(['auth', 'platform.session'])->group(function () {
Route::get('/settings', [SettingsController::class, 'edit'])->name('qms.settings.edit');
Route::put('/settings', [SettingsController::class, 'update'])->name('qms.settings.update');
Route::get('/pro', [ProController::class, 'index'])->name('qms.pro.index');
Route::post('/pro/subscribe', [ProController::class, 'subscribe'])->name('qms.pro.subscribe');
});
});