diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 30716da..32758ab 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,8 +2,6 @@ - - @@ -27,35 +25,32 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + @@ -103,20 +98,8 @@ - - - - - - - - - - - - - - + + - @@ -350,7 +333,7 @@ - + @@ -358,11 +341,11 @@ + - @@ -838,6 +821,11 @@ + + + + + @@ -867,34 +855,28 @@ - - - - - + + - - + - - - + diff --git a/app/Http/Controllers/API/BookingController.php b/app/Http/Controllers/API/BookingController.php index cd22cfb..cf667b2 100755 --- a/app/Http/Controllers/API/BookingController.php +++ b/app/Http/Controllers/API/BookingController.php @@ -90,6 +90,7 @@ class BookingController extends Controller 'participant_firstname' => isset($travel_booking->participants[0]['first_name']) ? $travel_booking->participants[0]['first_name'] : null, 'participant_birthdate' => isset($travel_booking->participants[0]['birthday']) ? date( "Y-m-d", strtotime($travel_booking->participants[0]['birthday'])) : null, 'participant_salutation_id' => isset($travel_booking->participants[0]['gender']) ? $travel_booking->participants[0]['gender'] : null, + 'nationality_id' => isset($travel_booking->participants[0]['nationality']) ? $travel_booking->participants[0]['nationality'] : null, 'travel_company_id' => isset($travel_booking->service_items[0]['travel_company_id']) ? $travel_booking->service_items[0]['travel_company_id'] : null, 'price' => $travel_booking->price, 'price_total' => $travel_booking->price_total, @@ -113,6 +114,7 @@ class BookingController extends Controller 'participant_birthdate' => date( "Y-m-d", strtotime($participant['birthday'])), 'participant_salutation_id' => $participant['gender'], 'participant_child' => $participant['child'], + 'nationality_id' =>$participant['nationality'], ]); } } diff --git a/app/Http/Controllers/API/CMSContentController.php b/app/Http/Controllers/API/CMSContentController.php index d6d8bce..3124bae 100755 --- a/app/Http/Controllers/API/CMSContentController.php +++ b/app/Http/Controllers/API/CMSContentController.php @@ -25,8 +25,8 @@ class CMSContentController extends Controller 'destco' => $destco, 'tdat' => $tdat, ]; - $passolution = new Passolution(); - $passolution->fill($data); + $passolution = new Passolution($data); + //$passolution->fill($data); $html = $passolution->read(); return response()->json(['response' => $html]); @@ -71,12 +71,15 @@ class CMSContentController extends Controller 'tdat' => $tdat, ]; - $passolution = new Passolution(); - $passolution->fill($data); - $html = $passolution->read(); - - return response()->json(['success' => true, "response" => $html, "data" => $data], 200, $headers); - + $passolution = new Passolution($data); + //$passolution->fill($data); + $html = $passolution->read(true); + return response()->json(['success' => true, + "response" => $html, + "pdf"=> $passolution->getPdfPath(['filename', 'url']), + "additionalContent" => $passolution->additionalContent, + "data" => $data], + 200, $headers); } diff --git a/app/Http/Controllers/BookingController.php b/app/Http/Controllers/BookingController.php index 2b6b87c..b12f957 100755 --- a/app/Http/Controllers/BookingController.php +++ b/app/Http/Controllers/BookingController.php @@ -40,6 +40,7 @@ class BookingController extends Controller }else{ $booking = Booking::findOrFail($id); + $booking->getPassolutionPDF(true); $id = $booking->id; } $data = [ diff --git a/app/Http/Controllers/CMS/CMSFeWoController.php b/app/Http/Controllers/CMS/CMSFeWoController.php index e365db6..e688a0d 100755 --- a/app/Http/Controllers/CMS/CMSFeWoController.php +++ b/app/Http/Controllers/CMS/CMSFeWoController.php @@ -140,7 +140,11 @@ class CMSFeWoController extends Controller if($data['action'] === 'previewPDF'){ $pdf_content = BookingFewo::getFeWoCMSContentForPDF($this->identifier_content, $identifier_fewo); $pdf_file = new CreatePDF('pdf.fewo_instructions'); - return $pdf_file->create($fewo, $pdf_content); + return $pdf_file->create([ + 'contents' => $pdf_content, + 'fewo' => $fewo + ] + ); } if($data['action'] === 'addItem' && isset($data['content_pos_id'])) { diff --git a/app/Http/Controllers/CustomerFileController.php b/app/Http/Controllers/CustomerFileController.php index 28bf955..fc5172b 100755 --- a/app/Http/Controllers/CustomerFileController.php +++ b/app/Http/Controllers/CustomerFileController.php @@ -101,8 +101,10 @@ class CustomerFileController extends Controller $pdf_name = \App\Services\BookingFewo::getFeWoInstructionPDFName($fewo); $pdf_content = BookingFewo::getFeWoCMSContentForPDF($identifier_content, $identifier_fewo); $pdf_file = new CreatePDF('pdf.fewo_instructions'); - return $pdf_file->create($fewo, $pdf_content, $pdf_name, $cd); - + return $pdf_file->create([ + 'contents' => $pdf_content, + 'fewo' => $fewo + ], $pdf_name, $cd); break; } diff --git a/app/Models/Booking.php b/app/Models/Booking.php index d6d26d4..6d48db1 100644 --- a/app/Models/Booking.php +++ b/app/Models/Booking.php @@ -6,6 +6,7 @@ namespace App\Models; +use App\Services\Passolution; use App\Services\Util; use Carbon\Carbon; use Illuminate\Database\Eloquent\Collection; @@ -245,6 +246,7 @@ class Booking extends Model 'participant_firstname', 'participant_birthdate', 'participant_salutation_id', + 'nationality_id', 'ev_number', 'merlin_knr', 'merlin_order_number', @@ -335,6 +337,7 @@ class Booking extends Model 2 => 'success', ]; + protected $passolutionPDFs = []; /*public function branch() { @@ -514,6 +517,11 @@ class Booking extends Model return $this->hasMany(BookingProviderService::class, 'booking_id')->where('status', '=', 0); } + public function travel_nationality() + { + return $this->belongsTo(TravelNationality::class, 'nationality_id'); + } + public function hasBookingServicesUnchecked(){ $country_services = true; $provider_services = true; @@ -537,6 +545,37 @@ class Booking extends Model return false; } + public function getPassolutionPDF($create = false){ + + $nats = []; + + if(count($this->passolutionPDFs)){ + return $this->passolutionPDFs; + } + + $destco = $this->travel_country->destco; + if($this->travel_nationality){ + $nats[$this->travel_nationality->nat] = $this->travel_nationality->nat; + } + if($this->participants->count()){ + foreach ($this->participants as $participant){ + if($participant->travel_nationality){ + $nats[$participant->travel_nationality->nat] = $participant->travel_nationality->nat; + } + } + } + foreach ($nats as $nat){ + $data = [ + 'nat' => $nat, + 'destco' => $destco, + ]; + + $passolution = new Passolution($data); + $this->passolutionPDFs[] = $passolution->findOrCreatePDF($create); + } + return $this->passolutionPDFs; + } + public function calculate_price_total() { $travel_draft_item = false; diff --git a/app/Models/Participant.php b/app/Models/Participant.php index d8690c7..a514622 100644 --- a/app/Models/Participant.php +++ b/app/Models/Participant.php @@ -57,7 +57,8 @@ class Participant extends Model 'participant_firstname', 'participant_birthdate', 'participant_salutation_id', - 'participant_child' + 'participant_child', + 'nationality_id' ]; public function booking() @@ -69,4 +70,9 @@ class Participant extends Model { return $this->belongsTo(Salutation::class, 'participant_salutation_id'); } + + public function travel_nationality() + { + return $this->belongsTo(TravelNationality::class, 'nationality_id'); + } } diff --git a/app/Services/CreatePDF.php b/app/Services/CreatePDF.php index 49637c4..baf5be7 100644 --- a/app/Services/CreatePDF.php +++ b/app/Services/CreatePDF.php @@ -3,6 +3,7 @@ namespace App\Services; use App\Libraries\CouponPDF; use App\Models\Coupon; +use Storage; class CreatePDF{ @@ -15,20 +16,16 @@ class CreatePDF{ $this->view = $view; } - public function create($fewo, $contents, $name='test.pdf', $output='stream'){ + public function create($data, $name='test.pdf', $output='stream', $path = false){ header('Content-type: text/html; charset=UTF-8') ;//chrome //dd($data); - $data = [ - 'contents' => $contents, - 'fewo' => $fewo, - ]; + $pdf = app('dompdf.wrapper'); $pdf->getDomPDF()->set_option("enable_php", true); $pdf->loadView($this->view, $data); $pdf->setPaper('A4', 'portrait'); - if($output === 'stream'){ return $pdf->stream($name); } @@ -37,22 +34,10 @@ class CreatePDF{ } if($output === 'save'){ - /* $dir = $invoice->getInvoiceStorageDir(); - if(!Storage::disk('invoices')->exists( $dir )){ - Storage::disk('invoices')->makeDirectory($dir); //creates directory - } - $path = Storage::disk('invoices')->getAdapter()->getPathPrefix(); - - if($preview){ - $filename = "preview.pdf"; - }else{ - $filename = $invoice->invoice_number.".pdf"; - } - - $pdf->save($path.$dir.$filename); - - return $path.$dir.$filename; */ - //return $pdf->download($name); + if($path){ + $pdf->save($path.$name); + return $path.$name; + } } } diff --git a/app/Services/Passolution.php b/app/Services/Passolution.php index a79bc6a..88cf8a6 100644 --- a/app/Services/Passolution.php +++ b/app/Services/Passolution.php @@ -2,6 +2,7 @@ namespace App\Services; use GuzzleHttp\Client; +use Storage; class Passolution { @@ -21,8 +22,16 @@ class Passolution private $enr; private $agency; + private $htmlText = ""; + private $pdfPath = []; - public function __construct() + private $pdf_dir = ""; + private $pdf_path = ""; + private $pdf_name = ""; + + public $additionalContent = ""; + + public function __construct($data = []) { //User-ID of the travel agency to which the data is forwarded $this->aid = "sterntours@passolution.de"; @@ -44,7 +53,10 @@ class Passolution $this->enr = 123123; //Agency number of the travel agency to which the data is forwarded $this->agency = 1000; - $this->fill(); + + $this->pdf_dir = 'pdf/passolution/'; + + $this->fill($data); } @@ -57,11 +69,11 @@ class Passolution //Country-Code of the destination $this->destco = isset($data['destco']) ? $data['destco'] : 'de'; //Travel dates in format DD-MM-YYYY - $this->tdat = isset($data['tdat']) ? $data['tdat'] : '20-12-2020'; + $this->tdat = isset($data['tdat']) ? $data['tdat'] : date("d-m-Y"); } - public function read() + public function read($create = false, $return = true) { $url = "https://api01.passolution.de/condition/search.php"; @@ -94,47 +106,122 @@ class Passolution if(isset($body->status) && $body->status !== 200){ return isset($body->message) ? $body->message : ''; } - $text = ""; + $this->htmlText = ""; if(is_array($body->response)){ foreach ($body->response as $response){ - $text .= "

