function getReservation($reservationId = null, $hotelId = null, $checkAvailability = true)
 {
     if (!isset($reservationId)) {
         $reservationId = JRequest::getInt("reservationId");
     }
     $confirmationTable = JTable::getInstance('Confirmations', 'Table', array());
     $reservation = $confirmationTable->getReservationData($reservationId);
     if (!$reservationId) {
         $reservation = UserDataService::createUserData(array());
         $reservation->hotelId = $hotelId;
     } else {
         $reservation->reservedItems = explode(",", $reservation->items_reserved);
         $reservation->extraOptionIds = explode(",", $reservation->extraOptionIds);
         $reservation->hotelId = $reservation->hotel_id;
         $reservation->guestDetails = $this->prepareGuestDetails($reservation->guestDetails);
         $reservation->roomGuests = explode(",", $reservation->total_adults);
         $reservation->total_adults = 0;
         if (isset($reservation->roomGuests) && count($reservation->roomGuests) >= 1) {
             foreach ($reservation->roomGuests as $guestPerRoom) {
                 $values = explode("|", $guestPerRoom);
                 $reservation->total_adults += $values[0];
             }
         }
         $reservation->roomGuestsChildren = explode(",", $reservation->children);
         $reservation->total_children = 0;
         if (isset($reservation->roomGuestsChildren) && count($reservation->roomGuestsChildren) >= 1) {
             foreach ($reservation->roomGuestsChildren as $guestPerRoom) {
                 $values = explode("|", $guestPerRoom);
                 $reservation->total_children += $values[0];
             }
         }
     }
     //dmp($reservation->total_adults);
     //dmp($reservation->roomGuests);
     //dmp($reservation);
     if (!isset($reservation->totalPaid)) {
         $reservation->totalPaid = 0;
     }
     $hotel = HotelService::getHotel($reservation->hotelId);
     $reservation->currency = HotelService::getHotelCurrency($hotel);
     $reservationData = new stdClass();
     $reservationData->userData = $reservation;
     $reservationData->appSettings = JHotelUtil::getInstance()->getApplicationSettings();
     $reservationData->hotel = $hotel;
     $extraOptionIds = isset($reservationData->userData->extraOptionIds) ? $reservationData->userData->extraOptionIds : null;
     $extraOptions = array();
     if (is_array($extraOptionIds) && count($extraOptionIds) > 0) {
         foreach ($extraOptionIds as $key => $value) {
             if (strlen($value) > 1) {
                 $extraOption = explode("|", $value);
                 $extraOptions[$key] = $extraOption;
             }
         }
     }
     //dmp($_SESSION["extras"]);
     $reservationData->extraOptions = ExtraOptionsService::getHotelExtraOptions($reservationData->userData->hotelId, $reservationData->userData->start_date, $reservationData->userData->end_date, $_SESSION["extras"], 0, 0, false);
     $reservationDetails = new stdClass();
     if ($reservationId) {
         $reservationDetails = $this->generateReservationSummary($reservationData, $checkAvailability);
     }
     $reservationDetails->reservationData = $reservationData;
     $reservationDetails->billingInformation = $this->getBillingInformation($reservationData->userData, $reservationData->appSettings->hide_user_email);
     $reservationDetails->confirmation_id = $reservation->confirmation_id;
     $paymentDetails = PaymentService::getConfirmationPaymentDetails($reservation->confirmation_id);
     if (isset($paymentDetails) && $paymentDetails->confirmation_id != 0) {
         $reservationDetails->paymentInformation = $this->getPaymentInformation($paymentDetails, $reservationDetails->total, $reservationDetails->cost);
     }
     //dmp($reservationDetails);
     return $reservationDetails;
 }
