Files
myep/src/Model/Chatbot/TripCriteria.php
T

39 lines
1.1 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Model\Chatbot;
use App\Enum\HotelType;
use App\Enum\RoomType;
/**
* The filters of the search_trips tool, validated. They mirror the website's travel search:
* the travel period is matched by containment (start on or after `dateFrom`, end on or
* before `dateTo`), prices apply to the "ab" price.
*/
final readonly class TripCriteria
{
public function __construct(
public ?string $query = null,
public ?\DateTimeImmutable $dateFrom = null,
public ?\DateTimeImmutable $dateTo = null,
public ?string $country = null,
public ?string $region = null,
public ?string $concept = null,
public ?float $priceMin = null,
public ?float $priceMax = null,
public ?int $persons = null,
public ?HotelType $accommodation = null,
public ?string $board = null,
public ?RoomType $roomType = null,
public ?int $nightsMin = null,
public ?int $nightsMax = null,
public ?bool $bus = null,
public ?bool $daytrip = null,
public ?string $site = null,
public int $limit = 10,
) {
}
}