HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
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));
    }
}