HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/qas.sports-crowd.com/routes/web.php
<?php

use App\Http\Controllers\Auth\LoginController;
use App\Http\Controllers\ComplimentaryTicketController;
use App\Http\Controllers\Controller;
use App\Http\Controllers\FlashTicketController;
use App\Http\Controllers\TicketsController;
use App\Http\Controllers\UserController;
use App\Http\Controllers\WebExperienceController;
use App\Http\Controllers\WhatsAppController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\Storage;

Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.request');
Route::post('password/reset', 'Auth\ResetPasswordController@postReset')->name('password.reset');
Route::post('password/recover', 'Auth\LoginController@recoverPassword');
Route::get('password/recover-success', 'RecoverPasswordController@recoverPasswordSuccess');

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
 */
Auth::routes();
Route::get('/', function () {
    if (Auth::check()) {
        $controller = new Controller();
        return redirect($controller->getRouteEnabled());
    } else {
        return redirect('login');
    }
});

// Validacion de terminos y condiciones administradores
Route::post('/term-web', 'Auth\LoginController@validateTerms')->name('terms.validate');
// Gateway responses.
Route::get('/gw/payu', 'GatewayPaymentController@handlePayu');

Route::get('/test/delivery', 'Api\LoginController@test');
Route::get('/open-product/{plu}', 'DeepLinkController@redirectApp');
Route::post('/open-app', 'DeepLinkController@redirectAppRequest');
Route::get('/tickets/total/byMatchCode/{match_code}', 'TicketsController@getTotalByMatchCode')->middleware('throttle:10,1');