".$response->additionalContent."

"; + $this->htmlText .= "

".$response->additionalContent."

"; + $this->additionalContent = trim(substr($response->additionalContent, (strpos($response->additionalContent, "/")+1))); - $text .= "

".$response->entry->response->headline."

"; - $text .= "

".$response->entry->response->content."

"; + $this->htmlText .= "

".$response->entry->response->headline."

"; + $this->htmlText .= "

".$response->entry->response->content."

"; - $text .= "

".$response->visa->response->headline."

"; - $text .= "

".$response->visa->response->content."

"; + $this->htmlText .= "

".$response->visa->response->headline."

"; + $this->htmlText .= "

".$response->visa->response->content."

"; - $text .= "

".$response->transitvisa->response->headline."

"; - $text .= "

".$response->transitvisa->response->content."

"; + $this->htmlText .= "

".$response->transitvisa->response->headline."

"; + $this->htmlText .= "

".$response->transitvisa->response->content."

"; - $text .= "

".$response->inoculation->response->headline."

"; - $text .= "

".$response->inoculation->response->content."

"; + $this->htmlText .= "

".$response->inoculation->response->headline."

"; + $this->htmlText .= "

".$response->inoculation->response->content."

"; } }else{ - $text .= "

".$body->response->additionalContent."

"; + $this->htmlText .= "

