32 lines
968 B
PHP
32 lines
968 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Model;
|
|
|
|
/**
|
|
* Typed CMS hotel payload, used both for the rich hotel-details view (booking offer page,
|
|
* admin accommodation edit) and the slimmer booking-summary sidebar. Fields beyond name,
|
|
* address and images are only populated when sourced from
|
|
* {@see \App\Service\CmsDataProvider::getHotelDetails()}.
|
|
*/
|
|
final readonly class CmsHotelData
|
|
{
|
|
/**
|
|
* @param array<string, mixed>|null $images
|
|
* @param list<array{icon: string, label: string|false}>|null $icons
|
|
*/
|
|
public function __construct(
|
|
public ?string $name,
|
|
public ?string $address,
|
|
public ?array $images,
|
|
public ?string $description = null,
|
|
public ?string $features = null,
|
|
public ?string $roomTypes = null,
|
|
public ?string $additionalInformation = null,
|
|
public ?array $icons = null,
|
|
public ?CmsRegionData $region = null,
|
|
) {
|
|
}
|
|
}
|