Hotelbeds PHP API - 如何获得每日房价?

时间:2016-08-11 06:44:25

标签: php api

我正在与Hotelbeds APItude PHP API合作,以查找available hotel rooms的信息。

嗯,我可以通过documentation

获取所有可用酒店的信息

但是,我面临着获得所有酒店客房每日房价的问题。

documentation中有一个选项可以发送请求属性以获取每个房间的每日费率。这是请求属性 -

  

availabilityRQ / @ dailyRate - 布尔值 - 可选 - 每天显示费率

dailyRate是一个boolean值,用于确认API是否会发回每日费率信息(我认为到目前为止)。

因此,在实现中,我发送以下请求参数 -

                    $rqData = new \hotelbeds\hotel_api_sdk\helpers\Availability();
                $rqData->stay = new Stay(DateTime::createFromFormat("Y-m-d", "2016-09-01"),
                    DateTime::createFromFormat("Y-m-d", "2016-09-10"));

                $rqData->hotels = ["hotel" => [1067, 1070,]];

                //                    $rqData->destination = new Destination("PMI");
                $occupancy = new Occupancy();
                $occupancy->adults = 2;
                $occupancy->children = 1;
                $occupancy->rooms = 1;

                $occupancy->paxes = [new Pax(Pax::AD, 30, "Mike", "Doe"), new Pax(Pax::AD, 27, "Jane", "Doe"), new Pax(Pax::CH, 8, "Mack", "Doe")];
                $rqData->occupancies = [$occupancy];

                $rqData->dailyRate = TRUE;

                $availRS = $apiClient->Availability($rqData);

我检查过,除了$rqData->dailyRate = TRUE;参数外,一切正常。

我收到以下错误 -

  

错误请求:请求不符合指定版本的API。属性dailyRate出错:无法从字符串值'Y'构造布尔值实例:只识别“true”或“false”

我认为,我遗漏了为boolean属性创建dailyRate参数的问题。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

这看起来像是他们的公共API或他们的PHP库的错误。提交错误报告。

class Availability extends ApiHelperclass ApiHelper extends DataContainer

DataContainerif (is_bool($item)) return $item ? "Y" : "N";

https://github.com/hotelbeds-sdk/hotel-api-sdk-php/blob/56b4621bbf488a878f1eb1a194f6a63d928dc9db/src/generic/DataContainer.php#L105

他们的库中的DataContainer.php会将布尔值转换为YN。因此,当您执行API请求时,true/false的任何值都会转换为Y/N

但他们的API需要真/假。