File: /home/xedaptot/rms.naniguide.com/app/Http/Controllers/ApiController.php
<?php
namespace App\Http\Controllers;
use App\Models\Hotel;
use App\Models\Reservation;
use App\Models\RoomType;
use App\Services\RevenueManagementService;
use Illuminate\Http\Request;
class ApiController extends Controller
{
public function __construct(private RevenueManagementService $rms)
{
}
public function kpis(Hotel $hotel, Request $request)
{
return response()->json($this->rms->kpis($hotel, $request->input('from'), $request->input('to')));
}
public function forecast(Hotel $hotel, Request $request)
{
return response()->json($this->rms->forecast($hotel, $request->input('granularity', 'daily')));
}
public function pricing(RoomType $roomType, Request $request)
{
return response()->json($this->rms->recommendedRate($roomType, $request->all()));
}
public function reservations(Hotel $hotel)
{
return response()->json(Reservation::with('roomType')->where('hotel_id', $hotel->id)->latest('stay_date')->limit(100)->get());
}
public function ai(Hotel $hotel)
{
return response()->json($this->rms->aiRecommendations($hotel));
}
}