Route::group(['middleware' => ['auth', 'route.enabled']], function () {

    //tecnicos
    Route::get('/configuration', 'ConfigurationController@index');
    Route::put('/configuration/typeOrder', 'ConfigurationController@activateTypeOrder');

    // PEDIDOS
    Route::prefix('orders')->group(function () {
        Route::get('/add/{storeType}', 'OrderController@indexAdd');
        Route::get('/evidence/{id}', 'OrderController@indexEvidence');
        Route::get('/transfer/{id}', 'OrderController@indexTransfer');
        Route::post('/create', 'OrderController@create');
        Route::get('/info/{id}', 'OrderController@getOrder');
        Route::get('/edit/{id}', 'OrderController@edit');
        Route::post('/update', 'OrderController@update'); // cambiarlo por put
        Route::get('/redirect/edit/{code}', 'OrderController@redirectEdit');
        Route::post('/filter/{storeType?}', 'OrderController@tableFilter')->name('orders.table');
        Route::post('/typeOrder', 'OrderController@getForm');
        Route::post('/add/transfer', 'OrderController@addTransfer');
        Route::get('/deliveryProcess/{id}', 'OrderController@getOrderInProcess');
        Route::post('/productAvailable', 'Api\OrderApiController@updateAvailableProduct');
        Route::post('/deleteOrder', 'OrderController@clickDeleteOrder');

        // pedidos no aceptados
        Route::get('/notAccepted', 'OrderController@notAccepted');
        Route::get('/generate/report', function () {
            return view('orders.reports.report');
        });
        Route::post('/report', 'OrderController@report');
        Route::post('/qualification', 'OrderController@qualificationAdmin');
        Route::get('/qualification/view/{id}', 'OrderController@viewQualificationAdmin');
        Route::get('/{storeType?}', 'OrderController@indexAdmin');
    });

    // GESTIÓN LOGS ORDENES
    Route::prefix('order_logs')->group(function () {
        Route::get('', 'OrderLogController@index');
        Route::post('/list/{from_date?}/{to_date?}', 'OrderLogController@tableFilter')->name('order_logs.table');
        Route::post('/validateExport', 'OrderLogController@validateExport');
        Route::get('/export/{name}', 'OrderLogController@export');
    });

    Route::get('/test/pusher', 'OrderController@testPusher');

    // GESTIÓN LOGS ADMINISTRACION
    Route::prefix('administration_logs')->group(function () {
        Route::get('', 'AdministrationLogController@index');
        Route::post('/list/{from_date?}/{to_date?}', 'AdministrationLogController@tableFilter')->name('administration_logs.table');
        Route::post('/validateExport', 'AdministrationLogController@validateExport');
        Route::get('/export/{name}', 'AdministrationLogController@export');
    });

    // GESTIÓN LOGS ERP
    Route::prefix('erp_logs')->group(function () {
        Route::get('', 'ErpLogController@index');
        Route::post('/list/{from_date?}/{to_date?}/{origins?}', 'ErpLogController@tableFilter')->name('erp_logs.table');
        Route::post('/validateExport', 'ErpLogController@validateExport');
        Route::get('/export/{name}', 'ErpLogController@export');
        Route::post('/retrySyncERP', 'ErpLogController@retrySyncERP');
    });

    //USER
    Route::post('/user/saveImage', 'UserController@saveImage');
    Route::post('/user/updateImage', 'UserController@updateImage');

    //CLIENTS
    Route::get('/clients', 'UserController@indexClient');
    Route::get('/clients/add', 'UserController@indexAddClient');
    Route::post('/clients/info', 'UserController@getClient');
    Route::get('/clients/edit/{id}', 'UserController@indexEditClient');
    Route::put('/clients/update', 'UserController@updateClient');
    Route::get('/client/autocomplete', 'UserController@autocomplete');
    Route::get('/client/autocomplete/mail', 'UserController@autocompleteMail');
    Route::get('clients/document/{document}', 'UserController@getClientDocument');
    Route::post('/clients/active', 'UserController@activateClient');
    Route::post('/clients/filter', 'UserController@tableFilterClient')->name('clients.table');
    Route::get('/clients/report/all', 'UserController@reportClientAll');
    Route::get('/clients/report/never', 'UserController@reportClientNever');
    Route::get('/clients/report/fifteen', 'UserController@reportClientFifteen');
    Route::get('/clients/coupone/{id}/{coupone}', 'UserController@coupone');
    Route::get('/clients/getDirections/{user_id}', 'UserController@getDirections');
    Route::post('/clients/importSubscribers', 'UserController@importSubscribers');
    Route::get('/clients/fans/all', 'UserController@reportFansAll');
    Route::delete('/clients/deleteClient/{userId}', 'UserController@deleteClient');
    Route::post('/clients/validateExport', 'UserController@validateExport');
    Route::get('/clients/export/{name}', 'UserController@export');
    Route::get('/clients/templateImportSegmentation', 'UserController@templateImportSegmentation');
    Route::post('/clients/importSegmentation', 'UserController@importSegmentation');
    Route::get('/clients/template', 'UserController@template');
    Route::post('/clients/import', 'UserController@import');

    // MENSAJEROS
    Route::get('/deliveryMan', 'UserController@indexDelivery');
    Route::post('/deliveryMan/create', 'UserController@createDeliveryMan');
    Route::post('/deliveryMan/info', 'UserController@getDeliveryMan');
    Route::get('/deliveryMan/edit/{id}', 'UserController@indexEditDeliveryMan');
    Route::post('/deliveryMan/update', 'UserController@updateDeliveryMan');
    Route::put('/deliveryMan/recover', 'UserController@recoverAccount');
    Route::post('/deliveryMan/active', 'UserController@activateDeliveryMan');
    Route::post('/deliveryMan/online', 'UserController@onlineDeliveryMan');
    Route::get('/deliveryMan/getAll', 'UserController@getAllDeliveryMan');
    Route::post('/deliveryMan/delete', 'UserController@deleteDeliveryMan');
    Route::post('/deliveryMan/multipleSession', 'UserController@multipleSession');

    Route::get('/deliveryMan/filter', 'UserController@tableFilterDeliveryMan')->name('deliveryMan.table');
    Route::get('/deliveryMan/add', 'UserController@indexAddDelivery');

    // ADMIN
    Route::get('/admins', 'UserController@indexAdmin');
    Route::get('/admins/add', 'UserController@indexAddAdmin');
    Route::post('/admins/create', 'UserController@createAdmin');
    Route::post('/admins/info', 'UserController@getAdmin');
    Route::get('/admins/edit/{id}', 'UserController@indexEditAdmin');
    Route::post('/admins/update', 'UserController@updateAdmin');
    Route::post('/admins/active', 'UserController@activateAdmin');
    Route::post('/admins/delete', 'UserController@deleteAdmin');
    Route::put('/admins/update/currentDB', 'ServicesController@currentDB');
    Route::get('/admins/filter', 'UserController@tableFilterAdmins')->name('admins.table');

    //ABONADOS
    Route::get('/preSubscribers', 'UserController@indexSubscriber');
    Route::get('/preSubscribers/generateAbonosCredit', 'UserController@generateSubscribersCredit');
    Route::get('/preSubscribers/generateSubscribersRandom', 'UserController@generateSubscribersRandom');
    Route::get('/preSubscribers/deleteSubscribers', 'UserController@deleteSubscribers');
    Route::get('/preSubscribers/filter', 'UserController@tableFilterSubscriber')->name('subscriber.table');
    Route::delete('/preSubscribers/delete/{id}', 'UserController@deletePreSubscriber');

    // OTROS ROLES USUARIOS
    Route::get('/other-users', 'OtherUsersController@index');
    Route::get('/other-users/filter/{rol?}', 'OtherUsersController@filter')->name('other-users.table');
    Route::post('/other-users/active', 'OtherUsersController@activate');
    Route::get('/other-users/add', 'OtherUsersController@indexAdd');
    Route::post('/other-users/create', 'OtherUsersController@create');
    Route::get('/other-users/edit/{id}', 'OtherUsersController@indexEdit');
    Route::put('/other-users/update', 'OtherUsersController@update');
    Route::delete('/other-users/delete', 'OtherUsersController@delete');

    // SUCURSAL
    Route::get('/sucursals', 'SucursalController@index');
    Route::get('/sucursals/add', 'SucursalController@indexAdd');
    Route::post('/sucursals/create', 'SucursalController@create');
    Route::post('/sucursals/info', 'SucursalController@getSucursal');
    Route::get('/sucursals/edit/{id}', 'SucursalController@indexEdit');
    Route::put('/sucursals/update', 'SucursalController@update');
    Route::post('/sucursals/state', 'SucursalController@getCities');
    Route::post('/sucursals/active', 'SucursalController@activateSucursal');
    Route::get('/sucursals/getAll', 'SucursalController@getAll');
    Route::post('/sucursals/delete', 'SucursalController@deleteSucursal');
    Route::get('/sucursals/filter', 'SucursalController@tableFilter')->name('sucursals.table');
    Route::post('/sucursals/saveImage', 'SucursalController@saveImage');
    Route::post('/sucursals/updateImage', 'SucursalController@updateImage');

    // PARAMETROS
    Route::get('/parameters', 'ParameterController@index');
    Route::post('/parameters/update', 'ParameterController@update');
    Route::put('/parameters/typeOrder', 'ParameterController@activateTypeOrder');
    Route::post('/parameters/syncDataLealAPI', 'LealPayController@syncDataLealAPI');

    // LINEAS
    Route::get('/lineBusiness', 'LineBusinessController@index');
    Route::post('/lineBusiness/create', 'LineBusinessController@create');
    Route::get('/lineBusiness/edit/{id}', 'LineBusinessController@indexEdit');
    Route::post('/lineBusiness/update', 'LineBusinessController@update');
    Route::post('/lineBusiness/active', 'LineBusinessController@activateLine');
    Route::post('/lineBusiness/delete', 'LineBusinessController@delete');
    Route::get('/lineBusiness/filter', 'LineBusinessController@tableFilter')->name('line.table');

    // CANALES
    Route::get('/salesChannel', 'SalesChannelController@index');
    Route::post('/salesChannel/create', 'SalesChannelController@create');
    Route::get('/salesChannel/edit/{id}', 'SalesChannelController@indexEdit');
    Route::post('/salesChannel/update', 'SalesChannelController@update');
    Route::post('/salesChannel/active', 'SalesChannelController@activateChannel');
    Route::post('/salesChannel/delete', 'SalesChannelController@delete');
    Route::get('/salesChannel/filter', 'SalesChannelController@tableFilter')->name('channels.table');

    // MARCAS
    Route::prefix('brands')->group(function () {
        Route::post('/filter/{storeType?}', 'BrandsController@tableFilter')->name('brands.table');
        Route::post('/create', 'BrandsController@create');
        Route::get('/edit/{id}', 'BrandsController@indexEdit');
        Route::post('/update', 'BrandsController@update');
        Route::post('/active', 'BrandsController@activate');
        Route::post('/delete', 'BrandsController@delete');
        Route::get('/{storeType?}', 'BrandsController@index');
    });

    //MAPA
    Route::get('/map', 'MapController@index');

    // ATTRIBUTES
    Route::prefix('attributes')->group(function () {
        Route::post('/import/{storeType?}', 'AttributeController@import');
        Route::get('/export/{storeType?}', 'AttributeController@export');
        Route::post('/active', 'AttributeController@activate');
        Route::get('/filter/{storeType?}', 'AttributeController@tableFilter')->name('attributes.table');
        Route::put('/{id}', 'AttributeController@update');
        Route::post('/', 'AttributeController@store');
        Route::get('/{storeType?}', 'AttributeController@index');
        Route::get('/{storeType?}/add', 'AttributeController@indexAdd');
        Route::get('/{storeType?}/edit/{id}', 'AttributeController@indexEdit');
    });

    // PRODUCT ATTRIBUTES
    Route::get('/productAttributes/filter/{product_id}', 'ProductAttributeController@tableFilter')->name('productAttributes.table');
    Route::resource('productAttributes.product', 'ProductAttributeController')->parameters([
        'productAttributes' => 'product_id',
        'product' => 'product_attribute_id'
    ]);

    // HOME
    Route::get('/home', 'HomeController@index');
    Route::get('/states', 'HomeController@states');
    Route::get('/averages', 'HomeController@average');
    Route::get('/averages/state/filter/year/{year}', 'HomeController@statesYear');
    Route::get('/averages/filter/year/{year}', 'HomeController@averageYear');
    Route::get('/chartConnect', 'HomeController@chartConnect');
    Route::get('/chartRegister', 'HomeController@chartRegister');

    Route::get('/averages/admin/states/filter/{year}/{month}/{sucursal}', 'HomeController@statesMonthAdmin');
    Route::get('/averages/admin/filter/{year}/{month}/{sucursal}', 'HomeController@averageMonthAdmin');

    // COBERTURA
    Route::get('/coverages', 'CoverageController@index');
    Route::get('/coverages/create', 'CoverageController@create');
    Route::get('/coverages/{id}/update', 'CoverageController@edit');
    Route::post('/coverages/store', 'CoverageController@store');
    Route::put('/coverages/{id}/update', 'CoverageController@update');
    // Route::get('/coverages/getAll', 'CoverageController@getAll');
    Route::put('/coverages/active', 'CoverageController@stateCoverage');
    Route::post('/coverages/delete', 'CoverageController@delete');
    Route::get('/coverages/filter', 'CoverageController@tableFilter')->name('coverages.table');
    Route::get('/coverages/pending', 'CoverageController@indexPending');
    Route::get('/coverages/pending/filter', 'CoverageController@tableFilterP')->name('coveragesP.table');
    // importar y exportar coberturas
    Route::post('/coverages/importCoverage', 'CoverageController@importCoverages');
    Route::get('/coverages/all', 'CoverageController@reportCoveragesAll');
    Route::get('/coverages/deleteCoverage', 'CoverageController@deleteCoverages');

    // Banners
    Route::get('/banners', 'BannerController@index');
    Route::get('/banners/add', 'BannerController@indexAdd');
    Route::post('/banners/create', 'BannerController@create');
    Route::post('/banners/saveImage', 'BannerController@saveImage');
    Route::get('/banners/edit/{id}', 'BannerController@indexEdit');
    Route::put('/banners/update', 'BannerController@update');
    Route::post('/banners/updateImage', 'BannerController@updateImage');
    Route::post('/banners/active', 'BannerController@activateBanner');
    Route::post('/banners/delete', 'BannerController@deleteBanner');
    Route::get('/banners/filter', 'BannerController@tableFilter')->name('banners.table');

    // PRODUCTOS
    Route::prefix('products')->group(function () {
        Route::post('/create', 'ProductController@create');
        Route::post('/saveImage', 'ProductController@saveImage');
        Route::put('/update', 'ProductController@update');
        Route::post('/updateImage', 'ProductController@updateImage');
        Route::post('/active', 'ProductController@activateProduct');
        Route::post('/delete', 'ProductController@deleteProduct');
        Route::post('/deleteImage', 'ProductController@deleteProductImage');
        Route::get('/filter/{db_name}/{sucursal_id?}/{storeType?}', 'ProductController@tableFilter')->name('products.table');
        Route::get('/export', 'ProductController@export');
        Route::get('/exportCategories', 'ProductController@exportCategories');
        Route::post('/import', 'ProductController@import');
        Route::post('/importExternal', 'ProductController@importExternal');
        Route::post('/importCatAndSub', 'ProductController@importCategoriesAndSubcategories');
        Route::get('/autocomplete', 'ProductController@autocomplete');
        Route::post('/upload/photo', 'ProductController@uploadMassivePhoto');
        Route::get('/{storeType?}', 'ProductController@index');
        Route::get('/{storeType?}/add', 'ProductController@indexAdd');
        Route::get('/{storeType?}/edit/{id}', 'ProductController@indexEdit');
    });

    // discounts
    Route::get('/discounts', 'DiscountController@index');
    Route::post('/discounts/typeDiscount', 'DiscountController@listTypeDiscount');
    Route::get('/discounts/add', 'DiscountController@indexAdd');
    Route::post('/discounts/create', 'DiscountController@create');
    Route::get('/discounts/edit/{id}', 'DiscountController@indexEdit');
    Route::put('/discounts/update', 'DiscountController@update');
    Route::post('/discounts/active', 'DiscountController@activateDiscount');
    Route::get('/discounts/filter/{discount_type_id}', 'DiscountController@tableFilter');
    Route::get('/discounts/info/{id}', 'DiscountController@indexInfo');

    // CATEGORIES
    Route::prefix('categories')->group(function () {
        Route::get('/filter/{sucursal_id?}/{storeType?}', 'CategoryController@tableFilter')->name('categories.table');
        Route::post('/create', 'CategoryController@create');
        Route::post('/saveImage', 'CategoryController@saveImage');
        Route::put('/update', 'CategoryController@update');
        Route::post('/active', 'CategoryController@activateCategory');
        Route::post('/delete', 'CategoryController@delete');
        Route::post('/updateImage', 'CategoryController@updateImage');
        Route::get('/list', 'CategoryController@list');
        Route::get('/{storeType?}', 'CategoryController@index');
        Route::get('/{storeType?}/add', 'CategoryController@indexAdd');
        Route::get('/{storeType?}/edit/{id}', 'CategoryController@indexEdit');
    });

    //SUBCATEGORIES
    Route::prefix('subcategories')->group(function () {
        Route::get('/filter/{storeType?}', 'SubcategoryController@tableFilter')->name('subcategories.table');
        Route::post('/create', 'SubcategoryController@create');
        Route::post('/saveImage', 'SubcategoryController@saveImage');
        Route::put('/update', 'SubcategoryController@update');
        Route::post('/active', 'SubcategoryController@activateSubcategory');
        Route::post('/delete', 'SubcategoryController@delete');
        Route::post('/updateImage', 'SubcategoryController@updateImage');
        Route::get('/{storeType?}', 'SubcategoryController@index');
        Route::get('/{storeType?}/add', 'SubcategoryController@indexAdd');
        Route::get('/{storeType?}/edit/{id}', 'SubcategoryController@indexEdit');
    });

    //MAILBOX
    Route::get('/mailbox', 'MailBoxController@index');
    Route::post('/mailbox/info', 'MailBoxController@getMailBox');
    Route::get('/mailbox/filter', 'MailBoxController@tableFilter')->name('mailbox.table');
    Route::get('/mailbox/notRead', 'MailBoxController@notRead');

    //CHAT
    Route::get('/chats', 'ChatController@index');
    Route::get('/chats/check/{id}', 'ChatController@indexCheck');
    Route::post('/chats/sendMessage', 'ChatController@sendMessage');
    Route::post('/chat/delete', 'ChatController@deleteChat');
    Route::post('/chats/filter', 'ChatController@searchFilter')->name('chats.table');
    // Route::get('/chats/filter',              'ChatController@tableFilter')->name('chats.table');

    // Route planning
    Route::post('/calculate_route', 'RouteController@makeTour');
    Route::post('/assignPlan', 'RouteController@assignPlan');
    Route::get('/test_rxl/{echo}', 'RouteController@makeTest');
    Route::get('/route/planning', 'RouteController@index');
    Route::get('/route/index', 'RouteController@getRoutes');
    Route::get('/route/get/{id}', 'RouteController@getRoute');

    // Scrapper
    Route::get('/finder/word/{word}/{trunc}', 'ScrapResultController@scrapForWord');
    Route::get('/result/word/{word}', 'ScrapResultController@getResult');

    //COMMENTS
    Route::get('/comments', 'CommentController@index');
    Route::get('/comments/filter', 'CommentController@tableFilter')->name('comment.table');
    Route::post('/comments/check', 'CommentController@getComment');
    Route::post('/comments/delete', 'CommentController@delete');
    Route::post('/comments/update', 'CommentController@createAdminComment');
    Route::get('/comments/report', 'CommentController@report');

    //NOTIFICATIONS
    Route::get('/notifications', 'NotificationsController@index');
    Route::get('/notifications/filter', 'NotificationsController@tableFilter')->name('notifications.table');
    Route::get('/notifications/add', 'NotificationsController@indexAdd');
    Route::post('/notifications/create', 'NotificationsController@create');
    Route::post('/notifications/delete', 'NotificationsController@removeScheduledNotification');
    Route::post('/notifications/clear-all', 'NotificationsController@clearAllNotifications');

    //changelogs
    Route::get('/changelogs', 'ChangelogsController@index');
    Route::get('/changelogs/filter', 'ChangelogsController@tableFilter')->name('changelogs.table');
    Route::get('/changelogs/add', 'ChangelogsController@indexAdd');
    Route::post('/changelogs/create', 'ChangelogsController@create');

    //companies
    Route::get('/companies', 'CompanyController@index');
    Route::get('/companies/add', 'CompanyController@indexAdd');
    Route::post('/companies/create', 'CompanyController@create');
    Route::get('/companies/edit/{id}', 'CompanyController@indexEdit');
    Route::put('/companies/update', 'CompanyController@update');
    Route::post('/companies/delete', 'CompanyController@delete');
    Route::post('/companies/active', 'CompanyController@activateCompany');
    Route::get('/companies/filter', 'CompanyController@tableFilter')->name('companies.table');

    //BI
    Route::get('/bi', 'BIController@index');

    // Pusher
    Route::post('/pusher/auth', 'PusherController@authPusher');
    Route::get('/pusher/request/positions', 'PusherController@requestPositions');

    //unidades de medida
    Route::get('/sizing', 'SizingUnitController@index');
    Route::get('/sizing/add', 'SizingUnitController@indexAdd');
    Route::post('/sizing/create', 'SizingUnitController@create');
    Route::get('/sizing/edit/{id}', 'SizingUnitController@indexEdit');
    Route::put('/sizing/update', 'SizingUnitController@update');
    Route::post('/sizing/delete', 'SizingUnitController@delete');
    Route::get('/sizing/filter', 'SizingUnitController@tableFilter')->name('sizing.table');

    Route::get('/delete/order/{code}', 'OrderController@deleteOrder');

    // field_datasources
    Route::post('/field_datasources/active', 'FieldDatasourcesController@activate');
    Route::get('/field_datasources/list_main', 'FieldDatasourcesController@list_main');
    Route::get('/field_datasources/filter', 'FieldDatasourcesController@tableFilter')->name('field_datasources.table');
    Route::resource('field_datasources', 'FieldDatasourcesController');

    // field_values
    Route::post('/field_values/active', 'FieldValuesController@activate');
    Route::get('/field_values/list_main', 'FieldValuesController@list_main');
    Route::get('/field_values/filter', 'FieldValuesController@tableFilter')->name('field_values.table');
    Route::resource('field_values', 'FieldValuesController');

    // main_datasources
    Route::post('/main_datasources/active', 'MainDatasourcesController@activate');
    Route::get('/main_datasources/filter', 'MainDatasourcesController@tableFilter')->name('main_datasources.table');
    Route::resource('main_datasources', 'MainDatasourcesController');

    // fields
    Route::post('/fields/active', 'FieldsController@activate');
    Route::get('/fields/filter', 'FieldsController@tableFilter')->name('fields.table');
    Route::resource('fields', 'FieldsController');

    // form_fields
    Route::get('/form_fields/filter/{form_id}', 'FormFieldsController@tableFilter')->name('form_fields.table');
    Route::get('/form_fields/{form_id}', 'FormFieldsController@index')->name('form_fields.index');
    Route::get('/form_fields/{form_id}/create', 'FormFieldsController@create')->name('form_fields.create');
    Route::post('/form_fields/create', 'FormFieldsController@store');

    // forms
    Route::post('/forms/active', 'FormsController@activate');
    Route::get('/forms/filter', 'FormsController@tableFilter')->name('forms.table');
    Route::resource('forms', 'FormsController');
    Route::post('/forms/saveImage', 'FormsController@saveImage');
    Route::post('/forms/showInHome', 'FormsController@showInHome');
    Route::post('/forms/showInSettings', 'FormsController@showInSettings');
    Route::post('/forms/showText', 'FormsController@showText');
    Route::post('/forms/multipleAnswers', 'FormsController@multipleAnswers');


    // result-polls
    Route::get('/results/filter', 'ResultsController@tableFilter')->name('results.table');
    Route::post('/results/filter/answers/{form_id}', 'ResultsController@tableFilterAnswers')->name('answers.table');
    Route::get('/results', 'ResultsController@index')->name('results.index');
    Route::get('/results/list_answers/{form_id}', 'ResultsController@list_answers');
    Route::get('/results/answers/detail/{header_value_id}', 'ResultsController@answers_detail');
    Route::get('/results/validateExport/{formId}/{fromDate?}/{toDate?}', 'ResultsController@validateExport');
    Route::get('/results/export/{formId}/{fromDate?}/{toDate?}', 'ResultsController@export');

    // Tipos de pagos
    Route::prefix('payments')->group(function () {
        Route::get('', 'PaymentTypeController@index');
        Route::get('/filter', 'PaymentTypeController@tableFilter')->name('payments.table');
        Route::post('/create', 'PaymentTypeController@create');
        Route::get('/edit/{id}', 'PaymentTypeController@indexEdit');
        Route::post('/update', 'PaymentTypeController@update');
        Route::post('/active', 'PaymentTypeController@activate');
        Route::post('/delete', 'PaymentTypeController@delete');
    });

    // Métodos de pagos
    Route::prefix('payment_methods')->group(function () {
        Route::get('', 'PaymentMethodController@index');
        Route::get('/filter', 'PaymentMethodController@tableFilter')->name('payment_methods.table');
        Route::get('/add', 'PaymentMethodController@indexAdd');
        Route::post('/create', 'PaymentMethodController@create');
        Route::get('/edit/{id}', 'PaymentMethodController@indexEdit');
        Route::put('/update/{id}', 'PaymentMethodController@update');
        Route::delete('/delete/{id}', 'PaymentMethodController@delete');
        Route::post('/active', 'PaymentMethodController@activate');
    });

    Route::get('/delete/order/{code}', 'OrderController@deleteOrder');

    // Cuentas oficiales redes sociales
    Route::prefix('social_network_accounts')->group(function () {
        Route::get('', 'SocialNetworkAccountController@index');
        Route::get('/filter', 'SocialNetworkAccountController@tableFilter')->name('social_network_accounts.table');
        Route::get('/add', 'SocialNetworkAccountController@indexAdd');
        Route::post('/create', 'SocialNetworkAccountController@create');
        Route::get('/edit/{id}', 'SocialNetworkAccountController@indexEdit');
        Route::put('/update/{id}', 'SocialNetworkAccountController@update');
        Route::delete('/delete/{id}', 'SocialNetworkAccountController@delete');
        Route::post('/active', 'SocialNetworkAccountController@activate');
    });

    // Facebook
    Route::prefix('official_facebook')->group(function () {
        Route::get('', 'FacebookController@index');
        Route::get('/filter', 'FacebookController@tableFilter')->name('official_facebook.table');
        Route::get('/add', 'FacebookController@indexAdd');
        Route::post('/create', 'FacebookController@create');
        Route::get('/edit/{id}', 'FacebookController@indexEdit');
        Route::put('/update/{id}', 'FacebookController@update');
        Route::delete('/delete/{id}', 'FacebookController@delete');
        Route::post('/active', 'FacebookController@activate');
    });

    // Twitter
    Route::prefix('official_twitter')->group(function () {
        Route::get('', 'TwitterController@index');
        Route::get('/filter', 'TwitterController@tableFilter')->name('official_twitter.table');
        Route::get('/add', 'TwitterController@indexAdd');
        Route::post('/create', 'TwitterController@create');
        Route::get('/edit/{id}', 'TwitterController@indexEdit');
        Route::put('/update/{id}', 'TwitterController@update');
        Route::delete('/delete/{id}', 'TwitterController@delete');
        Route::post('/active', 'TwitterController@activate');
    });

    // Instagram
    Route::prefix('photo_instagram')->group(function () {
        Route::get('', 'InstagramController@index');
        Route::get('/filter', 'InstagramController@tableFilter')->name('official_instagram.table');
        Route::get('/add', 'InstagramController@indexAdd');
        Route::post('/create', 'InstagramController@create');
        Route::get('/edit/{id}', 'InstagramController@indexEdit');
        Route::put('/update/{id}', 'InstagramController@update');
        Route::delete('/delete/{id}', 'InstagramController@delete');
        Route::post('/active', 'InstagramController@activate');
    });

    // Tiktok
    Route::prefix('video_tiktok')->group(function () {
        Route::get('', 'TiktokController@index');
        Route::get('/filter', 'TiktokController@tableFilter')->name('official_tiktok.table');
        Route::get('/add', 'TiktokController@indexAdd');
        Route::post('/create', 'TiktokController@create');
        Route::get('/edit/{id}', 'TiktokController@indexEdit');
        Route::put('/update/{id}', 'TiktokController@update');
        Route::delete('/delete/{id}', 'TiktokController@delete');
        Route::post('/active', 'TiktokController@activate');
    });

    // Youtube
    Route::prefix('video_youtube')->group(function () {
        Route::get('', 'YoutubeController@index');
        Route::get('/filter', 'YoutubeController@tableFilter')->name('official_youtube.table');
        Route::get('/add', 'YoutubeController@indexAdd');
        Route::post('/create', 'YoutubeController@create');
        Route::get('/edit/{id}', 'YoutubeController@indexEdit');
        Route::put('/update/{id}', 'YoutubeController@update');
        Route::delete('/delete/{id}', 'YoutubeController@delete');
        Route::post('/active', 'YoutubeController@activate');
    });

    //Radio Embed
    Route::get('radio_embed', 'RadioEmbedController@index');
    Route::get('/radio_embed/filter', 'RadioEmbedController@tableFilter')->name('radio.table');
    Route::get('/radio_embed/add', 'RadioEmbedController@indexAdd');
    Route::post('/radio_embed/create', 'RadioEmbedController@create');
    Route::get('/radio_embed/edit/{id}', 'RadioEmbedController@indexEdit');
    Route::put('/radio_embed/update', 'RadioEmbedController@update');
    Route::post('/radio_embed/active', 'RadioEmbedController@activateRadio');
    Route::delete('/radio_embed/delete', 'RadioEmbedController@delete');

    //Bookcase Embed
    Route::get('bookcase_embed', 'BookcaseEmbedController@index');
    Route::get('/bookcase_embed/filter', 'BookcaseEmbedController@tableFilter')->name('bookcase.table');
    Route::get('/bookcase_embed/add', 'BookcaseEmbedController@indexAdd');
    Route::post('/bookcase_embed/create', 'BookcaseEmbedController@create');
    Route::get('/bookcase_embed/edit/{id}', 'BookcaseEmbedController@indexEdit');
    Route::put('/bookcase_embed/update', 'BookcaseEmbedController@update');
    Route::post('/bookcase_embed/active', 'BookcaseEmbedController@activateBookcase');
    Route::delete('/bookcase_embed/delete', 'BookcaseEmbedController@delete');

    //Popup Embed
    Route::get('popup_embed', 'PopupEmbedController@index');
    Route::get('/popup_embed/filter', 'PopupEmbedController@tableFilter')->name('popup.table');
    Route::get('/popup_embed/add', 'PopupEmbedController@indexAdd');
    Route::post('/popup_embed/create', 'PopupEmbedController@create');
    Route::post('/popup_embed/saveImage', 'PopupEmbedController@saveImage');
    Route::get('/popup_embed/edit/{id}', 'PopupEmbedController@indexEdit');
    Route::put('/popup_embed/update', 'PopupEmbedController@update');
    Route::post('/popup_embed/updateImage', 'PopupEmbedController@updateImage');
    Route::post('/popup_embed/active', 'PopupEmbedController@activatePopup');
    Route::delete('/popup_embed/{popup_id}/delete', 'PopupEmbedController@destroy');

    // Stats performance
    Route::get('/stats/matches', 'StatsPerformanceController@indexMatches');
    Route::get('/stats/analysis', 'StatsPerformanceController@indexAnalysis');

    // tournaments
    Route::post('/tournaments/active', 'TournamentsController@activate');
    Route::post('/tournaments/suscription', 'TournamentsController@suscription');
    Route::get('/tournaments/filter', 'TournamentsController@tableFilter')->name('tournaments.table');
    Route::delete('/tournaments/image', 'TournamentsController@deleteImage');
    Route::resource('tournaments', 'TournamentsController');
    Route::post('/tournaments/saveImage', 'TournamentsController@saveImage');


    // seasons
    Route::post('/seasons/active', 'SeasonsController@activate');
    Route::post('/seasons/suscription', 'SeasonsController@suscription');
    Route::get('/seasons/filter/{tournament_id}', 'SeasonsController@tableFilter')->name('seasons.table');
    Route::get('/seasons/{tournament_id}/list', 'SeasonsController@index')->name('seasons.index');
    Route::get('/seasons/{tournament_id}/create', 'SeasonsController@create')->name('seasons.create');
    Route::post('/seasons/save', 'SeasonsController@store');
    Route::get('/seasons/{season_id}/edit/{tournament_id}', 'SeasonsController@edit')->name('seasons.edit');
    Route::put('/seasons/update/{season_id}', 'SeasonsController@update');
    Route::delete('/seasons/{season_id}/delete', 'SeasonsController@destroy');

    // dorsal
    Route::post('/dorsal/active', 'DorsalController@activate');
    Route::get('/dorsal/filter', 'DorsalController@tableFilter')->name('dorsal.table');
    Route::resource('dorsal', 'DorsalController');
    Route::post('/dorsal/saveImage', 'DorsalController@saveImage');

    // organizer
    Route::post('/organizer/active', 'OrganizerController@activate');
    Route::get('/organizer/filter', 'OrganizerController@tableFilter')->name('organizer.table');
    Route::resource('organizer', 'OrganizerController');
    Route::post('/organizer/saveImage', 'OrganizerController@saveImage');

    // welcome_logo
    Route::post('/welcome_logo/active', 'WelcomeLogoController@activate');
    Route::get('/welcome_logo/filter', 'WelcomeLogoController@tableFilter')->name('welcome_logo.table');
    Route::resource('welcome_logo', 'WelcomeLogoController');
    Route::post('/welcome_logo/saveImage', 'WelcomeLogoController@saveImage');

    // teams
    Route::post('/teams/active', 'TeamsController@activate');
    Route::get('/teams/filter', 'TeamsController@tableFilter')->name('teams.table');
    Route::resource('teams', 'TeamsController');
    Route::post('/teams/saveImage', 'TeamsController@saveImage');

    // zones
    Route::get('/zones/export', 'ZonesController@export');
    Route::post('/zones/import', 'ZonesController@import');
    Route::get('/zones/exportLockSeats', 'ZonesController@exportLockSeats');
    Route::post('/zones/importLockSeats', 'ZonesController@importLockSeats');
    Route::get('/zones/loadZonesExport', 'ZonesController@loadZonesExport');
    Route::resource('zones', 'ZonesController');
    Route::get('/zones/zonesChilds/{zone_id}', 'ZonesController@getChilds');
    Route::get('/zones/seats/{zone_id}', 'ZonesController@getSeats');
    Route::post('/zones/seat/create', 'ZonesController@createSeat');
    Route::put('/zones/seat/edit/{seat_id}', 'ZonesController@editSeat');
    Route::delete('/zones/delete_seat/{seat_id}', 'ZonesController@destroySeat');

    // reports_state
    Route::resource('reports_state', 'ReportStateController');
    Route::get('/reports_state/{type}/{event_id}', 'ReportStateController@generateReport');

    // reports_internal
    Route::resource('reports_internal', 'ReportInternalController');
    Route::get('/reports_internal/{type}/{event_id}', 'ReportInternalController@generateReport');

    // reports_academy
    Route::prefix('data-analysis/academy')->group(function () {
        Route::get('/', 'ReportAcademyController@index');
        Route::post('/validateExport', 'ReportAcademyController@validateReport');
        Route::get('/export/{name}', 'ReportAcademyController@export');
    });

    // doors
    Route::post('/doors/active', 'DoorsController@activate');
    Route::get('/doors/filter', 'DoorsController@tableFilter')->name('doors.table');
    Route::resource('doors', 'DoorsController');

    // events
    Route::get('/events/tickets/{id}/info', 'MatchEventsController@detailTicketsBuy');
    Route::get('/events/tickets/{id}/blocks', 'MatchEventsController@detailTicketsBlocks');
    Route::get('/events/tickets/{id}/block/info', 'MatchEventsController@detailTicketsBlockInfo');
    Route::get('/events/tickets/{id}/export', 'MatchEventsController@export');
    Route::post('/events/tickets/filter', 'MatchEventsController@tableFilterTickets')->name('event_tickets.table');
    Route::get('/events/blocks/filter/{match_event_id}', 'MatchEventsController@tableFilterBlocks')->name('event_blocks.table');
    Route::get('/blocks/filter/{ticket_main_id}', 'MatchEventsController@tableFilterBlocksInfo')->name('block_info.table');
    Route::post('/events/active', 'MatchEventsController@activate');
    Route::post('/events/validateTicket', 'MatchEventsController@validateTicket');
    Route::get('/events/{season_id}/filter', 'MatchEventsController@tableFilter')->name('season.events.table');
    Route::resource('season.event', 'MatchEventsController')->parameters([
        'season' => 'season_id',
        'event' => 'event_id'
    ]);
    Route::post('/events/generateSpecialTickets', 'MatchEventsController@generateSpecialTickets');
    Route::get('/events/{event_id}/filterStages', 'MatchEventStagesController@tableFilter')->name('event.stages.table');
    Route::resource('event.stage', 'MatchEventStagesController')->parameters([
        'event' => 'event_id',
        'stage' => 'match_event_stage_id'
    ]);
    Route::get('/matchEventStages/exportTemplate', 'MatchEventStagesController@exportTemplateMatchEventStages');
    Route::post('/matchEventStages/import', 'MatchEventStagesController@import');
    Route::post('/events/sendEmailNotifications', 'MatchEventsController@sendEmailNotifications');
    Route::get('/events/delete-backups/{match_event_id}', 'MatchEventsController@deleteBackups');
    Route::post('/events/credit-note', 'MatchEventsController@creditNote');
    Route::post('/events/re-invoice', 'MatchEventsController@reInvoice');
    Route::post('/events/send-to-billing', 'MatchEventsController@sendToBilling');
    Route::get('/events/deleteBackups/{match_event_id}', 'MatchEventsController@deleteBackups');
    Route::post('/events/creditNote', 'MatchEventsController@creditNote');
    Route::post('/events/saveImage', 'MatchEventsController@saveImage');
    Route::delete('/events/image', 'MatchEventsController@deleteImage');

    // events price
    Route::post('/event_prices/active', 'MatchEventZonePricesController@activate');
    Route::get('/event_prices/filter/{event_id}', 'MatchEventZonePricesController@tableFilter')->name('event_prices.table');
    Route::get('/event_prices/{event_id}/list', 'MatchEventZonePricesController@index')->name('event_prices.index');
    Route::get('/event_prices/{event_id}/create', 'MatchEventZonePricesController@create')->name('event_prices.create');
    Route::get('/event_prices/{event_id}/edit', 'MatchEventZonePricesController@edit')->name('event_prices.edit');
    Route::post('/event_prices/save/{event_id}', 'MatchEventZonePricesController@store');
    Route::put('/event_prices/update/{event_id}', 'MatchEventZonePricesController@update');
    Route::delete('/event_prices/{event_id}/delete', 'MatchEventZonePricesController@destroy');
    Route::get('/event_prices/get_template/{event_id}', 'MatchEventZonePricesController@exportTribunePricesTemplates');
    Route::post('/event_prices/import_template/{event_id}', 'MatchEventZonePricesController@importTribunePricesTemplates');

    // tickets
    Route::get('/tickets/getPendingMatchesTickets/{ticket_id}/{tribune_id}/{zone_id}/{seat_id}', 'TicketsController@getPendingMatchesTickets');
    Route::post('/tickets/changeMassiveTicketSeat', 'TicketsController@postChangeSeat');
    Route::get('/tickets/exportMatchEventSeatsTemplate', 'TicketsController@exportMatchEventSeatsTemplate');
    Route::get('/tickets/exportMatchEventSpecialTextTemplate', 'TicketsController@exportMatchEventSpecialTextTemplate');
    Route::post('/tickets/importMatchEventSeats', 'TicketsController@importMatchEventSeats');
    Route::post('/tickets/importMatchEventSpecialText', 'TicketsController@importMatchEventSpecialText');
    Route::get('/tickets/user/{document}/{match_event_id?}/{ticket_type_id?}', 'TicketsController@searchUser');
    Route::get('/tickets/users/{document}/{match_event_id?}/{ticket_type_id?}', 'TicketsController@exchangeTicketsToUsers');
    Route::get('/tickets/validateDownloadPanelTickets/{email}/{match_event_id}/{from_date?}/{to_date?}/{type?}', 'TicketsController@validateDownloadPanelTickets');
    Route::get('/tickets/downloadPanelTickets/{email}/{match_event_id}/{from_date?}/{to_date?}/{type?}', 'TicketsController@downloadPanelTickets');
    Route::get('/tickets', 'TicketsController@index');
    Route::get('/tickets/seats/count/{zone_id}/{event_id}', 'TicketsController@getSeatsCount');
    Route::get('/tickets/parentZones/{zone_id}', 'TicketsController@getParentZones');
    Route::get('/tickets/getTribunesByZone/{parent_zone_id}', 'TicketsController@getTribunesByZone');
    Route::get('/tickets/getSeatByZone/{zone_id}', 'TicketsController@getSeatByZone');
    Route::get('/tickets/getSeatFreeByZone/{zone_id}/{match_event_id}', 'TicketsController@getSeatFreeByZone');
    Route::put('/tickets/update', 'TicketsController@update');
    Route::put('/tickets/toUpdateUsersWithTickets', 'TicketsController@toUpdateUsersWithTickets');
    Route::post('/tickets/createBlock/{origin}', 'TicketsController@createBlock');
    Route::post('/tickets/changeState', 'TicketsController@changeStateTicket');
    Route::post('/tickets/massiveStateChange', 'TicketsController@massBallotStatusChange');
    Route::get('/tickets/massiveStateChange/template', 'TicketsController@deleteTicketTemplate');
    Route::get('/tickets/tribunes', 'MatchEventsController@getTribunes');
    // Parametros
    Route::get('/tickets/parameter', 'TicketsController@parameterViewTicket');
    Route::post('/tickets/save_parameter', 'TicketsController@saveParameters');
    Route::post('/tickets/filter/{events?}/{types?}/{from_date?}/{to_date?}', 'TicketsController@tableFilterTicketUserLogs')->name('ticket_user_logs.table');
    Route::get('/tickets/listTickeLogs', 'TicketsController@listTicketUserLogs');
    Route::post('/tickets/validateExport', 'TicketsController@validateExport');
    Route::get('/tickets/export/{name}', 'TicketsController@export');
    Route::get('/tickets/childZones/{zone_id}', 'TicketsController@getChildZones');

    // tickets backups
    Route::get('/ticket_backups', 'TicketUserBlockBackupsController@index');
    Route::post('/ticket_backups/filter', 'TicketUserBlockBackupsController@tableFilter')->name('ticket_backups.table');
    Route::get('/ticket_backups/generateTickets/{ticket_main_id}', 'TicketUserBlockBackupsController@generateTickets');
    Route::get('/ticket_backups/generateMasiveValidation', 'TicketUserBlockBackupsController@generateMasiveValidation');
    Route::get('/ticket_backups/list/{ticket_main_id}', 'TicketUserBlockBackupsController@indexListTicketsBackup');
    Route::get('/ticket_backups/filter/backups/{ticket_main_id}', 'TicketUserBlockBackupsController@tableFilterBackup')->name('ticket_list_backups.table');
    Route::get('/ticket_backups/list/create/{ticket_main_id}', 'TicketUserBlockBackupsController@indexCreateSeat')->name('ticket_list_backups.create');
    Route::post('/ticket_backups/list/change', 'TicketUserBlockBackupsController@changeSeatBackup');
    Route::get('/ticket_backups/withoutTickets', 'TicketUserBlockBackupsController@withoutTickets');
    Route::get('/ticket_backups/inactiveTickets/{ticket_main_id}', 'TicketUserBlockBackupsController@inactiveTickets');
    Route::get('/ticket_backups/activeTickets/{ticket_main_id}', 'TicketUserBlockBackupsController@activeTickets');

    // Entradas estadio
    Route::get('/tickets_matches', 'TicketsMatchesController@index');
    Route::get('/tickets_matches/filter/{events}', 'TicketsMatchesController@tableFilter')->name('tickets_matches.table');
    Route::post('/tickets_matches/notification', 'TicketsMatchesController@notification');
    Route::post('/tickets_matches/validateExport', 'TicketsMatchesController@validateExport');
    Route::get('/tickets_matches/export/{name}', 'TicketsMatchesController@export');

    // Boletería flash
    Route::get('/flash_ticket', [FlashTicketController::class, 'index']);
    Route::get('/flash_ticket/selling', [FlashTicketController::class, 'selling']);
    Route::get('/flash_ticket/filter', [FlashTicketController::class, 'tableFilter'])->name('flash_ticket.table');
    Route::get('/flash_ticket/add', [FlashTicketController::class, 'add'])->name('flash_ticket.add');
    Route::post('/flash_ticket/create', [FlashTicketController::class, 'create']);
    Route::get('/flash_ticket/{event_id}/edit', [FlashTicketController::class, 'edit'])->name('flash_ticket.edit');
    Route::put('/flash_ticket/{event_id}/update', [FlashTicketController::class, 'update']);
    Route::delete('/flash_ticket/{event_id}/delete', [FlashTicketController::class, 'destroy']);
    Route::post('/flash_ticket/active', [FlashTicketController::class, 'activate']);
    Route::post('/flash_ticket/buy', [FlashTicketController::class, 'buy']);
    Route::get('/flash_ticket/getSoldCount/{event_id}/{zone_id}', [FlashTicketController::class, 'getSoldCount']);
    Route::post('/flash_ticket/saveImage', [FlashTicketController::class, 'saveImage']);
    Route::post('/flash_ticket/sendByEmail', [FlashTicketController::class, 'sendByEmail']);
    Route::post('/flash_ticket/sendByWhatsApp', [FlashTicketController::class, 'sendByWhatsApp']);

    // Symbolic tickets
    Route::get('/symbolic_tickets', 'SymbolicTicketController@index');
    Route::get('/symbolic_tickets/create', 'SymbolicTicketController@create');
    Route::post('/symbolic_tickets/add', 'SymbolicTicketController@add');
    Route::get('/symbolic_tickets/{id}/edit', 'SymbolicTicketController@edit');
    Route::put('/symbolic_tickets/{id}', 'SymbolicTicketController@update');
    Route::get('/symbolic_tickets/filter', 'SymbolicTicketController@tableFilter')->name('symbolic_tickets.table');
    Route::post('/symbolic_tickets/saveImage', 'SymbolicTicketController@saveImage');
    Route::post('/symbolic_tickets/updateImage', 'SymbolicTicketController@updateImage');
    Route::post('/symbolic_tickets/active', 'SymbolicTicketController@activeSymbolicTicket');
    Route::delete('/symbolic_tickets/delete', 'SymbolicTicketController@delete');
    Route::post('/symbolic_tickets/generateTickets', 'SymbolicTicketController@generateTickets');

    Route::get('/symbolic_tickets_price/{id}/prices', 'SymbolicTicketPriceController@index');
    Route::get('/symbolic_tickets_price/filter/{id}', 'SymbolicTicketPriceController@tableFilterPrices')->name('symbolic_tickets_price.table');
    Route::get('/symbolic_tickets_price/create/{symbolic_ticket_id}', 'SymbolicTicketPriceController@create');
    Route::post('/symbolic_tickets_price/add', 'SymbolicTicketPriceController@add');
    Route::get('/symbolic_tickets_price/{id}/edit', 'SymbolicTicketPriceController@edit');
    Route::put('/symbolic_tickets_price/{id}', 'SymbolicTicketPriceController@update');
    Route::post('/symbolic_tickets_price/active', 'SymbolicTicketUserController@activeSymbolicTicket');

    Route::get('/symbolic_tickets_user/{id}/info', 'SymbolicTicketUserController@index');
    Route::get('/symbolic_tickets_user/filter/{id}', 'SymbolicTicketUserController@tableFilterUsers')->name('symbolic_tickets_user.table');
    Route::get('/symbolic_tickets_user/create/{symbolic_ticket_id}', 'SymbolicTicketUserController@create');
    Route::post('/symbolic_tickets_user/add', 'SymbolicTicketUserController@add');
    Route::get('/symbolic_tickets_user/{id}/edit', 'SymbolicTicketUserController@edit');
    Route::put('/symbolic_tickets_user/{id}', 'SymbolicTicketUserController@update');

    // GESTIÓN LOGS BOLETERIA
    Route::prefix('ticket_logs')->group(function () {
        Route::get('', 'TicketLogController@index');
        Route::post('/list/{from_date?}/{to_date?}', 'TicketLogController@tableFilter')->name('ticket_logs.table');
        Route::post('/validateExport', 'TicketLogController@validateExport');
        Route::get('/export/{name}', 'TicketLogController@export');
    });

    // points
    Route::get('points', 'PointsController@index');
    Route::get('/points/filter', 'PointsController@tableFilter')->name('points.table');
    Route::get('/points/add', 'PointsController@indexAdd');
    Route::post('/points/create', 'PointsController@create');
    Route::get('/points/edit/{id}', 'PointsController@indexEdit');
    Route::put('/points/update', 'PointsController@update');
    Route::post('/points/active', 'PointsController@activatePoints');

    // coupons
    Route::get('coupons', 'CouponsController@index');
    Route::get('/coupons/filter', 'CouponsController@tableFilter')->name('coupons.table');
    Route::get('/coupons/add', 'CouponsController@indexAdd');
    Route::post('/coupons/create', 'CouponsController@create');
    Route::post('/coupons/saveImage', 'CouponsController@saveImage');
    Route::post('/coupons/saveTerm', 'CouponsController@saveTerm');
    Route::get('/coupons/edit/{id}', 'CouponsController@indexEdit');
    Route::put('/coupons/update', 'CouponsController@update');
    Route::post('/coupons/active', 'CouponsController@activateCoupons');
    Route::delete('/coupons/delete', 'CouponsController@delete');

    Route::get('/credit-coins', 'CreditCoinsController@index');
    Route::post('/credit-coins/locked', 'CreditCoinsController@locked');
    Route::post('/credit-coins/info', 'CreditCoinsController@infoCoins');
    Route::get('/credit-coins/edit/{id}', 'CreditCoinsController@editCoin');
    Route::post('/credit-coins/update', 'CreditCoinsController@update');
    Route::get('/credit-coins/filter', 'CreditCoinsController@table')->name('credit-coins.table');
    Route::get('/credit-coins/transactions/{id}', 'CreditCoinsController@transactions');
    Route::get('/credit-coins/filterTransactions/{userCoinId?}', 'CreditCoinsController@filterTransactions')->name('credit-transactions.table');
    Route::post('/credit-coins/cancel', 'CreditCoinsController@cancel');
    Route::get('/credit-coins/add', 'CreditCoinsController@indexAdd');
    Route::post('/credit-coins/create', 'CreditCoinsController@create');
    Route::get('/credit-coins/export', 'CreditCoinsController@export');
    Route::post('/credit-coins/import', 'CreditCoinsController@import');
    Route::get('/credit-coins/templateImport', 'CreditCoinsController@templateImport');

    Route::get('/coins', 'CoinsController@index');
    Route::post('/coins/locked', 'CoinsController@locked');
    Route::post('/coins/info', 'CoinsController@infoCoins');
    Route::get('/coins/edit/{id}', 'CoinsController@editCoin');
    Route::post('/coins/update', 'CoinsController@update');
    Route::get('/coins/filter', 'CoinsController@table')->name('coins.table');
    Route::get('/coins/transactions/{id}', 'CoinsController@transactions');
    Route::get('/coins/filterTransactions/{userCoinId?}', 'CoinsController@filterTransactions')->name('transactions.table');
    Route::post('/coins/cancel', 'CoinsController@cancel');

    // Stock
    Route::prefix('stock')->group(function () {
        Route::get('/{storeType?}', 'StockController@index');
        Route::get('/list/{storeType?}', 'StockController@getStock');
        Route::get('/report/{storeType?}', 'StockController@report');
    });

    // Inventory Tweaks
    Route::prefix('inventory_tweaks')->group(function () {
        Route::post('/filter/{storeType?}/{events?}/{products?}/{from_date?}/{to_date?}', 'InventoryTweakController@tableFilter')->name('inventory_tweaks.table');
        Route::post('/validateExport', 'InventoryTweakController@validateExport');
        Route::get('/export/{name}', 'InventoryTweakController@export');
        Route::get('attributes_product/{product_id}', 'InventoryTweakController@attributesProduct');
        Route::get('/{storeType?}', 'InventoryTweakController@index');
        Route::get('/{storeType?}/add', 'InventoryTweakController@indexAdd');
        Route::get('/{storeType?}/edit/{id}', 'InventoryTweakController@indexEdit');
        Route::post('/', 'InventoryTweakController@store');
    });

    //Album Embed
    Route::get('getAlbumUser/{id}', 'UserController@getAlbumOfYearUser');
    // e-commerce externos
    Route::get('/shopify/syncProducts', 'ShopifyController@syncProducts');
    Route::get('/woocommerce/syncProducts', 'WoocommerceController@syncProducts');

    // integrations
    Route::post('/integrations/active', 'IntegrationProvidersController@activate');
    Route::get('/integrations/filter', 'IntegrationProvidersController@tableFilter')->name('integrations.table');
    Route::resource('integrations', 'IntegrationProvidersController');
    Route::get('/integrations/{id}', 'IntegrationProvidersController@edit')->name('integrations.edit');
    Route::get('validateTickets/{id}', 'AlbumController@validateTicketsAlbum');
    Route::get('getValidations', 'AlbumController@getValidations');

    // EQUIPOS
    // Categoria Equipos
    Route::get(
        '/equipment_categories/filter',
        'EquipmentCategoriesController@tableFilter'
    )->name('equipment_categories.table');
    Route::resource('equipment_categories', 'EquipmentCategoriesController');

    // Posiciones
    Route::get('/positions/filter', 'PositionController@tableFilter')->name('positions.table');
    Route::resource('positions', 'PositionController');
    // Jugadores
    Route::get('/players/filter', 'PlayerController@tableFilter')->name('players.table');
    Route::resource('players', 'PlayerController');
    Route::post('/players/saveImage', 'PlayerController@saveImage');

    // Analitica Descriptiva
    Route::get('/analytics', 'BIController@showBI');
    Route::get('/powerbi_settings', 'BIController@settings');
    Route::get('/powerbi_settings/edit/{id}', 'BIController@indexSettingsEdit');
    Route::get('/powerbi_settings/add', 'BIController@indexSettingsAdd');
    Route::post('/powerbi_settings/create', 'BIController@create');
    Route::put('/powerbi_settings/update/{id}', 'BIController@update');
    Route::delete('/powerbi_settings/delete/{id}', 'BIController@delete');
    Route::get('/document_analytics', 'ZapSignController@documentAnalytics');


    // Live Score
    Route::get('/live_score/countries', 'LiveScoreApiController@getCountries');
    Route::get('/live_score/teams/{country_id}', 'LiveScoreApiController@getTeams');
    Route::post('/live_score/parametersUpdate', 'LiveScoreApiController@saveParametersLiveScore');
    // Fans
    Route::get('/massive_fans', 'MassiveFansController@index');
    Route::post('/massive_fans/import', 'MassiveFansController@import');
    Route::post('/massive_fans/import_random', 'MassiveFansController@importRandom');
    Route::get('/massive_fans/export', 'MassiveFansController@export');
    Route::get('/get_price_zone/{main_zone_id}/{match_event_id}', 'MassiveFansController@ajaxGetPriceForZoneInMatch');
    Route::post('/tickets/resend/list', 'MassiveFansController@resendListEmailTickets');

    // Payment_completion_message
    Route::get('/payment_completion_message/list', 'PaymentCompletionMessageController@index');
    Route::post('/payment_completion_message/update', 'PaymentCompletionMessageController@update');
    Route::get('payment_completion_message/suscriptor', 'PaymentCompletionMessageController@subscriberTestView');
    Route::get('payment_completion_message/ticket', 'PaymentCompletionMessageController@testTicketView');
    Route::post('/payment_completion_message/saveImage', 'PaymentCompletionMessageController@saveImage');

    // home_image
    Route::post('/home_image/active', 'HomeImageController@activate');
    Route::get('/home_image/filter', 'HomeImageController@tableFilter')->name('home_image.table');
    Route::resource('home_image', 'HomeImageController');
    Route::post('/home_image/saveImage', 'HomeImageController@saveImage');

    // Micro_trade
    Route::post('/micro_trading_categories/active', 'MicroTradeController@activate');
    Route::get('/micro_trading_categories/filter', 'MicroTradeController@tableFilter')->name('business_categories.table');
    Route::get('/micro_trading_categories/list', 'MicroTradeController@listCategory');
    Route::resource('micro_trading_categories', 'MicroTradeController');
    Route::post('/micro_trading_categories/saveImage', 'MicroTradeController@saveImage');

    // GESTIÓN NEGOCIOS
    Route::prefix('business')->group(function () {
        Route::post('/active', 'BusinessController@activate');
        Route::post('/approve', 'BusinessController@approveBusiness');
        Route::post('/list', 'BusinessController@tableFilter')->name('businesses.table');
        Route::post('/saveImage', 'BusinessController@saveImage');
        Route::get('/autocomplete/category', 'BusinessController@autocompleteCategory');
        Route::post('/validateExport', 'BusinessController@validateExport');
        Route::get('/export/{name}', 'BusinessController@export');
    });
    Route::resource('business', 'BusinessController');

    // Advertising_app
    Route::prefix('app_customization')->group(function () {
        Route::post('/banner/create', 'AdvertisingAppController@create');
        Route::post('/banner/update', 'AdvertisingAppController@update');
        Route::post('/banner/delete/{id}', 'AdvertisingAppController@destroy');
        Route::post('/popup/create', 'AdvertisingAppController@createPopup');
        Route::post('/popup/update', 'AdvertisingAppController@updatePopup');
        Route::post('/popup/delete/{id}', 'AdvertisingAppController@destroyPopup');
        Route::get('/banner/search/{info}', 'AdvertisingAppController@search');
        Route::get('/popup/search/{info}', 'AdvertisingAppController@searchPopup');
        Route::resource('advertising_app', 'AdvertisingAppController');
        Route::post('/imageBanner/saveImageBanner', 'AdvertisingAppController@saveImageBanner');
        Route::post('/imagePopupEmbed/saveImagePopupEmbed', 'AdvertisingAppController@saveImagePopupEmbed');
    });
    Route::post('/enable_name_banner', 'AdvertisingAppController@activateNameBanner');
    Route::post('/enable_name_popup', 'AdvertisingAppController@activateNamePopup');

    // GESTIÓN ETIQUETAS TEXTO ESPECIAL - BOLETERÍA
    Route::post('/ticket_tag/active', 'TicketTagController@activate');
    Route::get('/ticket_tag/filter', 'TicketTagController@tableFilter')->name('ticket_tag.table');
    Route::resource('ticket_tag', 'TicketTagController');

    // GESTIÓN CARNÉS
    Route::prefix('carnet')->group(function () {
        Route::post('/active', 'CarnetController@activate');
        Route::get('/filter', 'CarnetController@tableFilter')->name('carnet.table');
        Route::post('/saveImage', 'CarnetController@saveImage');
        Route::get('/getCarnets/{idCards}', 'CarnetController@getCarnets');
        Route::post('/convertDPIImage', 'CarnetController@convertDPIImage');
    });
    Route::resource('carnet', 'CarnetController');
    Route::post('/carnet/saveImage', 'CarnetController@saveImage');

    //SMS NOTIFICATIONS
    Route::get('/smsnotifications', 'SmsNotificationsController@index');
    Route::get('/smsnotifications/filter', 'SmsNotificationsController@tableFilter')->name('sms_notifications.table');
    Route::get('/smsnotifications/add', 'SmsNotificationsController@indexAdd');
    Route::post('/smsnotifications/create', 'SmsNotificationsController@create');
    Route::get('/smsnotifications/smsparameters', 'SmsNotificationsController@indexAddApi');
    Route::post('/smsnotifications/notification_settings', 'SmsNotificationsController@update');

    // GESTIÓN SECCIONES DEL APP
    Route::post('/app_section/active', 'AppSectionController@activate');
    Route::get('/app_section/filter', 'AppSectionController@tableFilter')->name('app_section.table');
    Route::get('/app_section/list', 'AppSectionController@list');
    Route::resource('app_section', 'AppSectionController');
    Route::post('/app_section/saveImage', 'AppSectionController@saveImage');

    // TURORIALES APP
    Route::prefix('tutorial_slides')->group(function () {
        Route::get('/', 'TutorialSlideController@index');
        Route::get('/filter', 'TutorialSlideController@tableFilter')->name('tutorial_slides.table');
        Route::get('/add', 'TutorialSlideController@indexAdd');
        Route::post('/create', 'TutorialSlideController@create');
        Route::get('/edit/{id}', 'TutorialSlideController@indexEdit');
        Route::put('/update/{id}', 'TutorialSlideController@update');
        Route::delete('/delete/{id}', 'TutorialSlideController@delete');
        Route::post('/active', 'TutorialSlideController@activate');
        Route::post('/saveImage', 'TutorialSlideController@saveImage');
    });

    // GESTIÓN SECCIONES DEL APP VALIDACIONES
    Route::post('/app_validation_section/active', 'AppValidationSectionController@activate');
    Route::get('/app_validation_section/filter', 'AppValidationSectionController@tableFilter')->name('app_validation_section.table');
    Route::post('/app_validation_section/saveImage', 'AppValidationSectionController@saveImage');
    Route::resource('app_validation_section', 'AppValidationSectionController');

    // GESTIÓN REPORTE REDENCIONES APP VALIDACIONES
    Route::prefix('report_redemptions')->group(function () {
        Route::post('/list/{appValidationSections}/{from_date?}/{to_date?}', 'ReportRedemptionController@tableFilter')->name('report_redemptions.table');
        Route::post('/validateExport', 'ReportRedemptionController@validateExport');
        Route::get('/export/{name}', 'ReportRedemptionController@export');
    });
    Route::resource('report_redemptions', 'ReportRedemptionController');

    // MONITOR ACADEMIA
    Route::prefix('academy_user')->group(function () {
        Route::get('/{type_academy?}', 'AcademyController@academyUsers');
        Route::post('/list', 'AcademyController@academyUsersTable')->name('academy_user.table');
        Route::get('/edit/{id}/{type_academy?}', 'AcademyController@indexEditUser');
        Route::put('/update', 'AcademyController@updateAcademyUser');
        Route::post('/delete', 'AcademyController@deleteAcademyUser');
        Route::post('/active', 'AcademyController@activate');
        Route::post('/confirmReview', 'AcademyStateController@confirmReview');
        Route::post('/active', 'AcademyController@activate');
        Route::post('/saveStudentDocument', 'AcademyController@saveAcademyStudentDocument');
        Route::post('/createStudent', 'AcademyController@saveAcademyUser');
        Route::post('/assignAppUser', 'AcademyController@assignAppUserToStudent');
        Route::post('/validateExport', 'AcademyController@validateExport');
        Route::get('/export/{name}', 'AcademyController@export');
        // Informe Rendimiento Deportivo
        Route::get('/performance_reports/{id}', 'AcademyPerformanceReportController@academyReports');
        Route::get('/filter/{id}', 'AcademyPerformanceReportController@academyReportsTable');

        Route::delete('/{user_id}/performance_reports/{report_id}', 'AcademyPerformanceReportController@delete');
        Route::get('/autocomplete/mail', 'UserController@autocompleteMail');
    });

    // GESTIÓN PAGOS USUARIO ACADEMIA
    Route::prefix('academy_user_payment')->group(function () {
        Route::get('/{id}', 'AcademyController@academyPayments');
        Route::get('/list/{user_id}', 'AcademyUserPaymentController@academyPaymentsTable');
        Route::get('/edit/{id}', 'AcademyUserPaymentController@indexEditUserPayment');
        Route::get('/pay/{id}', 'AcademyUserPaymentController@indexPayUser');
        Route::put('/update', 'AcademyUserPaymentController@updatePaymentUser');
        Route::post('/pay', 'AcademyUserPaymentController@pay');
        Route::post('/active', 'AcademyUserPaymentController@activate');
        Route::put('/validatePay', 'AcademyUserPaymentController@validatePay');
        Route::get('/exportTemplate/{id}', 'AcademyUserPaymentController@exportTemplate');
        Route::post('/import', 'AcademyUserPaymentController@import');
        Route::delete('/delete/{id}', 'AcademyPurchaseController@delete');
    });

    // PAGOS ACADEMIA
    Route::prefix('academy_purchase')->group(function () {
        Route::get('/{type_academy?}', 'AcademyPurchaseController@index');
        Route::post('/list', 'AcademyPurchaseController@tableFilter')->name('academy_purchase.table');
        Route::post('/validateExport', 'AcademyPurchaseController@validateExport');
        Route::get('/export/{name}', 'AcademyPurchaseController@export');
        Route::get('/edit/{id}', 'AcademyPurchaseController@indexEditUserPayment');
        Route::get('/pay/{id}', 'AcademyPurchaseController@indexPayUser');
        Route::post('/import', 'AcademyPurchaseController@import');
        Route::get('/modifyPayment/{id}', 'AcademyPurchaseController@modifyStudentPaymentSchedule');
        Route::post('/sendingPaymentType', 'AcademyPurchaseController@typePaymentModifiedAndAccepted');
        Route::get('/validatePayment/{id}', 'AcademyPurchaseController@validatePayment');
        Route::delete('/delete/{id}', 'AcademyPurchaseController@delete');
    });

    // ESTADOS ACADEMIA
    Route::prefix('academy_states')->group(function () {
        Route::get('', 'AcademyStateController@index');
        Route::get('/filter', 'AcademyStateController@tableFilter')->name('academy_states.table');
        Route::get('/add', 'AcademyStateController@indexAdd');
        Route::post('/create', 'AcademyStateController@create');
        Route::post('/saveImage', 'AcademyStateController@saveImage');
        Route::get('/edit/{id}', 'AcademyStateController@indexEdit');
        Route::put('/update/{id}', 'AcademyStateController@update');
        Route::post('/active', 'AcademyStateController@activate');
        Route::delete('/delete/{id}', 'AcademyStateController@delete');
    });

    // GESTIÓN DOCUMENTOS ACADEMIA
    Route::prefix('academy_document')->group(function () {
        Route::get('/{type_academy?}', 'AcademyDocumentController@index');
        Route::get('/filter/{type_academy}', 'AcademyDocumentController@tableFilter')->name('academy_documents.table');
        Route::get('/add/{type_academy}', 'AcademyDocumentController@indexAdd');
        Route::post('/create', 'AcademyDocumentController@create');
        Route::post('/saveDocument', 'AcademyDocumentController@saveDocument');
        Route::get('/edit/{id}', 'AcademyDocumentController@edit');
        Route::put('/update/{id}', 'AcademyDocumentController@update');
        Route::post('/active', 'AcademyDocumentController@activate');
        Route::post('/activateRequired', 'AcademyDocumentController@required');
        Route::post('/activateRemovable', 'AcademyDocumentController@removable');
        Route::delete('/delete/{id}', 'AcademyDocumentController@delete');
    });

    // GESTIÓN PARAMETROS ACADEMIA
    Route::prefix('academy_parameters')->group(function () {
        Route::get('/{type_academy?}', 'AcademyParameterController@academyParameters');
        Route::post('/save', 'AcademyParameterController@saveParameters');
    });

    // ROUTES PARA VISUALIZAR ESTADISTICAS DEL EQUIPO
    Route::prefix('statistics')->group(function () {
        Route::get('/', 'StatisticsController@index');
        Route::post('/update', 'StatisticsController@update');
        Route::get('/syncData/{forcedSync?}', 'StatisticsController@syncData');
        Route::get('/syncDataApiFootball', 'StatisticsController@syncDataApiFootball');
        Route::post('/saveDataApiFootball', 'StatisticsController@saveDataApiFootball');
    });

    // GESTIÓN SEDES ACADEMIA
    Route::prefix('academy_locations')->group(function () {
        Route::get('', 'AcademyLocationController@index');
        Route::get('/filter', 'AcademyLocationController@tableFilter')->name('academy_locations.table');
        Route::get('/add', 'AcademyLocationController@indexAdd');
        Route::post('/create', 'AcademyLocationController@create');
        Route::get('/edit/{id}', 'AcademyLocationController@indexEdit');
        Route::put('/update/{id}', 'AcademyLocationController@update');
        Route::delete('/delete/{id}', 'AcademyLocationController@delete');
        Route::post('/active', 'AcademyLocationController@activate');
        Route::get('/get', 'AcademyLocationController@get');
    });

    // GESTIÓN CATEGORIAS ACADEMIA
    Route::prefix('academy_categories')->group(function () {
        Route::get('', 'AcademyCategoryController@index');
        Route::post('/filter', 'AcademyCategoryController@tableFilter')->name('academy_categories.table');
        Route::get('/add', 'AcademyCategoryController@indexAdd');
        Route::post('/create', 'AcademyCategoryController@create');
        Route::get('/edit/{id}', 'AcademyCategoryController@indexEdit');
        Route::put('/update/{id}', 'AcademyCategoryController@update');
        Route::delete('/delete/{id}', 'AcademyCategoryController@delete');
        Route::post('/active', 'AcademyCategoryController@activate');
        Route::post('/get', 'AcademyCategoryController@get');
    });

    // GESTIÓN PERIODOS DE PAGO ACADEMIA
    Route::prefix('academy_periods')->group(function () {
        Route::get('', 'AcademyPeriodController@index');
        Route::get('/filter', 'AcademyPeriodController@tableFilter')->name('academy_periods.table');
        Route::get('/add', 'AcademyPeriodController@indexAdd');
        Route::post('/create', 'AcademyPeriodController@create');
        Route::get('/edit/{id}', 'AcademyPeriodController@indexEdit');
        Route::put('/update/{id}', 'AcademyPeriodController@update');
        Route::delete('/delete/{id}', 'AcademyPeriodController@delete');
        Route::post('/active', 'AcademyPeriodController@activate');
        Route::post('/default', 'AcademyPeriodController@default');
    });

    // GESTIÓN DESCUENTOS DE PAGO ACADEMIA
    Route::prefix('academy_discounts')->group(function () {
        Route::get('', 'AcademyDiscountController@index');
        Route::get('/filter', 'AcademyDiscountController@tableFilter')->name('academy_discounts.table');
        Route::get('/add', 'AcademyDiscountController@indexAdd');
        Route::post('/create', 'AcademyDiscountController@create');
        Route::get('/edit/{id}', 'AcademyDiscountController@indexEdit');
        Route::put('/update/{id}', 'AcademyDiscountController@update');
        Route::delete('/delete/{id}', 'AcademyDiscountController@delete');
        Route::post('/active', 'AcademyDiscountController@activate');
    });

    // GESTIÓN HORARIOS ACADEMIA
    Route::prefix('academy_schedules')->group(function () {
        Route::get('', 'AcademyScheduleController@index');
        Route::post('/filter', 'AcademyScheduleController@tableFilter')->name('academy_schedules.table');
        Route::get('/add', 'AcademyScheduleController@indexAdd');
        Route::post('/create', 'AcademyScheduleController@create');
        Route::get('/edit/{id}', 'AcademyScheduleController@indexEdit');
        Route::put('/update/{id}', 'AcademyScheduleController@update');
        Route::delete('/delete/{id}', 'AcademyScheduleController@delete');
        Route::post('/active', 'AcademyScheduleController@activate');
        Route::post('/validateExport', 'AcademyScheduleController@validateExport');
        Route::get('/export/{name}', 'UtilController@export');
        Route::get('/locations', 'AcademyLocationController@get');
        Route::post('/categories', 'AcademyCategoryController@get');
        Route::post('/coaches', 'AcademyCoachController@get');
    });

    // GESTIÓN ENTRENADORES ACADEMIA
    Route::prefix('academy_coaches')->group(function () {
        Route::get('', 'AcademyCoachController@index');
        Route::post('/filter', 'AcademyCoachController@tableFilter')->name('academy_coaches.table');
        Route::get('/add', 'AcademyCoachController@indexAdd');
        Route::post('/create', 'AcademyCoachController@create');
        Route::get('/edit/{id}', 'AcademyCoachController@indexEdit');
        Route::put('/update/{id}', 'AcademyCoachController@update');
        Route::delete('/delete/{id}', 'AcademyCoachController@delete');
        Route::post('/active', 'AcademyCoachController@activate');
        Route::post('/validateExport', 'AcademyCoachController@validateExport');
        Route::get('/export/{name}', 'AcademyCoachController@export');
        Route::post('/get', 'AcademyCoachController@get');
    });

    // GESTIÓN LOGS ACADEMIA
    Route::prefix('academy_logs')->group(function () {
        Route::get('', 'AcademyLogController@index');
        Route::post('/list/{from_date?}/{to_date?}', 'AcademyLogController@tableFilter')->name('academy_logs.table');
        Route::post('/validateExport', 'AcademyLogController@validateExport');
        Route::get('/export/{name}', 'AcademyLogController@export');
    });

    // GESTIÓN ASISTENCIAS ACADEMIA
    Route::prefix('academy_attendances')->group(function () {
        Route::get('/{type_academy?}', 'AcademyAttendanceController@index');
        Route::get('/filter/{from_date?}/{to_date?}/{status?}/{type_academy}/{categories?}/{locations?}', 'AcademyAttendanceController@tableFilter')->name('academy_attendances.table');
        Route::post('/validateExport', 'AcademyAttendanceController@validateExport');
        Route::get('/export/{name}', 'AcademyAttendanceController@export');
    });

    // GESTIÓN TORNEOS ACADEMIA
    Route::prefix('academy_tournaments')->group(function () {
        Route::get('/{type_academy?}', 'AcademyTournamentController@index');
        Route::post('/list/{types}/{from_term?}/{to_term?}/{from_date?}/{to_date?}/{type_academy}/{categories?}', 'AcademyTournamentController@tableFilter')->name('academy_tournaments.table');
        Route::get('/add/{type_academy}', 'AcademyTournamentController@indexAdd');
        Route::post('/create', 'AcademyTournamentController@create');
        Route::get('/edit/{id}', 'AcademyTournamentController@indexEdit');
        Route::put('/update/{id}', 'AcademyTournamentController@update');
        Route::delete('/delete/{id}', 'AcademyTournamentController@delete');
        Route::post('/active', 'AcademyTournamentController@activate');
        Route::post('/saveImage', 'AcademyTournamentController@saveImage');
    });

    // PAGOS TORNEOS ACADEMIA
    Route::prefix('academy_tournament_payments')->group(function () {
        Route::get('/{type_academy?}', 'AcademyTournamentPaymentController@index');
        Route::post('/list/{states}/{tournaments}/{from_term?}/{to_term?}/{from_date?}/{to_date?}/{type_academy}/{categories?}/{locations?}/{coaches?}/{schedules?}', 'AcademyTournamentPaymentController@tableFilter')->name('academy_tournaments_payments.table');
        Route::post('/validateExport', 'AcademyTournamentPaymentController@validateExport');
        Route::get('/export/{name}', 'AcademyTournamentPaymentController@export');
        Route::get('/edit/{id}', 'AcademyTournamentPaymentController@edit');
        Route::get('/pay/{id}', 'AcademyTournamentPaymentController@indexPay');
        Route::put('/update', 'AcademyTournamentPaymentController@update');
        Route::post('/pay', 'AcademyTournamentPaymentController@pay');
        Route::put('/validatePay', 'AcademyTournamentPaymentController@validatePay');
        Route::get('/validatePayment/{id}', 'AcademyTournamentPaymentController@validatePayment');
        Route::delete('/delete/{id}', 'AcademyTournamentPaymentController@delete');
        Route::post('/import', 'AcademyTournamentPaymentController@import');
        Route::get('/exportTemplate', 'AcademyTournamentPaymentController@exportTemplate');
    });

    // GESTIÓN CUENTAS DE COBRO
    Route::prefix('collection_invoices')->group(function () {
        Route::get('', 'CollectionInvoiceController@index');
        Route::get('/filter', 'CollectionInvoiceController@tableFilter')->name('collection_invoices.table');
        Route::get('/add', 'CollectionInvoiceController@indexAdd');
        Route::post('/create', 'CollectionInvoiceController@create');
        Route::get('/edit/{id}', 'CollectionInvoiceController@indexEdit');
        Route::put('/update/{id}', 'CollectionInvoiceController@update');
        Route::delete('/delete/{id}', 'CollectionInvoiceController@delete');
        Route::post('/active', 'CollectionInvoiceController@activate');
        Route::get('/detail/{id}', 'CollectionInvoiceController@indexDetail');
        Route::get('/filterDetail/{id}', 'CollectionInvoiceController@tableFilterDetail');
        Route::post('/validateExport', 'CollectionInvoiceController@validateExport');
        Route::get('/export/{name}', 'CollectionInvoiceController@export');
    });
    Route::resource('collection_invoices', 'CollectionInvoiceController');
    Route::post('/collection_invoices/saveImage', 'CollectionInvoiceController@saveImage');

    // GESTIÓN PASARELAS DE PAGO
    Route::post('/paymentGateway/active', 'PaymentGatewayController@activate');
    Route::post('/paymentGateway/isProductive', 'PaymentGatewayController@isProductive');
    Route::get('/paymentGateway/filter', 'PaymentGatewayController@tableFilter')->name('paymentGateway.table');
    Route::resource('paymentGateway', 'PaymentGatewayController');
    Route::post('/paymentGateway/saveImage', 'PaymentGatewayController@saveImage');

    Route::get('/validatePayments', 'PaymentTransactionController@validatePayments');
    Route::get('/correctUserRecords/{email?}', 'UserController@correctUserRecords');

    // COBRO DE SERVICIO
    Route::prefix('service_charges')->group(function () {
        Route::get('', 'ServiceChargeController@index');
        Route::get('/filter', 'ServiceChargeController@tableFilter')->name('service_charges.table');
        Route::get('/add', 'ServiceChargeController@indexAdd');
        Route::post('/create', 'ServiceChargeController@create');
        Route::get('/edit/{id}', 'ServiceChargeController@indexEdit');
        Route::put('/update/{id}', 'ServiceChargeController@update');
        Route::delete('/delete/{id}', 'ServiceChargeController@delete');
        Route::post('/active', 'ServiceChargeController@activate');
        Route::post('/activateApp', 'ServiceChargeController@activateApp');
    });

    // Advertising_app_config
    Route::prefix('app_customization_config')->group(function () {
        Route::get('', 'BusinessParameterController@index');
        Route::post('/save', 'BusinessParameterController@saveAdSettings');
    });

    // GESTIÓN ROLES Y PERMISOS DE LOS USUARIOS
    Route::prefix('roles_permissions')->group(function () {
        Route::get('', 'RolePermissionController@index');
        Route::get('/filter', 'RolePermissionController@tableFilter')->name('roles_permissions.table');
        Route::get('/add', 'RolePermissionController@indexAdd');
        Route::post('/create', 'RolePermissionController@create');
        Route::get('/edit/{id}', 'RolePermissionController@indexEdit');
        Route::put('/update/{id}', 'RolePermissionController@update');
        Route::delete('/delete/{id}', 'RolePermissionController@delete');
        Route::post('/active', 'RolePermissionController@activate');
    });

    // GESTIÓN TERMINOS Y CONDICIONES DE LOS USUARIOS
    Route::prefix('terms_conditions')->group(function () {
        Route::get('', 'TermConditionController@index');
        Route::get('/filter', 'TermConditionController@tableFilter')->name('terms_conditions.table');
        Route::get('/add', 'TermConditionController@indexAdd');
        Route::post('/create', 'TermConditionController@create');
        Route::get('/edit/{id}', 'TermConditionController@indexEdit');
        Route::put('/update/{id}', 'TermConditionController@update');
        Route::delete('/delete/{id}', 'TermConditionController@delete');
        Route::post('/active', 'TermConditionController@activate');
        Route::post('/saveDocument', 'TermConditionController@saveDocument');
    });

    // GESTIÓN VALORACIONES DIRECTORIO DE NEGOCIOS
    Route::prefix('business_rating')->group(function () {
        Route::get('', 'BusinessRatingController@index');
        Route::get('/filter', 'BusinessRatingController@tableFilter')->name('business_ratings.table');
        Route::get('/add', 'BusinessRatingController@indexAdd');
        Route::post('/create', 'BusinessRatingController@create');
        Route::post('/saveImage', 'BusinessRatingController@saveImage');
        Route::get('/edit/{id}', 'BusinessRatingController@indexEdit');
        Route::put('/update/{id}', 'BusinessRatingController@update');
        Route::post('/active', 'BusinessRatingController@activate');
        Route::delete('/delete/{id}', 'BusinessRatingController@delete');
    });

    Route::prefix('academy_news')->group(function () {
        Route::get('/{type_academy?}', 'AcademyNewsController@index');
        Route::get('/updateStatus/{id}/{status}', 'AcademyNewsController@updateStatus');
        Route::post('/validateExport', 'AcademyNewsController@validateExport');
        Route::get('/export/{name}', 'AcademyAttendanceController@export');
    });

    // REPOSITORIO DOCUMENTAL
    Route::prefix('renew_enrollment')->group(function () {
        Route::get('/{type_academy?}', 'RegistrationRenewalController@index');
        Route::post('/list/{states}/{from_date?}/{to_date?}/{type_academy}', 'RegistrationRenewalController@list')->name('academy_renewal.table');
        Route::post('/validateExport', 'RegistrationRenewalController@validateExport');
        Route::get('/export/{name}', 'RegistrationRenewalController@export');
    });

    Route::prefix('erp')->group(function () {
        Route::get('/parameters', 'ErpParametersController@index');
        Route::post('/parameters/save', 'ErpParametersController@save');

        Route::get('/custom_items', 'ErpCustomItemsController@index');
        Route::get('/custom_items/add', 'ErpCustomItemsController@indexAdd');
        Route::post('/custom_items/create', 'ErpCustomItemsController@create');
        Route::post('/custom_items/active', 'ErpCustomItemsController@activate');
        Route::get('/custom_items/edit/{id}', 'ErpCustomItemsController@indexEdit');
        Route::put('/custom_items/update/{id}', 'ErpCustomItemsController@update');
        Route::delete('/custom_items/delete/{id}', 'ErpCustomItemsController@delete');
    });

    Route::prefix('helpdesk')->group(function () {
        Route::get('', 'HelpdeskController@index');
    });

    // club photos
    Route::prefix('photos')->group(function () {
        Route::get('', 'PhotosClubController@index');
        Route::get('/filter', 'PhotosClubController@tableFilter')->name('photos.table');
        Route::get('/add/{id?}', 'PhotosClubController@indexAdd');
        Route::post('/create', 'PhotosClubController@create');
        Route::get('/edit/{id}', 'PhotosClubController@indexEdit');
        Route::put('/update/{id}', 'PhotosClubController@update');
        Route::delete('/delete/{id}', 'PhotosClubController@delete');
        Route::post('/active', 'PhotosClubController@activate');
        Route::post('/saveImages', 'PhotosClubController@saveImages');
        Route::post('/deletedImage', 'PhotosClubController@deleteProductImage');
    });

    // club videos
    Route::prefix('videos')->group(function () {
        Route::get('', 'VideosClubController@index');
        Route::get('/filter', 'VideosClubController@tableFilter')->name('videos.table');
        Route::get('/filters', 'VideosClubController@tableFilter')->name('videos.deleteimage');
        Route::get('/add/{id?}', 'VideosClubController@indexAdd');
        Route::post('/create', 'VideosClubController@create');
        Route::get('/edit/{id}', 'VideosClubController@indexEdit');
        Route::put('/update/{id}', 'VideosClubController@update');
        Route::delete('/delete/{id}', 'VideosClubController@delete');
        Route::post('/active', 'VideosClubController@activate');
        Route::post('/saveVideos', 'VideosClubController@saveVideos');
        Route::post('/deletedVideo', 'VideosClubController@deleteProductImage');
        Route::post('/thumbnail', 'VideosClubController@genThumbnail');
    });

    // club noticias
    Route::prefix('news')->group(function () {
        Route::get('', 'NewsController@index');
        Route::get('/filter', 'NewsController@tableFilter')->name('news.table');
        Route::get('/filters', 'NewsController@tableFilter')->name('news.deleteimage');
        Route::get('/add/{id?}', 'NewsController@indexAdd');
        Route::post('/create', 'NewsController@create');
        Route::get('/edit/{id}', 'NewsController@indexEdit');
        Route::put('/update/{id}', 'NewsController@update');
        Route::delete('/delete/{id}', 'NewsController@delete');
        Route::post('/active', 'NewsController@activate');
        Route::post('/saveImages', 'NewsController@saveImages');
        Route::post('/deletedImage', 'NewsController@deleteProductImage');
    });

    Route::prefix('podcasts')->group(function () {
        Route::get('', 'PodcastController@index');
        Route::get('/filter', 'PodcastController@tableFilter')->name('podcasts.table');
        // Route::get('/filters', 'PodcastController@tableFilter')->name('news.podcasts');
        Route::get('/add/{id?}', 'PodcastController@indexAdd');
        Route::post('/create', 'PodcastController@create');
        Route::get('/edit/{id}', 'PodcastController@indexEdit');
        Route::put('/update/{id}', 'PodcastController@update');
        Route::delete('/delete/{id}', 'PodcastController@delete');
        Route::post('/active', 'PodcastController@activate');
        Route::post('/saveImages', 'PodcastController@saveImages');
        Route::post('/deletedImage', 'PodcastController@deleteProductImage');
    });

    Route::prefix('club_content_dashboard')->group(function () {
        Route::get('', 'ClubContentDashboardController@index');
        Route::get('/reactions/{publicationId}', 'ClubContentDashboardController@reactions');
        Route::get('/comments/{publicationId}', 'ClubContentDashboardController@comments');
        Route::post('/validateExport', 'ClubContentDashboardController@validateExport');
        Route::get('/export/{name}', 'ClubContentDashboardController@export');
    });

    // DATA_POLICY
    Route::prefix('data_policy')->group(function () {
        Route::get('', 'DataPolicyController@index');
        Route::get('/filter', 'DataPolicyController@tableFilter')->name('data_policy.table');
        Route::get('/add', 'DataPolicyController@indexAdd');
        Route::post('/create', 'DataPolicyController@create');
        Route::get('/edit/{id}', 'DataPolicyController@indexEdit');
        Route::put('/update/{id}', 'DataPolicyController@update');
        Route::delete('/delete/{id}', 'DataPolicyController@delete');
        Route::post('/active', 'DataPolicyController@activate');
        Route::post('/saveDocument', 'DataPolicyController@saveDocument');
    });


    Route::prefix('academy_purchase_credit_note')->group(function () {
        Route::get('/{purchaseId}', 'AcademyPurchaseCreditNoteController@index');
        Route::get('/add/{purchaseId}', 'AcademyPurchaseCreditNoteController@indexAdd');
        Route::post('/create', 'AcademyPurchaseCreditNoteController@create');
    });

    Route::prefix('web_ticketing_experience')->group(function () {
        Route::get('', 'FlashTicketController@show');
        Route::post('/create', 'FlashTicketController@builderSubmit');
    });

    // MONITOR EXPERIENCIAS
    Route::prefix('experience_monitor')->group(function () {
        Route::get('/{experience_type?}', 'ExperiencePaymentController@index');
        Route::post('/list', 'ExperiencePaymentController@tableFilter')->name('experience_monitor.table');
        Route::post('/validateExport', 'ExperiencePaymentController@validateExport');
        Route::get('/export/{name}', 'ExperiencePaymentController@export');
        Route::get('/validatePayment/{id}', 'ExperiencePaymentController@validatePayment');
    });

    // CONFIGURACION EXPERIENCIAS
    Route::prefix('experience_settings')->group(function () {
        Route::get('/{experience_type?}', 'ExperienceController@index');
        Route::post('/list', 'ExperienceController@tableFilter')->name('experience_settings.table');
        Route::get('/add/{experience_type}', 'ExperienceController@indexAdd');
        Route::post('/create', 'ExperienceController@create');
        Route::get('/edit/{id}', 'ExperienceController@indexEdit');
        Route::put('/update/{id}', 'ExperienceController@update');
        Route::delete('/delete/{id}', 'ExperienceController@delete');
        Route::post('/active', 'ExperienceController@activate');
        Route::post('saveImage', 'ExperienceController@saveImage');
    });

    // PLANES EXPERIENCIAS
    Route::prefix('experience_plans')->group(function () {
        Route::get('/{experience_id?}', 'ExperiencePlanController@index');
        Route::post('/list', 'ExperiencePlanController@tableFilter')->name('experience_plans.table');
        Route::get('/add/{experience_id}', 'ExperiencePlanController@indexAdd');
        Route::post('/create', 'ExperiencePlanController@create');
        Route::get('/edit/{id}', 'ExperiencePlanController@indexEdit');
        Route::put('/update/{id}', 'ExperiencePlanController@update');
        Route::delete('/delete/{id}', 'ExperiencePlanController@delete');
        Route::post('/active', 'ExperiencePlanController@activate');
    });

    // PRECIO PLANES EXPERIENCIAS
    Route::prefix('experience_plan_prices')->group(function () {
        Route::get('/{experience_plan_id?}', 'ExperiencePlanPriceController@index');
        Route::post('/list', 'ExperiencePlanPriceController@tableFilter')->name('experience_plan_prices.table');
        Route::get('/add/{experience_plan_id}', 'ExperiencePlanPriceController@indexAdd');
        Route::post('/create', 'ExperiencePlanPriceController@create');
        Route::get('/edit/{id}', 'ExperiencePlanPriceController@indexEdit');
        Route::put('/update/{id}', 'ExperiencePlanPriceController@update');
        Route::delete('/delete/{id}', 'ExperiencePlanPriceController@delete');
        Route::post('/active', 'ExperiencePlanPriceController@activate');
    });

    // GESTIÓN LOGS ACADEMIA
    Route::prefix('experience_logs')->group(function () {
        Route::get('', 'ExperienceLogController@index');
        Route::post('/list/{from_date?}/{to_date?}', 'ExperienceLogController@tableFilter')->name('experience_logs.table');
        Route::post('/validateExport', 'ExperienceLogController@validateExport');
        Route::get('/export/{name}', 'ExperienceLogController@export');
    });

    Route::prefix('memberships')->group(function () {
        Route::get('', 'MembershipController@index');
        Route::put('{membership}/active-toggle', 'MembershipController@activeToogle');
        Route::post('list', 'MembershipController@listMemberships');
        Route::get('create', 'MembershipController@create');
        Route::post('store', 'MembershipController@store');
        Route::get('edit/{membership}', 'MembershipController@edit');
        Route::post('update/{membership}', 'MembershipController@update');
        Route::get('dashboard', 'MembershipController@dashboard');
        Route::post('dashboard', 'MembershipController@listMembershipDashboard');
        Route::post('downloadReport', 'MembershipController@downloadReport');
        Route::get('validate-payment/{paymentTransaction}', 'MembershipController@validatePayment');
    });

    // GESTIÓN LOGS ACADEMIA
    Route::prefix('membership_logs')->group(function () {
        Route::get('', 'MembershipLogController@index');
        Route::post('/list/{from_date?}/{to_date?}', 'MembershipLogController@tableFilter')->name('membership_logs.table');
        Route::post('/validateExport', 'MembershipLogController@validateExport');
        Route::get('/export/{name}', 'MembershipLogController@export');
    });

    // TIPOS DE DOCUMENTO
    Route::prefix('document_types')->group(function () {
        Route::get('/', 'DocumentTypeController@index');
        Route::post('/list', 'DocumentTypeController@tableFilter')->name('document_types.table');
        Route::get('/add', 'DocumentTypeController@indexAdd');
        Route::post('/create', 'DocumentTypeController@create');
        Route::get('/edit/{id}', 'DocumentTypeController@indexEdit');
        Route::put('/update/{id}', 'DocumentTypeController@update');
        Route::delete('/delete/{id}', 'DocumentTypeController@delete');
        Route::post('/active', 'DocumentTypeController@activate');
    });

    // REPORTES ABONADOS
    Route::prefix('ticketing_subscribers')->group(function () {
        Route::get('', 'TicketSubscribersController@dashboard');
        Route::post('dashboard', 'TicketSubscribersController@listDashboard');
        Route::post('downloadReport', 'TicketSubscribersController@downloadReport');
    });

    // MONITOR CORTESIAS BOLETERIA
    Route::prefix('complimentary_tickets')->group(function () {
        Route::get('/', [ComplimentaryTicketController::class, 'index']);
        Route::post('/list', [ComplimentaryTicketController::class, 'tableFilter'])->name('complimentary_tickets.table');
        Route::post('/validateExport/{type?}', [ComplimentaryTicketController::class, 'validateExport']);
        Route::get('/export/{name}', [ComplimentaryTicketController::class, 'export']);
        Route::get('/details/{ticketMainId}/{userId}', [ComplimentaryTicketController::class, 'details']);
        Route::post('/listDetails', [ComplimentaryTicketController::class, 'tableFilterDetails'])->name('complimentary_ticket_details.table');
        Route::post('/changeSeats', [ComplimentaryTicketController::class, 'changeSeats']);
        Route::post('/changeEmail', [ComplimentaryTicketController::class, 'changeEmail']);
        Route::post('/sendEmailNotification', [ComplimentaryTicketController::class, 'sendEmailNotification']);
        Route::post('/cancelComplimentaryTickets', [ComplimentaryTicketController::class, 'cancelComplimentaryTickets']);
    });
});