".$body->response->additionalContent."

"; + $this->additionalContent = trim(substr($body->response->additionalContent, (strpos($body->response->additionalContent, "/") +1))); - $text .= "

".$body->response->entry->headline."

"; - $text .= "

".$body->response->entry->content."

"; + $this->htmlText .= "

".$body->response->entry->headline."

"; + $this->htmlText .= "

".$body->response->entry->content."

"; - $text .= "

".$body->response->visa->headline."

"; - $text .= "

".$body->response->visa->content."

"; + $this->htmlText .= "

".$body->response->visa->headline."

"; + $this->htmlText .= "

".$body->response->visa->content."

"; - $text .= "

".$body->response->transitvisa->headline."

"; - $text .= "

".$body->response->transitvisa->content."

"; + $this->htmlText .= "

".$body->response->transitvisa->headline."

"; + $this->htmlText .= "

".$body->response->transitvisa->content."

"; - $text .= "

".$body->response->inoculation->headline."

"; - $text .= "

".$body->response->inoculation->content."

"; + $this->htmlText .= "

".$body->response->inoculation->headline."

"; + $this->htmlText .= "

".$body->response->inoculation->content."

"; } - - - - return nl2br($text); + if($create){ + $this->createPDF(); + } + return nl2br($this->htmlText); } } + + public function createPDF(){ + + $this->createPDFName(); + $this->storagePath(); + + $this->onlyCreatePDF(); + + $this->pdfPath = [ + 'filename' => $this->pdf_name, + 'disk' => Storage::disk('public')->path( $this->pdf_dir.$this->pdf_name ), + 'url' => Storage::disk('public')->url($this->pdf_dir.$this->pdf_name) + ]; + return $this->pdfPath; + } + + public function onlyCreatePDF(){ + $pdf_file = new CreatePDF('pdf.passolution'); + $pdf_file->create(['contents' => $this->htmlText], $this->pdf_name, 'save', $this->pdf_path.$this->pdf_dir); + } + + public function findOrCreatePDF($create = false){ + + $this->createPDFName(); + $this->storagePath(); + $bool = Storage::disk('public')->exists( $this->pdf_dir.$this->pdf_name ); + if(!$bool && $create){ + $this->read(); + $this->onlyCreatePDF(); + $bool = true; + } + + if($bool){ + $this->pdfPath = [ + 'filename' => $this->pdf_name, + 'disk' => Storage::disk('public')->path( $this->pdf_dir.$this->pdf_name ), + 'url' => Storage::disk('public')->url($this->pdf_dir.$this->pdf_name), + 'size' => Storage::disk('public')->size($this->pdf_dir.$this->pdf_name), + 'date' => Storage::disk('public')->lastModified($this->pdf_dir.$this->pdf_name), + ]; + } + + return $this->pdfPath; + } + + public function getPdfPath($key = null){ + if($key !== null && is_array($key)){ + $ret = []; + foreach ($key as $k){ + if(isset($this->pdfPath[$k])){ + $ret[$k] = $this->pdfPath[$k]; + } + } + return $ret; + } + if($key !== null && isset($this->pdfPath[$key])){ + return $this->pdfPath[$key]; + } + + return $this->pdfPath; + } + + public function createPDFName(){ + $this->pdf_name = "Einreisebestimmungen_".$this->lang."_".$this->nat."-".$this->destco.".pdf"; + } + + public function storagePath(){ + + if(!Storage::disk('public')->exists( $this->pdf_dir )){ + Storage::disk('public')->makeDirectory($this->pdf_dir); //creates directory + } + $this->pdf_path = Storage::disk('public')->getAdapter()->getPathPrefix(); + } } /* diff --git a/app/Services/Util.php b/app/Services/Util.php index fa05dee..4ba4fb9 100644 --- a/app/Services/Util.php +++ b/app/Services/Util.php @@ -289,5 +289,18 @@ class Util return $content; } + public static function _formatBytes($size, $precision = 2) + { + if ($size > 0) { + $size = (int) $size; + $base = log($size) / log(1024); + $suffixes = array(' bytes', ' KB', ' MB', ' GB', ' TB'); + + return round(pow(1024, $base - floor($base)), $precision) . $suffixes[floor($base)]; + } else { + return $size; + } + } + } \ No newline at end of file diff --git a/database/migrations/2018_10_29_202123_create_booking_table.php b/database/migrations/2018_10_29_202123_create_booking_table.php index f2e750f..9c7bb8a 100644 --- a/database/migrations/2018_10_29_202123_create_booking_table.php +++ b/database/migrations/2018_10_29_202123_create_booking_table.php @@ -40,6 +40,7 @@ class CreateBookingTable extends Migration $table->string('participant_firstname', 255)->nullable(); $table->date('participant_birthdate')->nullable(); $table->bigInteger('participant_salutation_id')->nullable(); + $table->unsignedInteger('nationality_id')->nullable(); $table->string('ev_number', 255)->nullable(); $table->string('merlin_knr', 255)->nullable(); $table->string('merlin_order_number', 255)->nullable(); diff --git a/database/migrations/2020_01_29_152709_create_participant_table.php b/database/migrations/2020_01_29_152709_create_participant_table.php index 4f44e21..62177a3 100644 --- a/database/migrations/2020_01_29_152709_create_participant_table.php +++ b/database/migrations/2020_01_29_152709_create_participant_table.php @@ -25,6 +25,8 @@ class CreateParticipantTable extends Migration $table->date('participant_birthdate')->nullable(); $table->bigInteger('participant_salutation_id')->nullable(); $table->tinyInteger('participant_child')->nullable()->default(0); + $table->unsignedInteger('nationality_id')->nullable(); + $table->index('booking_id', 'participant_booking_id_idx'); $table->index('participant_salutation_id', 'participant_participant_salutation_id_idx'); diff --git a/resources/views/booking/_detail_files.blade.php b/resources/views/booking/_detail_files.blade.php index 3014cbf..6774c85 100755 --- a/resources/views/booking/_detail_files.blade.php +++ b/resources/views/booking/_detail_files.blade.php @@ -30,6 +30,7 @@ + Reise | Gesamtpreis: {{ \App\Services\Util::_number_format($booking_application->total)}} € {{\App\Services\Util::_format_date($booking_application->updated_at, 'date')}} @@ -53,6 +54,7 @@ + Reise | Gesamtpreis: {{ \App\Services\Util::_number_format($booking_confirmation->total)}} € | Anzahlung: {{ \App\Services\Util::_number_format($booking_confirmation->deposit)}} € | Restzahlung: {{ \App\Services\Util::_number_format($booking_confirmation->final_payment)}} € @@ -78,7 +80,7 @@ - Stornobetrag: {{ \App\Services\Util::_number_format($booking_storno->total)}} € + Storno | Betrag: {{ \App\Services\Util::_number_format($booking_storno->total)}} € {{\App\Services\Util::_format_date($booking_storno->updated_at, 'date')}} @@ -100,7 +102,7 @@ Gutschein {{$coupon->number}} - + Gutschein | Wert: {{ \App\Services\Util::_number_format($coupon->value)}} € | bis: {{\App\Services\Util::_format_date($coupon->valid_date, 'date')}} | @if($coupon->is_redeemed) {{\App\Services\Util::_format_date($coupon->redeem_date, 'date')}} @else @endif @@ -234,6 +236,30 @@ @endif @endforeach + @foreach($booking->getPassolutionPDF() as $PassolutionPDF) + @if($PassolutionPDF) + + {{$booking_files_count++}} + + + {{$PassolutionPDF['filename']}} + + + + Passolution | + {{ \App\Services\Util::_formatBytes($PassolutionPDF['size']) }} + + {{\App\Services\Util::_format_date($PassolutionPDF['date'], 'date')}} + + + + + + + @endif + @endforeach + @if($booking->booking_files) @foreach($booking->booking_files as $booking_file) @@ -244,6 +270,7 @@ + hinzugefügt | {{ $booking_file->mine }} | {{ $booking_file->formatBytes() }} {{\App\Services\Util::_format_date($booking_file->created_at, 'date')}} diff --git a/resources/views/customer/mail/modal-new-booking-files.blade.php b/resources/views/customer/mail/modal-new-booking-files.blade.php index 991b1b9..fbdd863 100644 --- a/resources/views/customer/mail/modal-new-booking-files.blade.php +++ b/resources/views/customer/mail/modal-new-booking-files.blade.php @@ -200,6 +200,31 @@ @endforeach @endif @endforeach + + @foreach($booking->getPassolutionPDF() as $PassolutionPDF) + @if($PassolutionPDF) + + {{$booking_files_count++}} + + + {{$PassolutionPDF['filename']}} + + + + Passolution | + {{ \App\Services\Util::_formatBytes($PassolutionPDF['size']) }} + + {{\App\Services\Util::_format_date($PassolutionPDF['date'], 'date')}} + + + + + @endif + @endforeach + @if($booking->booking_files) @foreach($booking->booking_files as $booking_file) diff --git a/resources/views/pdf/passolution.blade.php b/resources/views/pdf/passolution.blade.php new file mode 100644 index 0000000..6a4492b --- /dev/null +++ b/resources/views/pdf/passolution.blade.php @@ -0,0 +1,39 @@ +@extends('pdf.layout-small') + +@section('content') + + +

