Esempio n. 1
0
    /**
     *
     **/
    public function zones()
    {
        $availableGeoZones = Gulliver::getInsurancesFilters();
        if (true == empty($availableGeoZones['availableGeoZones'])) {
            return redirect('/seguros')->send();
        }
        //
        $destiny = $gulliverDestiny = Request::get('destino', "");
        if ('All' == $destiny || "" == $destiny) {
            $duration = 15;
            $gulliverDestiny = 'America';
        } else {
            if ('Argentina' == $destiny) {
                $duration = 7;
            } else {
                $duration = self::$config['duration'];
            }
        }
        $today = new \DateTime();
        $dateFrom = $today->add(new \DateInterval('P' . self::$config['delay'] . 'D'))->format('Y-m-d');
        $dateTo = $today->add(new \DateInterval('P' . ($duration - 1) . 'D'))->format('Y-m-d');
        //
        $response = Gulliver::getInsuranceAvailability(['origin' => 'BUE', 'destination' => mb_convert_case($gulliverDestiny, MB_CASE_TITLE), 'dateFrom' => $dateFrom, 'dateTo' => $dateTo, 'passengers' => '1', 'currency' => 'ARS']);
        //
        if (false == $response || true == empty($response['availablePlans'])) {
            return redirect('/seguros')->send();
        }
        //
        switch ($destiny) {
            case 'Europa':
                $zoneData = ['image' => 'seguros/europa.jpg', 'title' => 'Europa', 'text' => 'Desde el 2001 se encuentra en vigencia el "Tratado Schengen" que estipula la necesidad de contar con un seguro de viaje
								para poder ingresar a los 28 paises que lo componen (Alemania, Austria, Bélgica, Bulgaria, Chipre, Dinamarca, Eslovaquia,
								Eslovenia, España, Estonia, Finlandia, Francia, Grecia, Holanda, Hungría, Islandia, Italia, Letonia, Lituania, Luxemburgo,
								Malta, Noruega, Polonia, Portugal, República Checa, Rumania, Suecia y Suiza).'];
                break;
            case 'Argentina':
                $zoneData = ['image' => 'seguros/argentina.jpg', 'title' => 'Argentina', 'text' => 'Ante eventuales problemas de salud, pérdida de equipaje, pasaporte o documentos, un simple llamado telefónico pone en
								funcionamiento el más avanzado sistema de asistencias para solucionar todos los inconvenientes.
								Disfrutá de tu viaje con la tranquilidad de viajar seguro.'];
                break;
            case 'Asia':
                $zoneData = ['image' => 'seguros/asia.jpg', 'title' => 'Asia', 'text' => 'Viajá seguro con nuestra garantía de confianza. Ante eventuales problemas de salud, pérdida de equipaje, pasaporte o
								documentos, un simple llamado telefónico pone en funcionamiento el más avanzado sistema de asistencias para solucionar todos
								los inconvenientes.
								Disfrutá de tu viaje con la tranquilidad de viajar seguro.'];
                break;
            case 'Africa':
                $zoneData = ['image' => 'seguros/africa.jpg', 'title' => 'Africa', 'text' => 'Viajá seguro con nuestra garantía de confianza. Ante eventuales problemas de salud, pérdida de equipaje, pasaporte o
								documentos, un simple llamado telefónico pone en funcionamiento el más avanzado sistema de asistencias para solucionar todos
								los inconvenientes.
								Disfrutá de tu viaje con la tranquilidad de viajar seguro.'];
                break;
            case 'America':
                $zoneData = ['image' => 'seguros/america.jpg', 'title' => 'América', 'text' => 'Viajá seguro con nuestra garantía de confianza. Ante eventuales problemas de salud, pérdida de equipaje, pasaporte o
								documentos, un simple llamado telefónico pone en funcionamiento el más avanzado sistema de asistencias para solucionar todos
								los inconvenientes.
								Disfrutá de tu viaje con la tranquilidad de viajar seguro.'];
                break;
            default:
                $zoneData = ['image' => 'seguros/otros.png', 'title' => "Cualquier lugar del mundo", 'text' => 'Viajá seguro con nuestra garantía de confianza. Ante eventuales problemas de salud, pérdida de equipaje, pasaporte o
								documentos, un simple llamado telefónico pone en funcionamiento el más avanzado sistema de asistencias para solucionar todos
								los inconvenientes.
								Disfrutá de tu viaje con la tranquilidad de viajar seguro.'];
                break;
        }
        //
        $Plans = [];
        foreach ($response['availablePlans'] as $key_plan => $plan) {
            $Plans['insurancePlan'][] = array_merge($plan['insurancePlan'], ['duration' => $duration, 'currency' => $plan['insuranceTotalPrices']['requestedSellingPrice']['currency'], 'afterTax' => $plan['insuranceTotalPrices']['requestedSellingPrice']['afterTax']]);
            foreach ($plan['coverages'] as $key_coverage => $coverage) {
                $Plans['coverages'][$coverage['coverage']['code']][] = ['name' => $coverage['coverage']['name'], 'detail' => $coverage['detail']];
            }
        }
        //
        Controller::$route = 'insurance-results';
        return view('Insurance/landing-zones')->with(['Plans' => $Plans, 'zoneData' => $zoneData]);
    }