// FILTERS
Route::prefix('filters')->group(function () {
    Route::get('/locations', 'GeneralFilterController@locations');
    Route::post('/categories', 'GeneralFilterController@categories');
    Route::post('/schedules', 'GeneralFilterController@schedules');
    Route::post('/coaches', 'GeneralFilterController@coaches');
});

// ROUTES PARA VISUALIZAR ESTADISTICAS DEL EQUIPO EN EL APP
Route::get('/statistics/showData/{type?}/{color?}', 'StatisticsController@showData');

// ROUTES PARA VISUALIZAR TERMINOS Y CONDICIONES EN EL APP
Route::get('terms_conditions/view/{id}', 'TermConditionController@view');

// ROUTES PARA VISUALIZAR CORREO DE COMPRA BOLETERIA
Route::get('/vista/{view}', 'MassiveFansController@vista');

Route::get('/stats/app-matches', 'StatsPerformanceController@indexAppMatches');
Route::get('/stats/app-analysis', 'StatsPerformanceController@indexAppAnalysis');
Route::get('/store/redirect', 'StoreRedirectController@index');
Route::get('/store/webcheckout', 'PaymentController@webcheckout');
Route::post('/store/payment', 'PaymentController@payment');
Route::get('/store/payment', 'PaymentController@payment');
Route::get('/store/webcheckoutConfirm/{order}', 'PaymentController@webcheckoutConfirm');
Route::get('/store/webhooksListener', 'PaymentController@webhooksListener');
Route::post('/store/webhooksListener', 'PaymentController@webhooksListener');
Route::post('/store/getTransactionByReference', 'PaymentController@getTransactionByReference');
Route::get('/store/confirmtransaction', 'PaymentController@confirmTransaction');
Route::get('/store/responseTransaction', 'PaymentController@responseTransaction');

