feat: api endpoints and xml sync for contingents data

This commit is contained in:
Björn Fromme committed 2026-04-22 11:23:52 +02:00
1 parent a1f68ec11d
commit 9b84893d88
50 files changed
+2567 -221

No files matched your search

@@ -0,0 +1,22 @@
<?php
declare(strict_types=1);
namespace App\BusProNet\Model;
use Symfony\Component\Serializer\Attribute\Groups;
class ContingentCalendarEvent
{
public function __construct(
#[Groups(['api:contingent'])]
public string $date,
#[Groups(['api:contingent'])]
public string $status,
#[Groups(['api:contingent'])]
public int $pax,
#[Groups(['api:contingent'])]
public int $available,
) {
}
}
@@ -0,0 +1,22 @@
<?php
declare(strict_types=1);
namespace App\BusProNet\Model;
use Symfony\Component\Serializer\Attribute\Groups;
class ContingentDateSummary
{
public function __construct(
#[Groups(['api:contingent'])]
public string $date,
#[Groups(['api:contingent'])]
public ?int $minNights,
#[Groups(['api:contingent'])]
public int $total,
#[Groups(['api:contingent'])]
public int $capacity,
) {
}
}
@@ -0,0 +1,38 @@
<?php
declare(strict_types=1);
namespace App\BusProNet\Model;
use Symfony\Component\Serializer\Attribute\Groups;
class ContingentRoomAvailability
{
public function __construct(
#[Groups(['api:contingent'])]
public string $date,
#[Groups(['api:contingent'])]
public string $roomCode,
#[Groups(['api:contingent'])]
public string $roomLabel,
#[Groups(['api:contingent'])]
public string $bookingUrl,
#[Groups(['api:contingent'])]
public int $pax,
#[Groups(['api:contingent'])]
public int $available,
#[Groups(['api:contingent'])]
public string $status,
#[Groups(['api:contingent'])]
public ?float $minPrice,
#[Groups(['api:contingent'])]
public ?int $minNights,
#[Groups(['api:contingent'])]
public ?float $additionalNightMinPrice,
#[Groups(['api:contingent'])]
public ?int $additionalNightMinNights,
#[Groups(['api:contingent'])]
public float $priceForSelection,
) {
}
}