예제 #2
0
 public function populateReservationDetails($data)
 {
     $userData = new stdClass();
     $userData->confirmation_id = $data["reservationId"];
     //dmp($data["roomdetails"]);
     $guestInfo = $this->getNumberOfGuests($data["roomdetails"]);
     $userData->roomGuests = $guestInfo->adults;
     //dmp($userData->roomGuests);
     $userData->total_adults = 0;
     if (isset($userData->roomGuests) && count($userData->roomGuests) >= 1) {
         foreach ($userData->roomGuests as $guestPerRoom) {
             $userData->total_adults += $guestPerRoom;
         }
     }
     $userData->adults = $userData->total_adults;
     $userData->children = 0;
     $userData->first_name = $data["first_name"];
     $userData->last_name = $data["last_name"];
     $userData->address = $data["address"];
     $userData->city = $data["city"];
     $userData->state_name = $data["state_name"];
     $userData->country = $data["country"];
     $userData->postal_code = $data["postal_code"];
     $userData->phone = $data["phone"];
     $userData->email = $data["email"];
     $userData->company_name = $data["company_name"];
     $userData->guest_type = isset($data["guest_type"]) ? $data["guest_type"] : 0;
     $userData->discount_code = $data["discount_code"];
     $userData->reservedItems = $data["reservedItem"];
     $userData->hotelId = $data["hotelId"];
     $userData->totalPaid = $data["totalPaid"];
     /*--------------------------------------------------------------*/
     //MICOD
     //Aquí anexamos el nuevo campo de edades a la variable $userSata
     $edades = array($data["edad-1"], $data["edad-2"], $data["edad-3"], $data["edad-4"], $data["edad-5"], $data["edad-6"]);
     //Concatenar todo en un nuevo Array
     $string_edades = implode("|", $edades);
     //Pegar todo en un nuevo string
     $userData->child_age = $string_edades;
     //Pasar la variable al userData
     $_SESSION["child_age"] = $userData->child_age;
     //Pasar la variable a una sesión para cargarlo en el archivo ReservationService.php
     /*dmp($_SESSION["child_age"]);
     		die;*/
     /*--------------------------------------------------------------*/
     $userData->voucher = $data["voucher"];
     $userData->remarks = $data["remarks"];
     $userData->remarks_admin = $data["remarks_admin"];
     $userData->start_date = JHotelUtil::convertToMysqlFormat($data["start_date"]);
     $userData->end_date = JHotelUtil::convertToMysqlFormat($data["end_date"]);
     $hotel = HotelService::getHotel($userData->hotelId);
     $userData->currency = HotelService::getHotelCurrency($hotel);
     $userData->arrival_time = $data["arrival_time"];
     $userData->rooms = count($data["roomdetails"]);
     if ($data["update_price_type"] == 2 || empty($data["update_price_type"])) {
         $userData->roomCustomPrices = $this->prepareCustomPrices($userData->reservedItems, $data["roomdetails"], $userData->start_date);
     }
     if (!empty($data["extraOptionIds"])) {
         $extraOptions = array();
         if (isset($data["extraOptionIds"])) {
             foreach ($data["extraOptionIds"] as $key => $value) {
                 $extraOption = explode("|", $value);
                 if ($extraOption[5] > 0 || $extraOption[6] > 0) {
                     continue;
                 }
                 if (isset($data["extra-option-days-" . $extraOption[3]])) {
                     $extraOption[6] = $data["extra-option-days-" . $extraOption[3]];
                 }
                 if (isset($data["extra-option-persons-" . $extraOption[3]])) {
                     $extraOption[5] = $data["extra-option-persons-" . $extraOption[3]];
                 }
                 $extraOptions[$key] = implode("|", $extraOption);
             }
         }
         $userData->extraOptionIds = $extraOptions;
     }
     $guestDetails = array();
     if (isset($data["guest_first_name"])) {
         for ($i = 0; $i < count($data["guest_first_name"]); $i++) {
             $guestDetail = new stdClass();
             $guestDetail->first_name = $data["guest_first_name"][$i];
             $guestDetail->last_name = $data["guest_last_name"][$i];
             $guestDetail->identification_number = $data["guest_identification_number"][$i];
             $guestDetails[] = $guestDetail;
         }
     }
     $userData->guestDetails = $guestDetails;
     return $userData;
 }
 public function populateReservationDetails($data)
 {
     $userData = new stdClass();
     $userData->confirmation_id = $data["reservationId"];
     //dmp($data["roomdetails"]);
     $guestInfo = $this->getNumberOfGuests($data["roomdetails"]);
     $userData->roomGuests = $guestInfo->adults;
     //dmp($userData->roomGuests);
     $userData->total_adults = 0;
     if (isset($userData->roomGuests) && count($userData->roomGuests) >= 1) {
         foreach ($userData->roomGuests as $guestPerRoom) {
             $userData->total_adults += $guestPerRoom;
         }
     }
     $userData->adults = $userData->total_adults;
     $userData->children = 0;
     $userData->first_name = $data["first_name"];
     $userData->last_name = $data["last_name"];
     $userData->address = $data["address"];
     $userData->city = $data["city"];
     $userData->state_name = $data["state_name"];
     $userData->country = $data["country"];
     $userData->postal_code = $data["postal_code"];
     $userData->phone = $data["phone"];
     $userData->email = $data["email"];
     $userData->company_name = $data["company_name"];
     $userData->guest_type = isset($data["guest_type"]) ? $data["guest_type"] : 0;
     $userData->discount_code = $data["discount_code"];
     $userData->reservedItems = $data["reservedItem"];
     $userData->hotelId = $data["hotelId"];
     $userData->totalPaid = $data["totalPaid"];
     $userData->voucher = $data["voucher"];
     $userData->remarks = $data["remarks"];
     $userData->remarks_admin = $data["remarks_admin"];
     $userData->start_date = JHotelUtil::convertToMysqlFormat($data["start_date"]);
     $userData->end_date = JHotelUtil::convertToMysqlFormat($data["end_date"]);
     $hotel = HotelService::getHotel($userData->hotelId);
     $userData->currency = HotelService::getHotelCurrency($hotel);
     $userData->arrival_time = $data["arrival_time"];
     $userData->rooms = count($data["roomdetails"]);
     if ($data["update_price_type"] == 2 || empty($data["update_price_type"])) {
         $userData->roomCustomPrices = $this->prepareCustomPrices($userData->reservedItems, $data["roomdetails"], $userData->start_date);
     }
     if (!empty($data["extraOptionIds"])) {
         $extraOptions = array();
         if (isset($data["extraOptionIds"])) {
             foreach ($data["extraOptionIds"] as $key => $value) {
                 $extraOption = explode("|", $value);
                 if ($extraOption[5] > 0 || $extraOption[6] > 0) {
                     continue;
                 }
                 if (isset($data["extra-option-days-" . $extraOption[3]])) {
                     $extraOption[6] = $data["extra-option-days-" . $extraOption[3]];
                 }
                 if (isset($data["extra-option-persons-" . $extraOption[3]])) {
                     $extraOption[5] = $data["extra-option-persons-" . $extraOption[3]];
                 }
                 $extraOptions[$key] = implode("|", $extraOption);
             }
         }
         $userData->extraOptionIds = $extraOptions;
     }
     $guestDetails = array();
     if (isset($data["guest_first_name"])) {
         for ($i = 0; $i < count($data["guest_first_name"]); $i++) {
             $guestDetail = new stdClass();
             $guestDetail->first_name = $data["guest_first_name"][$i];
             $guestDetail->last_name = $data["guest_last_name"][$i];
             $guestDetail->identification_number = $data["guest_identification_number"][$i];
             $guestDetails[] = $guestDetail;
         }
     }
     $userData->guestDetails = $guestDetails;
     return $userData;
 }