// WOMPI
Route::get('/store/wompi/webcheckout', 'WompiController@webcheckout');
Route::get('/store/wompi/confirm', 'WompiController@confirmFromWompi');
Route::get('/store/wompi/confirm_symbolic', 'Api\SymbolicTicketApiController@confirmFromWompiSymbolic');
Route::get('/store/wompi/confirm_ticket', 'Api\TicketApiController@confirmFromWompiTicket');
Route::get('/wompi_reference', 'WompiController@referenceValidator');
Route::get('/payments-validator', 'PaymentGatewayController@paymentsValidator');
Route::get('/pco', 'PuntosColombiaController@startBatchProcess');

// NMI
Route::get('/form/{id}', 'NmiController@index');
Route::post('store/paymentInformation', 'NmiController@webcheckout');
Route::post('store/ticketPaymentInformation', 'NmiController@webTicketCheckout');
Route::get('/transaction', 'NmiController@transactionPayment');
Route::get('/ticketTransaction', 'NmiController@ticketPaymentTransaction');

Route::post('/store/placetopay/webhooksListener', 'PlaceToPayController@webhooksListener');
Route::get('/store/zonapagos/webhooksListener/{gatewayPaymentId}/', 'ZonaPagosController@webhooksListener');

Route::get('/pco_dim', 'PuntosColombiaDimController@startBatchProcess');

