feat: ignored room types

closes #869bvbmcw
This commit is contained in:
Björn Fromme
2026-03-16 12:02:59 +01:00
parent c582e0820a
commit 167ccf5151
2 changed files with 17 additions and 1 deletions
+3
View File
@@ -70,4 +70,7 @@ final class Constants
// Baby room constraints
public const BABY_MAX_AGE = 2;
public const BABY_ROOM_CODE = 'Baby';
// Pseudo price room - used for website display only, not bookable
public const PSEUDO_PRICE_ROOM_CODE = 'PDGS';
}
+14 -1
View File
@@ -24,6 +24,13 @@ class TravelParser extends AbstractParser
{
private AgeConstraintParserRegistry $ageConstraintRegistry;
/**
* @var array<string>
*/
private array $ignoredRoomCodes = [
Constants::PSEUDO_PRICE_ROOM_CODE,
];
public function __construct()
{
$this->ageConstraintRegistry = new AgeConstraintParserRegistry();
@@ -319,11 +326,17 @@ class TravelParser extends AbstractParser
$rooms = [];
$roomNodes->each(function (Crawler $roomNode) use (&$rooms) {
$roomCode = $roomNode->attr('zimmercode');
if (true === in_array($roomCode, $this->ignoredRoomCodes, true)) {
return;
}
$roomId = (int) $roomNode->attr('idbuspro_zimmer');
$room = new Room();
$room->id = $roomId;
$room->code = $roomNode->attr('zimmercode');
$room->code = $roomCode;
$room->category = $roomNode->attr('kat');
$room->boardId = (int) $roomNode->attr('idbuspro_vp');
$room->label = $roomNode->attr('zimmertext');