Beispiel #1
0
 public static function PackAvail($Operator, $PackID, $PackType, $EntryID, $Rooms, $ExtraServ)
 {
     $result = Soap::AidaSoap($Operator, 'PackAvail', ['AIDA_PackAvailRQ' => ['Package' => ['ID' => $PackID, 'Type' => $PackType, 'PackEntry' => ['ID' => $EntryID, 'Rooms' => ['Room' => $Rooms], 'ExtraServices' => $ExtraServ]]]]);
     return $result;
 }
 public function ajaxAccAvailHoteluri(Request $request)
 {
     $accserviceid = unserialize(base64_decode($request->accserviceid));
     $datasejur = unserialize(base64_decode($request->datasejur));
     $rateid = unserialize(base64_decode($request->rateid));
     $conf_camere = unserialize(base64_decode($request->conf_camere));
     $extraservice = $request->extraservice;
     $rooms = unserialize(base64_decode($request->rooms));
     $mandatory_extraservices = unserialize(base64_decode($request->mandatory_extraservices));
     $extraservicii_cam = [];
     $array = [];
     $array_extraserv = [];
     //dd($mandatory_extraservices);
     if ($extraservice) {
         foreach ($extraservice as $serv) {
             array_push($extraservicii_cam, explode('|', $serv));
         }
     } else {
         $extraservicii_cam = [];
     }
     if ($mandatory_extraservices) {
         foreach ($mandatory_extraservices as $serv_oblig) {
             array_push($extraservicii_cam, explode('|', $serv_oblig));
         }
     }
     foreach (array_group_by($rooms, 'IndexNumber') as $key_cam => $camera) {
         $var = array_group_by($extraservicii_cam, 0);
         if (@$var[$key_cam]) {
             foreach ($var as $key => $extraserv) {
                 if ($key == $key_cam) {
                     $cam = [];
                     foreach ($extraserv as $serv_extra) {
                         array_push($cam, ['Service' => ['ID' => $serv_extra[2]], 'ServiceDates' => ['DateRange' => ['DateStart' => $datasejur['DateStart'], 'DateEnd' => $datasejur['DateEnd']]], 'GuestsCount' => ['GuestCount' => array_group_by($conf_camere, 'IndexNumber')[$key][0]['GuestsCount']['GuestCount']], 'Rate' => ['ID' => $serv_extra[3]]]);
                     }
                     array_push($array_extraserv, ['IndexNumber' => $key, 'GuestsCount' => ['GuestCount' => array_group_by($conf_camere, 'IndexNumber')[$key][0]['GuestsCount']['GuestCount']], 'Rooms' => ['Room' => ['ID' => $extraserv[0][1], 'ExtraServices' => ['ExtraService' => $cam]]]]);
                 }
             }
         } else {
             array_push($array_extraserv, ['IndexNumber' => $key_cam, 'GuestsCount' => ['GuestCount' => array_group_by($conf_camere, 'IndexNumber')[$key_cam][0]['GuestsCount']['GuestCount']], 'Rooms' => ['Room' => ['ID' => $camera[0]['CodCamera']]]]);
         }
     }
     $response = Soap::AccAvailV2('Transilvania', $datasejur, $accserviceid, $array_extraserv, $rateid);
     dump($response->AccUnit);
     return (string) view('frontend.ajax.raspuns-hoteluri-accavail')->with('response', $response->AccUnit)->with('datasejur', $datasejur);
 }
 public function ajaxVerificarePretPachetPas2(Request $request)
 {
     $packID = unserialize(base64_decode($request->PackID));
     $entryID = unserialize(base64_decode($request->EntryID));
     $camere = unserialize(base64_decode($request->Camere));
     $extraserv = $request->Extraservicii;
     $pachet = Pachete::where('PackID', $packID)->first();
     $intrare = PacheteIntrari::where('EntryID', $entryID)->first();
     $AidaRasp = [];
     dump($packID);
     dump($camere);
     foreach ($camere as $camera) {
         $Rooms = [];
         $ExtraServ = [];
         $ExtraServCam = [];
         $GuestCnt = [];
         array_push($Rooms, ['ID' => $camera['RoomID'], 'Rate' => ['0']]);
         array_push($GuestCnt, ['AgeQualifyingCode' => 'a', 'Count' => $camera['Adults']]);
         if ($camera['Childs'] != 0) {
             foreach ($camera['Ages'] as $ChildAge) {
                 array_push($GuestCnt, ['AgeQualifyingCode' => 'c', 'Count' => '1', 'Age' => $ChildAge]);
             }
         }
         if ($extraserv) {
             foreach ($extraserv as $ExtraServiciu) {
                 if (strpos($ExtraServiciu, $camera['RoomID']) !== false) {
                     $extraServID = explode('|', $ExtraServiciu);
                     $getExtra = Soap::PackExtraServices('Transilvania', $packID, $pachet->Type, $entryID, $extraServID[1]);
                     $serviceEntry = $getExtra->Package->PackEntry->ExtraServices->ExtraService[0]->ServiceEntries->ServiceEntry->ID;
                     array_push($ExtraServ, ['Service' => ['ID' => $extraServID[1]], 'ServiceEntries' => ['ServiceEntry' => ['ID' => $serviceEntry]], 'GuestsCount' => ['GuestCount' => $GuestCnt]]);
                     array_push($ExtraServCam, $extraServID[1]);
                 }
             }
         }
         // verific disponibilitatea in AIDA pentru fiecare camera in parte apoi arunc intr-un array raspunsul
         $packavail = Soap::PackAvail('Transilvania', $packID, $pachet->Type, $entryID, $Rooms, $ExtraServ);
         $array = (array) $packavail->Package->PackEntry->Configuration + ['ExtraServices' => $ExtraServCam];
         // dump($test);
         array_push($AidaRasp, $array);
     }
     // dump($AidaRasp);
     $datasejur = FormatRomanianDate($intrare->DateStart) . ' - ' . FormatRomanianDate($intrare->DateEnd) . ' (' . $intrare->Duration . ' nopti)';
     return (string) view('frontend.ajax.raspuns-pachete-packavail')->with('pachet', $pachet)->with('intrare', $intrare)->with('response', 'response')->with('datasejur', $datasejur)->with('camere', $AidaRasp);
 }
 public function GetAidaImaginiPachete($operator)
 {
     File::cleanDirectory("Pachete/{$operator}");
     $pachete = Pachete::all()->lists('PackID');
     // dd($AidaImgPachet);
     foreach ($pachete as $pachet) {
         $AidaImgPachet = Soap::AidaSoap($operator, 'PackDetails', ['AIDA_PackDetailsRQ' => ['Package' => ['ID' => $pachet]]])->Package->Picture;
         if (@$AidaImgPachet->URL != null) {
             $numefisier = parseurl($AidaImgPachet->URL, 'url');
             Image::make(file_get_contents($AidaImgPachet->URL))->save("Pachete/{$operator}/{$numefisier}");
             Pachete::where('PackID', $pachet)->update(['Picture' => $numefisier]);
         }
         // dd($AidaImgPachet);
     }
     echo 'Actualizare finalizata cu success. Puteti inchide fereastra.';
 }