// Custom Download tickets
Route::get('/download_ticket_for_user/count/{url_key}', [TicketsController::class, 'getPinMultiple']);
Route::post('/download_ticket_for_user/count', [TicketsController::class, 'countTicketsAndGetLinks']);
Route::get('/download_ticket_for_user/links/{user_id}/{match_event_id}/{ticket_type_id}/{take}/{skip}', [TicketsController::class, 'downloadLinks']);
Route::get('/download_ticket_for_user/{data?}', [TicketsController::class, 'downloadTicketForUser']);
// Route::get('/renderTicket/{id}', 'TicketsController@renderTicket');

// Symbolic ticket
Route::get('/symbolic_tickets/purchase/symbolic_ticket', 'Api\SymbolicTicketApiController@purchase');
Route::get('/tickets/purchase', 'Api\TicketApiController@purchase');
Route::get('/transaction/donde', function () {
    return view('wompi.webcheckout-done-public');
});

// Academy
Route::get('/academy/purchase/academy', 'Api\AcademyPurchaseApiController@purchase');
Route::get('/wompi/confirm_purchase_academy', 'Api\AcademyPurchaseApiController@confirmFromWompiAcademy');
Route::get('/open_photo/{photo}', 'AcademyController@openPhoto');
Route::get('/open_document/{document}', 'AcademyController@openDocument');
Route::get('/academy/export', 'AcademyController@export');
Route::get('/academy/add_academy_users/{type_academy}', 'AcademyController@addAcademyUsers');
Route::post('/academy/addStudentsInBulk/import', 'AcademyController@importAcademyUsers');
Route::get('/academy/exportTemplate', 'AcademyController@exportTemplate');
Route::post('/academy/searchCities', 'AcademyController@getCity');
Route::post('/academy/selectCities', 'AcademyController@validateCityAndDepartment');
Route::post('/academy/studentSchedule/import', 'AcademyController@importSchedule');
Route::get('/academy/exportScheduleTemplate', 'AcademyController@exportScheduleTemplate');
Route::get('/academy/exportSchedulePaymentsTemplate', 'AcademyPurchaseController@exportTemplate');
Route::post('/clients/responsibleAcademy', 'UserController@createUserResponsibleAcademy');
Route::get('/academy_document/deleteDocument/{id}/{academyUserId}', 'AcademyDocumentController@deleteDocument');
Route::get('/carnet/getCarnet/{seeCard?}', 'CarnetController@getCarnet');
Route::get('/academy/tags/export', 'AcademyController@exportAcademyTagsTemplate');
Route::post('/academy/tags/import', 'AcademyController@importAcademyTags');

