group(function () { Route::get('provider/form/{element}', 'ProviderAPIController@form'); Route::resource('provider', 'ProviderAPIController'); }); // Public routes for provider Route::get('services/', 'ProviderPublicController@index'); Route::get('services/{slug?}', 'ProviderPublicController@show'); if (Trans::isMultilingual()) { Route::group( [ 'prefix' => '{trans}', 'where' => ['trans' => Trans::keys('|')], ], function () { // Guard routes for services Route::prefix('{guard}/service')->group(function () { Route::get('provider/form/{element}', 'ProviderAPIController@form'); Route::apiResource('provider', 'ProviderAPIController'); }); // Public routes for services Route::get('service/Provider', 'ProviderPublicController@getProvider'); } ); } // API routes for booking Route::prefix('{guard}/service')->group(function () { Route::get('booking/form/{element}', 'BookingAPIController@form'); Route::resource('booking', 'BookingAPIController'); }); // Public routes for booking Route::get('services/', 'BookingPublicController@index'); Route::get('services/{slug?}', 'BookingPublicController@show'); if (Trans::isMultilingual()) { Route::group( [ 'prefix' => '{trans}', 'where' => ['trans' => Trans::keys('|')], ], function () { // Guard routes for services Route::prefix('{guard}/service')->group(function () { Route::get('booking/form/{element}', 'BookingAPIController@form'); Route::apiResource('booking', 'BookingAPIController'); }); // Public routes for services Route::get('service/Booking', 'BookingPublicController@getBooking'); } ); } // API routes for quote Route::prefix('{guard}/service')->group(function () { Route::get('quote/form/{element}', 'QuoteAPIController@form'); Route::resource('quote', 'QuoteAPIController'); }); // Public routes for quote Route::get('services/', 'QuotePublicController@index'); Route::get('services/{slug?}', 'QuotePublicController@show'); if (Trans::isMultilingual()) { Route::group( [ 'prefix' => '{trans}', 'where' => ['trans' => Trans::keys('|')], ], function () { // Guard routes for services Route::prefix('{guard}/service')->group(function () { Route::get('quote/form/{element}', 'QuoteAPIController@form'); Route::apiResource('quote', 'QuoteAPIController'); }); // Public routes for services Route::get('service/Quote', 'QuotePublicController@getQuote'); } ); } // API routes for comment Route::prefix('{guard}/service')->group(function () { Route::get('comment/form/{element}', 'CommentAPIController@form'); Route::resource('comment', 'CommentAPIController'); }); // Public routes for comment Route::get('services/', 'CommentPublicController@index'); Route::get('services/{slug?}', 'CommentPublicController@show'); if (Trans::isMultilingual()) { Route::group( [ 'prefix' => '{trans}', 'where' => ['trans' => Trans::keys('|')], ], function () { // Guard routes for services Route::prefix('{guard}/service')->group(function () { Route::get('comment/form/{element}', 'CommentAPIController@form'); Route::apiResource('comment', 'CommentAPIController'); }); // Public routes for services Route::get('service/Comment', 'CommentPublicController@getComment'); } ); } // API routes for subscription Route::prefix('{guard}/service')->group(function () { Route::get('subscription/form/{element}', 'SubscriptionAPIController@form'); Route::resource('subscription', 'SubscriptionAPIController'); }); // Public routes for subscription Route::get('services/', 'SubscriptionPublicController@index'); Route::get('services/{slug?}', 'SubscriptionPublicController@show'); if (Trans::isMultilingual()) { Route::group( [ 'prefix' => '{trans}', 'where' => ['trans' => Trans::keys('|')], ], function () { // Guard routes for services Route::prefix('{guard}/service')->group(function () { Route::get('subscription/form/{element}', 'SubscriptionAPIController@form'); Route::apiResource('subscription', 'SubscriptionAPIController'); }); // Public routes for services Route::get('service/Subscription', 'SubscriptionPublicController@getSubscription'); } ); } // API routes for provider_availability Route::prefix('{guard}/service')->group(function () { Route::get('provider_availability/form/{element}', 'ProviderAvailabilityAPIController@form'); Route::resource('provider_availability', 'ProviderAvailabilityAPIController'); }); // Public routes for provider_availability Route::get('services/', 'ProviderAvailabilityPublicController@index'); Route::get('services/{slug?}', 'ProviderAvailabilityPublicController@show'); if (Trans::isMultilingual()) { Route::group( [ 'prefix' => '{trans}', 'where' => ['trans' => Trans::keys('|')], ], function () { // Guard routes for services Route::prefix('{guard}/service')->group(function () { Route::get('provider_availability/form/{element}', 'ProviderAvailabilityAPIController@form'); Route::apiResource('provider_availability', 'ProviderAvailabilityAPIController'); }); // Public routes for services Route::get('service/ProviderAvailability', 'ProviderAvailabilityPublicController@getProviderAvailability'); } ); } // API routes for review Route::prefix('{guard}/service')->group(function () { Route::get('review/form/{element}', 'ReviewAPIController@form'); Route::resource('review', 'ReviewAPIController'); }); // Public routes for review Route::get('services/', 'ReviewPublicController@index'); Route::get('services/{slug?}', 'ReviewPublicController@show'); if (Trans::isMultilingual()) { Route::group( [ 'prefix' => '{trans}', 'where' => ['trans' => Trans::keys('|')], ], function () { // Guard routes for services Route::prefix('{guard}/service')->group(function () { Route::get('review/form/{element}', 'ReviewAPIController@form'); Route::apiResource('review', 'ReviewAPIController'); }); // Public routes for services Route::get('service/Review', 'ReviewPublicController@getReview'); } ); }