<?php

// Routes for offplan.

// Guard routes for booking
Route::prefix('{guard}/offplan')->group(function () {

    Route::get('booking/report/{report}', 'BookingReportController');
    Route::post('booking/exim/{exim}', 'BookingEximController');
    Route::patch('booking/actions/{action}', 'BookingActionsController');
    Route::patch('booking/action/{booking}/{action}', 'BookingActionController');
    Route::patch('booking/workflow/{booking}/{transition}', 'BookingWorkflowController');
    Route::resource('booking', 'BookingResourceController');
});

// Guard routes for floorplan
Route::prefix('{guard}/offplan')->group(function () {

    Route::get('floorplan/report/{report}', 'FloorplanReportController');
    Route::post('floorplan/exim/{exim}', 'FloorplanEximController');
    Route::patch('floorplan/actions/{action}', 'FloorplanActionsController');
    Route::patch('floorplan/action/{floorplan}/{action}', 'FloorplanActionController');
    Route::patch('floorplan/workflow/{floorplan}/{transition}', 'FloorplanWorkflowController');
    Route::resource('floorplan', 'FloorplanResourceController');
});

// Guard routes for payment
Route::prefix('{guard}/offplan')->group(function () {

    Route::get('payment/report/{report}', 'PaymentReportController');
    Route::post('payment/exim/{exim}', 'PaymentEximController');
    Route::patch('payment/actions/{action}', 'PaymentActionsController');
    Route::patch('payment/action/{payment}/{action}', 'PaymentActionController');
    Route::patch('payment/workflow/{payment}/{transition}', 'PaymentWorkflowController');
    Route::resource('payment', 'PaymentResourceController');
});

// Guard routes for project
Route::prefix('{guard}/offplan')->group(function () {

    Route::get('project/report/{report}', 'ProjectReportController');
    Route::post('project/exim/{exim}', 'ProjectEximController');
    Route::patch('project/actions/{action}', 'ProjectActionsController');
    Route::patch('project/action/{project}/{action}', 'ProjectActionController');
    Route::patch('project/workflow/{project}/{transition}', 'ProjectWorkflowController');
    Route::resource('project', 'ProjectResourceController');
});

// Guard routes for unit
Route::prefix('{guard}/offplan')->group(function () {

    Route::get('unit/report/{report}', 'UnitReportController');
    Route::patch('unit/actions/{action}', 'UnitActionsController');
    Route::patch('unit/action/{unit}/{action}', 'UnitActionController');
    Route::patch('unit/workflow/{unit}/{transition}', 'UnitWorkflowController');
    Route::resource('unit', 'UnitResourceController');
});



// Public routes for offplan
Route::get('offplans/', 'OffplanPublicController@index');
Route::get('offplan/{slug?}', 'OffplanPublicController@show');