//tournament
Route::get('/exportAcademyTournamentPayments', 'AcademyTournamentPaymentController@exportTemplate');
Route::get('/temporalSync', 'AcademyTournamentPaymentController@temporalSync');

// SOAP - Services
Route::get('zoap/{key}/server', '\Viewflex\Zoap\ZoapController@server')->name('zoap.server.wsdl');
Route::post('zoap/{key}/server', '\Viewflex\Zoap\ZoapController@server')->name('zoap.server');

Route::get('/ticket/pdf/{code}', 'TicketsController@viewTicket');
Route::get('/tickets/pdf/{codes}', 'TicketsController@viewTickets');
Route::get('/dynamic-qr', 'TicketsController@generateDynamicQr');
Route::get('covid/{seat_id}/{zone_id}', 'TicketsController@searchNeighbour');

//Noticias personalizadas
Route::get('/news-club-personal/{id}', 'NewsClubPersonalController@index');
// test Woocommerce
Route::get('/woocommerce', 'WoocommerceController@getCurrent');
Route::get('/shopify/getProduct/{productId}', 'ShopifyController@getProduct');
Route::get('/shopify/show', 'ShopifyController@showExternalShop');
Route::get('/shopify/products/{collectionId}', 'ShopifyController@showExternalShopProducts');

