feat: ignored room types
closes #869bvbmcw
This commit is contained in:
@@ -70,4 +70,7 @@ final class Constants
|
|||||||
// Baby room constraints
|
// Baby room constraints
|
||||||
public const BABY_MAX_AGE = 2;
|
public const BABY_MAX_AGE = 2;
|
||||||
public const BABY_ROOM_CODE = 'Baby';
|
public const BABY_ROOM_CODE = 'Baby';
|
||||||
|
|
||||||
|
// Pseudo price room - used for website display only, not bookable
|
||||||
|
public const PSEUDO_PRICE_ROOM_CODE = 'PDGS';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,13 @@ class TravelParser extends AbstractParser
|
|||||||
{
|
{
|
||||||
private AgeConstraintParserRegistry $ageConstraintRegistry;
|
private AgeConstraintParserRegistry $ageConstraintRegistry;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var array<string>
|
||||||
|
*/
|
||||||
|
private array $ignoredRoomCodes = [
|
||||||
|
Constants::PSEUDO_PRICE_ROOM_CODE,
|
||||||
|
];
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->ageConstraintRegistry = new AgeConstraintParserRegistry();
|
$this->ageConstraintRegistry = new AgeConstraintParserRegistry();
|
||||||
@@ -319,11 +326,17 @@ class TravelParser extends AbstractParser
|
|||||||
$rooms = [];
|
$rooms = [];
|
||||||
|
|
||||||
$roomNodes->each(function (Crawler $roomNode) use (&$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');
|
$roomId = (int) $roomNode->attr('idbuspro_zimmer');
|
||||||
|
|
||||||
$room = new Room();
|
$room = new Room();
|
||||||
$room->id = $roomId;
|
$room->id = $roomId;
|
||||||
$room->code = $roomNode->attr('zimmercode');
|
$room->code = $roomCode;
|
||||||
$room->category = $roomNode->attr('kat');
|
$room->category = $roomNode->attr('kat');
|
||||||
$room->boardId = (int) $roomNode->attr('idbuspro_vp');
|
$room->boardId = (int) $roomNode->attr('idbuspro_vp');
|
||||||
$room->label = $roomNode->attr('zimmertext');
|
$room->label = $roomNode->attr('zimmertext');
|
||||||
|
|||||||
Reference in New Issue
Block a user