group(function () { Route::get('calendar/report/{report}', 'CalendarReportController'); Route::post('calendar/exim/{exim}', 'CalendarEximController'); Route::patch('calendar/actions/{action}', 'CalendarActionsController'); Route::patch('calendar/action/{calendar}/{action}', 'CalendarActionController'); Route::patch('calendar/workflow/{calendar}/{transition}', 'CalendarWorkflowController'); Route::resource('calendar', 'CalendarResourceController'); }); // Guard routes for task Route::prefix('{guard}/schedule')->group(function () { Route::get('task/report/{report}', 'TaskReportController'); Route::post('task/exim/{exim}', 'TaskEximController'); Route::patch('task/actions/{action}', 'TaskActionsController'); Route::patch('task/action/{task}/{action}', 'TaskActionController'); Route::patch('task/workflow/{task}/{transition}', 'TaskWorkflowController'); Route::resource('task', 'TaskResourceController'); }); // Guard routes for attendee Route::prefix('{guard}/schedule')->group(function () { Route::get('attendee/report/{report}', 'AttendeeReportController'); Route::post('attendee/exim/{exim}', 'AttendeeEximController'); Route::patch('attendee/actions/{action}', 'AttendeeActionsController'); Route::patch('attendee/action/{attendee}/{action}', 'AttendeeActionController'); Route::patch('attendee/workflow/{attendee}/{transition}', 'AttendeeWorkflowController'); Route::resource('attendee', 'AttendeeResourceController'); }); // Public routes for schedule Route::get('schedules/', 'SchedulePublicController@index'); Route::get('schedule/{slug?}', 'SchedulePublicController@show');