<?php
declare(strict_types=1);

return [
    // Pool Configuration
    ['GET',  '/pool',                                   'PoolManagement\Controllers\PoolConfigController@index',       ['auth'], 'pool.view'],
    ['GET',  '/pool/config/create',                     'PoolManagement\Controllers\PoolConfigController@create',      ['auth'], 'pool.manage'],
    ['POST', '/pool/config',                            'PoolManagement\Controllers\PoolConfigController@store',       ['auth', 'csrf'], 'pool.manage'],
    ['GET',  '/pool/config/{id:\d+}/edit',              'PoolManagement\Controllers\PoolConfigController@edit',        ['auth'], 'pool.manage'],
    ['POST', '/pool/config/{id:\d+}',                   'PoolManagement\Controllers\PoolConfigController@update',      ['auth', 'csrf'], 'pool.manage'],

    // Pool Grid & Schedules — migrated to unified FacilityGrids module
    // /pool/{id}/grid and /pool/{id}/schedules now redirect via FacilityGrids\Controllers\RedirectController

    // Pool Bookings
    ['GET',  '/pool/{id:\d+}/book',                     'PoolManagement\Controllers\PoolBookingController@create',     ['auth'], 'pool.book'],
    ['POST', '/pool/{id:\d+}/book',                     'PoolManagement\Controllers\PoolBookingController@store',      ['auth', 'csrf'], 'pool.book'],
    ['GET',  '/pool/bookings',                          'PoolManagement\Controllers\PoolBookingController@index',      ['auth'], 'pool.view'],
    ['GET',  '/pool/bookings/{id:\d+}',                 'PoolManagement\Controllers\PoolBookingController@show',       ['auth'], 'pool.view'],
    ['POST', '/pool/bookings/{id:\d+}/cancel',          'PoolManagement\Controllers\PoolBookingController@cancel',     ['auth', 'csrf'], 'pool.manage'],
    ['POST', '/pool/bookings/{id:\d+}/checkin',         'PoolManagement\Controllers\PoolBookingController@checkin',    ['auth', 'csrf'], 'pool.manage'],

    // Pool Dashboard
    ['GET',  '/pool/{id:\d+}/dashboard',                'PoolManagement\Controllers\PoolDashboardController@show',     ['auth'], 'pool.view'],
];