Route::get('/shopify/updateOrdersFromShopify/{currency}/{lastLoadDate?}/{sinceId?}/{orders?}', 'ShopifyController@updateOrdersFromShopify');
Route::get('/shopify/resyncSystemLogs/{days?}', 'ShopifyController@resyncSystemLogs');

Route::get('/g/t/{url_key}', 'TicketsController@getPin');
Route::post('/g/t', 'TicketsController@getAttachmentFromPublic');

// Webpay
Route::get('/webpay_checkout', 'WebpayController@webcheckoutWebpay');
Route::post('/webpay/confirm', 'WebpayController@confirmFromWebpay');
Route::get('/webpay/confirm', 'WebpayController@confirmFromWebpay');

// Abonados
Route::get('/abonados/index', 'AbonadosController@index');
Route::get('/abonados/abonados.html', 'AbonadosController@index');
Route::get('/abonados/validate/{document}', 'AbonadosController@validation');
Route::put('/abonados/payment', 'AbonadosController@makePayment');
Route::get('/abonados/purchase/{id}', 'AbonadosController@purchaseAbono');
Route::get('/abonados/isPresuscription', 'AbonadosController@isPresuscription');

// Reporte de rendimiento
Route::post('/academy/upload/report', 'AcademyPerformanceReportController@uploadMassivePerformanceReport');
Route::get('/cache', function () {
    Artisan::call('cache:clear');
    Artisan::call('route:clear');
    Artisan::call('view:clear');
    Cache::flush();
    Storage::deleteDirectory('public/');

    $folder = public_path('tickets_tmp/');
    $files = File::files($folder);
    foreach ($files as $file) {
        File::delete($file);
    }

    return '<h1>Cache cleared</h1>';
});
Route::get('/cloneModule/{moduleId}/{path?}', 'ModuleController@cloneModule');
Route::get('/public/effectiveTransactions/{year?}/{month?}', 'PublicController@effectiveTransactions');

