wip: booking process, refactoring

This commit is contained in:
Björn Fromme
2025-07-16 19:37:17 +02:00
parent 47faa6b08e
commit eecea0abd1
43 changed files with 2269 additions and 366 deletions
+21 -6
View File
@@ -34,6 +34,7 @@ class ApiClient
public const TYPE_AVAILABILITY = 'VERFUEGBARKEIT';
public const TYPE_AVAILABILITY_HOTEL = 'VERFUEGBARKEITHOTEL';
public const TYPE_BOOKING_UPDATE = 'BUCHUNGAENDERUNG';
public const TYPE_PRODUCTS = 'PRODUKTE';
public const TYPE_PRODUCT_DATA = 'PRODUKTDATEN';
private array $config;
@@ -205,13 +206,13 @@ class ApiClient
/**
* @throws ApiClientException
*/
public function getMutableData(int $travelId): Notification|BaseData
public function getMutableData(int $dateId): Notification|BaseData
{
$data = [
'user' => $this->config['bpn_username'],
'key' => $this->createKey($this->config['bpn_username'], $this->config['bpn_password'], static::TYPE_MUTABLE_DATA),
'satz' => ['@typ' => static::TYPE_MUTABLE_DATA],
'idreise' => $travelId,
'idreise' => $dateId,
];
return $this->sendRequest(static::TYPE_MUTABLE_DATA, $data);
@@ -220,13 +221,13 @@ class ApiClient
/**
* @throws ApiClientException
*/
public function getAvailabilities(int $travelId): Notification|BaseData
public function getAvailabilities(int $dateId): Notification|BaseData
{
$data = [
'user' => $this->config['bpn_username'],
'key' => $this->createKey($this->config['bpn_username'], $this->config['bpn_password'], static::TYPE_AVAILABILITY),
'satz' => ['@typ' => static::TYPE_AVAILABILITY],
'idreise' => $travelId,
'idreise' => $dateId,
];
return $this->sendRequest(static::TYPE_AVAILABILITY, $data);
@@ -235,13 +236,13 @@ class ApiClient
/**
* @throws ApiClientException
*/
public function getHotelAvailability(int $travelId, int $hotelId, \DateTimeInterface $dateTo): Notification|BaseData
public function getHotelAvailability(int $dateId, int $hotelId, \DateTimeInterface $dateTo): Notification|BaseData
{
$data = [
'user' => $this->config['bpn_username'],
'key' => $this->createKey($this->config['bpn_username'], $this->config['bpn_password'], static::TYPE_AVAILABILITY_HOTEL),
'satz' => ['@typ' => static::TYPE_AVAILABILITY_HOTEL],
'idreise' => $travelId,
'idreise' => $dateId,
'idpartner' => $hotelId,
'terminbis' => $dateTo->format('d.m.Y'),
];
@@ -313,6 +314,20 @@ class ApiClient
return $this->sendRequest(static::TYPE_PRODUCT_DATA, $data, ['hotelId' => $hotelId]);
}
/**
* @throws ApiClientException
*/
public function getProducts(): Notification|BaseData
{
$data = [
'user' => $this->config['bpn_username'],
'key' => $this->createKey($this->config['bpn_username'], $this->config['bpn_password'], static::TYPE_PRODUCTS),
'satz' => ['@typ' => static::TYPE_PRODUCTS],
];
return $this->sendRequest(static::TYPE_PRODUCTS, $data);
}
/**
* @throws ApiClientException
*/