/** * @param ServiceRequest $request * @param Holder $holder * @param Rooms $rooms * @param ClientReference $client_reference * @throws ServiceHotelBookingException */ public function __construct(ServiceRequest $request, Holder $holder, Rooms $rooms, ClientReference $client_reference) { try { $this->request_data = ["holder" => $holder->getHolderData(), "rooms" => $rooms->getRooms(), "clientReference" => $client_reference->getReference()]; $this->response = $request->setHeaders(['json' => $this->request_data])->setOptions("bookings")->send("POST"); } catch (\Exception $e) { throw new ServiceHotelBookingException($e->getMessage()); } }