Route::get('/pagosbg.php', 'YappyController@webhooksListener');

Route::post('/tag/active', 'TagController@activate');
Route::get('/tag/filter', 'TagController@tableFilter')->name('tag.table');
Route::resource('tag', 'TagController');
Route::post('/tag/saveImage', 'TagController@saveImage');
Route::get('/tags/search', 'TagController@search')->name('tag.search');

// Rutas de landing page de experiencias
Route::get('/web_experiences', [WebExperienceController::class, 'index']);
Route::get('/web_experiences/{id}/detail', [WebExperienceController::class, 'detail']);
Route::get('/web_experiences/{id}/preview-enroll/{planPriceId}/{amount?}', [WebExperienceController::class, 'previewEnroll']);
Route::post('/web_experiences/{id}/enroll', [WebExperienceController::class, 'enroll'])->name('web_experiences.enroll');
Route::post('/web_experiences/logout', [WebExperienceController::class, 'logout'])->name('web_experiences.logout');

// Rutas de login
Route::post('/login/document-or-email', [LoginController::class, 'loginByDocumentOrEmail'])->name('login.by.document.or.email');
Route::post('/register/new', [UserController::class, 'registerNewUser'])->name('register.new.user');

// Rutas de landing page de ticketing
Route::get('/web_ticketing', [FlashTicketController::class, 'webBuying']);
Route::get('/web_ticketing/ticketSelect/{eventCode}', [FlashTicketController::class, 'ticketSelect']);

Route::get('/testsms/{idUserEmail}/{code}', 'TicketsController@sendMassSmsNotifications');
Route::get('/privacity', 'PublicController@privacity');
Route::get('/faq', 'PublicController@faq');
Route::get('/user/getByEmail/{email}', 'UserController@getByEmail');
Route::post('/user/getByDocument', 'UserController@getByDocument');
Route::post('/clients/create/{is_ticket?}/{validateByDocument?}', 'UserController@createClient');
Route::get('/payment_gateway/selection/{type}/{paymentObjectId}', 'PaymentGatewayController@selection')->name('payment.gateway.selection');
Route::get('/ticket/getAvailableTickets/{match_event_id}/{user_id}', 'TicketsController@getSumTicketsByUserFlashConfiguration');
Route::get('/ticket/createTicketsMatchByQuery/{matchEventReferenceId}/{type}/{matchEventCopyId}', 'TicketsController@createTicketsMatchByQuery');
Route::get('/ticket/generateTicketsByReferenceOrTicketMain/{reference?}/{ticketMain?}', 'TicketsController@generateTicketsByReferenceOrTicketMain');
Route::get('/ticket/getEventCapacity/{eventIdOrCode}', 'TicketsController@getEventCapacity');
Route::get('/ticket/getDetailNameZonesEvent/{eventIdOrCode}', 'TicketsController@getDetailNameZonesEvent');
Route::get('/tickets/tribunesParent/{match_event_id}', 'TicketsController@listTribunesParent');
Route::get('/tickets/subZones/{zone_id}/{event_id}', 'TicketsController@getSubZones');
Route::get('/tickets/seats/{zone_id}/{event_id}/{is_reassign?}', 'TicketsController@getSeats');
Route::get('/tickets/price/{zone_id}/{event_id}', 'TicketsController@getSeatPrice');
Route::get('/get_sub_zones/{main_zone_id}/{match_event?}', 'MassiveFansController@ajaxGetSubzonesFromMainZone');
Route::get('/delete-account', 'DeleteAccountController@deleteAccountLandingPage');
// prueba
Route::get('/procesar-cupon/{cupon}/{hasCoupon}/{matchEventIdAuxi}', 'FlashTicketController@procesarCupon');
Route::get('/close', function () {
    return redirect('/web_ticketing');
});
Route::get('/tiktok', 'TiktokController@feed');
Route::get('/tickets/loadStadiumZones', 'TicketsController@loadStadiumZones');
Route::get('/tickets/subscribersTicketEvent/{eventIdOrCode}', 'TicketsController@subscribersTicketEvent');
Route::get('/tickets/dataSubscribers/{eventIdOrCode}', 'TicketsController@dataSubscribers');
Route::post('/tickets/billingPayment/{paymentId}', 'PagoPassController@billingPayment');
Route::post('/tickets/notePayment/{paymentId}', 'PagoPassController@notePayment');
Route::post('/tickets/billingOnDemand', 'TicketsController@billingOnDemand');

Route::post('/store/wompi-api/confirm', 'WompiApiController@doPayment');
Route::get('/store/wompi-api/user-payment-sources', 'WompiApiController@userPaymentSources');