Einreise-, Visabestimmungen und gesundheitspolizeilichen Vorschriften

+
+ @if($contents) +
+
+ {!! nl2br($contents) !!} +
+
+ @endif +@endsection \ No newline at end of file diff --git a/storage/app/customer/attachment/2020/10/5f8830e1400a73.03172510_einreisebestimmungendede-eg.pdf b/storage/app/customer/attachment/2020/10/5f8830e1400a73.03172510_einreisebestimmungendede-eg.pdf new file mode 100644 index 0000000..086067c Binary files /dev/null and b/storage/app/customer/attachment/2020/10/5f8830e1400a73.03172510_einreisebestimmungendede-eg.pdf differ diff --git a/storage/app/customer/attachment/2020/10/5f8830fb17bee2.88150829_einreisebestimmungendede-eg.pdf b/storage/app/customer/attachment/2020/10/5f8830fb17bee2.88150829_einreisebestimmungendede-eg.pdf new file mode 100644 index 0000000..086067c Binary files /dev/null and b/storage/app/customer/attachment/2020/10/5f8830fb17bee2.88150829_einreisebestimmungendede-eg.pdf differ diff --git a/storage/app/customer/attachment/2020/10/5f8830fb8b3c95.16892591_einreisebestimmungendeat-eg.pdf b/storage/app/customer/attachment/2020/10/5f8830fb8b3c95.16892591_einreisebestimmungendeat-eg.pdf new file mode 100644 index 0000000..f9b2d3f Binary files /dev/null and b/storage/app/customer/attachment/2020/10/5f8830fb8b3c95.16892591_einreisebestimmungendeat-eg.pdf differ diff --git a/storage/app/public/pdf/passolution/Einreisebestimmungen_de_AT-EG.pdf b/storage/app/public/pdf/passolution/Einreisebestimmungen_de_AT-EG.pdf new file mode 100644 index 0000000..f9b2d3f Binary files /dev/null and b/storage/app/public/pdf/passolution/Einreisebestimmungen_de_AT-EG.pdf differ diff --git a/storage/app/public/pdf/passolution/Einreisebestimmungen_de_AT_EG.pdf b/storage/app/public/pdf/passolution/Einreisebestimmungen_de_AT_EG.pdf new file mode 100644 index 0000000..9f35fc3 Binary files /dev/null and b/storage/app/public/pdf/passolution/Einreisebestimmungen_de_AT_EG.pdf differ diff --git a/storage/app/public/pdf/passolution/Einreisebestimmungen_de_CH-EG.pdf b/storage/app/public/pdf/passolution/Einreisebestimmungen_de_CH-EG.pdf new file mode 100644 index 0000000..4af0de8 Binary files /dev/null and b/storage/app/public/pdf/passolution/Einreisebestimmungen_de_CH-EG.pdf differ diff --git a/storage/app/public/pdf/passolution/Einreisebestimmungen_de_CH_EG.pdf b/storage/app/public/pdf/passolution/Einreisebestimmungen_de_CH_EG.pdf new file mode 100644 index 0000000..f056aeb Binary files /dev/null and b/storage/app/public/pdf/passolution/Einreisebestimmungen_de_CH_EG.pdf differ diff --git a/storage/app/public/pdf/passolution/Einreisebestimmungen_de_DE-EG,IL.pdf b/storage/app/public/pdf/passolution/Einreisebestimmungen_de_DE-EG,IL.pdf new file mode 100644 index 0000000..91c2b32 Binary files /dev/null and b/storage/app/public/pdf/passolution/Einreisebestimmungen_de_DE-EG,IL.pdf differ diff --git a/storage/app/public/pdf/passolution/Einreisebestimmungen_de_DE-EG.pdf b/storage/app/public/pdf/passolution/Einreisebestimmungen_de_DE-EG.pdf new file mode 100644 index 0000000..086067c Binary files /dev/null and b/storage/app/public/pdf/passolution/Einreisebestimmungen_de_DE-EG.pdf differ diff --git a/storage/app/public/pdf/passolution/Einreisebestimmungen_de_DE_0.pdf b/storage/app/public/pdf/passolution/Einreisebestimmungen_de_DE_0.pdf new file mode 100644 index 0000000..a9e1166 Binary files /dev/null and b/storage/app/public/pdf/passolution/Einreisebestimmungen_de_DE_0.pdf differ diff --git a/storage/app/public/pdf/passolution/Einreisebestimmungen_de_DE_EG,IL.pdf b/storage/app/public/pdf/passolution/Einreisebestimmungen_de_DE_EG,IL.pdf new file mode 100644 index 0000000..c0fc853 Binary files /dev/null and b/storage/app/public/pdf/passolution/Einreisebestimmungen_de_DE_EG,IL.pdf differ diff --git a/storage/app/public/pdf/passolution/Einreisebestimmungen_de_DE_EG.pdf b/storage/app/public/pdf/passolution/Einreisebestimmungen_de_DE_EG.pdf new file mode 100644 index 0000000..cd4e0cf Binary files /dev/null and b/storage/app/public/pdf/passolution/Einreisebestimmungen_de_DE_EG.pdf differ diff --git a/storage/app/public/pdf/passolution/Einreisebestimmungen_de_IT-EG.pdf b/storage/app/public/pdf/passolution/Einreisebestimmungen_de_IT-EG.pdf new file mode 100644 index 0000000..69bbc36 Binary files /dev/null and b/storage/app/public/pdf/passolution/Einreisebestimmungen_de_IT-EG.pdf differ diff --git a/storage/app/public/pdf/passolution/Einreisebestimmungen_de_IT_EG.pdf b/storage/app/public/pdf/passolution/Einreisebestimmungen_de_IT_EG.pdf new file mode 100644 index 0000000..ea34545 Binary files /dev/null and b/storage/app/public/pdf/passolution/Einreisebestimmungen_de_IT_EG.pdf differ diff --git a/storage/app/public/pdf/passolutioneinreisebestimmungendede0pdf b/storage/app/public/pdf/passolutioneinreisebestimmungendede0pdf new file mode 100644 index 0000000..8731296 Binary files /dev/null and b/storage/app/public/pdf/passolutioneinreisebestimmungendede0pdf differ