|
|
|
|
@ -4,7 +4,7 @@
|
|
|
|
|
<head>
|
|
|
|
|
<meta charset="utf-8">
|
|
|
|
|
<title>
|
|
|
|
|
Información de pasaporte para todos los miembros del grupo
|
|
|
|
|
Informations de passeport pour tous les membres du groupe
|
|
|
|
|
</title>
|
|
|
|
|
<meta content="width=device-width,minimum-scale=1,initial-scale=1" name="viewport">
|
|
|
|
|
<link href="https://data.chinahighlights.com/css/min.php?f=/css/customer_center_data/bootstrap.min.css&v=202508071547"
|
|
|
|
|
@ -398,6 +398,21 @@
|
|
|
|
|
padding: 10px;
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tmpick:checked+label {
|
|
|
|
|
background: #ad1818;
|
|
|
|
|
color: #fff;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
select.gender_pick {
|
|
|
|
|
border: 1px solid #d1d1d1;
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
height: 50px;
|
|
|
|
|
font-size: 19px;
|
|
|
|
|
box-shadow: inset 0 1px 3px rgb(0 0 0 / 10%);
|
|
|
|
|
padding: 0 15px;
|
|
|
|
|
width: auto;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
|
|
|
|
|
<script
|
|
|
|
|
@ -417,14 +432,15 @@
|
|
|
|
|
|
|
|
|
|
<div class="wholeWrap2">
|
|
|
|
|
|
|
|
|
|
<p class="top_info">Hola <?php echo $username; ?>,</p>
|
|
|
|
|
<p class="top_info">Bonjour <?php echo $username; ?>,</p>
|
|
|
|
|
|
|
|
|
|
<p class="top_info"> Muchas gracias por su reserva con nosotros. China Highlights, Asia Highlights y Global
|
|
|
|
|
<p class="top_info"> Merci beaucoup pour votre réservation avec nous. China Highlights, Asia Highlights et Global
|
|
|
|
|
Highlights
|
|
|
|
|
colaboran para ofrecerle una experiencia de viaje exclusiva, emocionante y sin preocupaciones en varios destinos.
|
|
|
|
|
collaborent pour vous offrir une expérience de voyage exclusive, passionnante et sans soucis dans plusieurs
|
|
|
|
|
destinations.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p class="top_info"> Por favor complete la siguiente información y envíela.</p>
|
|
|
|
|
<p class="top_info"> Veuillez remplir les informations suivantes et les soumettre.</p>
|
|
|
|
|
|
|
|
|
|
<div class="tm_form_content">
|
|
|
|
|
|
|
|
|
|
@ -432,25 +448,27 @@
|
|
|
|
|
<div id="inquiryBox">
|
|
|
|
|
|
|
|
|
|
<h1>
|
|
|
|
|
Información de pasaporte para todos los miembros del grupo
|
|
|
|
|
Informations de passeport pour tous les membres du groupe
|
|
|
|
|
</h1>
|
|
|
|
|
<p>Por favor asegúrese de que los datos que proporcione coincidan con los que figuran en su pasaporte.
|
|
|
|
|
Usamos esta información para reservar todos sus hoteles, transportes y actividades. Si la información
|
|
|
|
|
que proporcione es incorrecta, es posible que no pueda embarcar en su vuelo o tren, y tendrá que
|
|
|
|
|
asumir los costes de emitir nuevos billetes.</p>
|
|
|
|
|
<p>Veuillez vous assurer que les données que vous fournissez correspondent à celles figurant dans votre
|
|
|
|
|
passeport.
|
|
|
|
|
Nous utilisons ces informations pour réserver tous vos hôtels, transports et activités. Si les informations
|
|
|
|
|
que vous fournissez sont incorrectes, vous risquez de ne pas pouvoir embarquer dans votre vol ou train, et
|
|
|
|
|
vous devrez
|
|
|
|
|
assumer les frais d'émission de nouveaux billets.</p>
|
|
|
|
|
|
|
|
|
|
<div class="traveler_info">
|
|
|
|
|
<h3 data-header>Persona de contacto principal</h3>
|
|
|
|
|
<h3 data-header>Personne de contact principale</h3>
|
|
|
|
|
|
|
|
|
|
<div class="selectionBlock">
|
|
|
|
|
<select name="gender[]" class="gender_pick">
|
|
|
|
|
<option value="100001">Señor</option>
|
|
|
|
|
<option value="100003">Señora</option>
|
|
|
|
|
<option value="100001">Monsieur</option>
|
|
|
|
|
<option value="100003">Madame</option>
|
|
|
|
|
</select>
|
|
|
|
|
<div class="inputTerm">
|
|
|
|
|
<input type="text" name="sur_name[]" required="">
|
|
|
|
|
<label>
|
|
|
|
|
Apellido
|
|
|
|
|
Nom de famille
|
|
|
|
|
</label>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
@ -459,22 +477,22 @@
|
|
|
|
|
<div class="inputTerm">
|
|
|
|
|
<input type="text" name="given_name[]" required="">
|
|
|
|
|
<label>
|
|
|
|
|
Nombre
|
|
|
|
|
Prénom
|
|
|
|
|
</label>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="name_error_msg" class="hidden">Por favor, introduzca su nombre.</div>
|
|
|
|
|
<div id="name_error_msg" class="hidden">Veuillez entrer votre nom.</div>
|
|
|
|
|
|
|
|
|
|
<div class="inputTerm">
|
|
|
|
|
<input type="text" name="passport[]" required="" class="number" style="width: 100%;">
|
|
|
|
|
<label>
|
|
|
|
|
Nº de pasaporte
|
|
|
|
|
Numéro de passeport
|
|
|
|
|
</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="passport_error_msg" class="hidden">Por favor, introduzca su número de pasaporte.</div>
|
|
|
|
|
<div id="passport_error_msg" class="hidden">Veuillez entrer votre numéro de passeport.</div>
|
|
|
|
|
|
|
|
|
|
<select class="country_code" name="nationality[]">
|
|
|
|
|
<option value="" disabled="" selected="">Seleccione su nacionalidad</option>
|
|
|
|
|
<option value="" disabled="" selected="">Sélectionnez votre nationalité</option>
|
|
|
|
|
<option value="18">Australia</option>
|
|
|
|
|
<option value="5">Canada</option>
|
|
|
|
|
<option value="1">China</option>
|
|
|
|
|
@ -716,7 +734,7 @@
|
|
|
|
|
</select>
|
|
|
|
|
<div class="inputTerm" id='phoneNumberDiv'>
|
|
|
|
|
<select class="code" name="country_code" id="country_code">
|
|
|
|
|
<option value="" disabled selected>Por favor seleccione el prefijo de su país</option>
|
|
|
|
|
<option value="" disabled selected>Veuillez sélectionner l'indicatif téléphonique de votre pays</option>
|
|
|
|
|
<option style="font-weight: 600;" value="United States +1">United States +1</option>
|
|
|
|
|
<option style="font-weight: 600;" value="United Kingdom +44">United Kingdom +44</option>
|
|
|
|
|
<option style="font-weight: 600;" value="Australia +61">Australia +61</option>
|
|
|
|
|
@ -971,61 +989,65 @@
|
|
|
|
|
<option value="Zimbabwe +263">Zimbabwe +263</option>
|
|
|
|
|
<option value="Åland Islands +385">Åland Islands +35818</option>
|
|
|
|
|
</select>
|
|
|
|
|
<input type="text" name="mobile" required="" class="number" placeholder="Número de teléfono">
|
|
|
|
|
<input type="text" name="mobile" required="" class="number" placeholder="Numéro de téléphone">
|
|
|
|
|
</div>
|
|
|
|
|
<div class="selectionBlock">
|
|
|
|
|
<p> Fecha de nacimiento</p>
|
|
|
|
|
<p> Date de naissance</p>
|
|
|
|
|
|
|
|
|
|
<input type="date" class="arrivalDate datepicker" name="birthday[]" value="" placeholder="mm/dd/yyyy"
|
|
|
|
|
autocomplete="off" min="1753-01-01" max="9999-12-31">
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
<div class="selectionBlock">
|
|
|
|
|
<p> Fecha de caducidad </p>
|
|
|
|
|
<p> Date d'expiration </p>
|
|
|
|
|
|
|
|
|
|
<input type="date" class="arrivalDate datepicker" name="passport_expiration_date[]" value=""
|
|
|
|
|
placeholder="mm/dd/yyyy" autocomplete="off" min="1753-01-01" max="9999-12-31">
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
<div id="birth_error_msg" class="hidden">Por favor seleccione su fecha de nacimiento.</div>
|
|
|
|
|
<div id="expiration_error_msg" class="hidden">Por favor seleccione la fecha de caducidad de su pasaporte.
|
|
|
|
|
<div id="birth_error_msg" class="hidden">Veuillez sélectionner votre date de naissance.</div>
|
|
|
|
|
<div id="expiration_error_msg" class="hidden">Veuillez sélectionner la date d'expiration de votre passeport.
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<select class="country_code" name="occupation[]">
|
|
|
|
|
<option>Ocupación (opcional)</option>
|
|
|
|
|
<option value="Professional">Professional</option>
|
|
|
|
|
<option value="Professor or similar">Profesor o similar</option>
|
|
|
|
|
<option value="Retired person">Jubilado</option>
|
|
|
|
|
<option value="Business owner">Propietario de negocio</option>
|
|
|
|
|
<option value="Government official">Funcionario gubernamental</option>
|
|
|
|
|
<option value="Housewife">Ama de casa</option>
|
|
|
|
|
<option value="Self-emloyed person">Trabajador por cuenta propia</option>
|
|
|
|
|
<option value="Others">Otros</option>
|
|
|
|
|
<option>Profession (optionnel)</option>
|
|
|
|
|
<option value="Professional">Professionnel</option>
|
|
|
|
|
<option value="Professor or similar">Professeur ou similaire</option>
|
|
|
|
|
<option value="Retired person">Retraité</option>
|
|
|
|
|
<option value="Business owner">Propriétaire d'entreprise</option>
|
|
|
|
|
<option value="Government official">Fonctionnaire</option>
|
|
|
|
|
<option value="Housewife">Femme au foyer</option>
|
|
|
|
|
<option value="Self-emloyed person">Travailleur indépendant</option>
|
|
|
|
|
<option value="Others">Autres</option>
|
|
|
|
|
</select>
|
|
|
|
|
<button class="add_traveler_button" id="add_traveler_button" type="button">+ Añadir un viajero</button>
|
|
|
|
|
<button class="add_traveler_button" id="add_traveler_button" type="button">+ Ajouter un voyageur</button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div id="inquiryBox">
|
|
|
|
|
<h2>Su información de vuelo</h2>
|
|
|
|
|
<p>Su información de vuelo será enviada a su guía/conductor para la recogida y devolución en el aeropuerto.
|
|
|
|
|
Por favor, asegúrese de que los datos que facilite sean correctos. Puede omitir este paso si no necesita
|
|
|
|
|
traslado desde/hacia el aeropuerto. </p>
|
|
|
|
|
<p>Si aún no ha comprado sus billetes de avión o seguros, por favor introduzca "por confirmar (TBC)" en el
|
|
|
|
|
campo correspondiente y comparta la información con su asesor o actualícela cuando la confirme.</p>
|
|
|
|
|
<h2>Vos informations de vol</h2>
|
|
|
|
|
<p>Vos informations de vol seront envoyées à votre guide/conducteur pour la prise en charge et le retour à
|
|
|
|
|
l'aéroport.
|
|
|
|
|
Veuillez vous assurer que les données que vous fournissez sont correctes. Vous pouvez ignorer cette étape si
|
|
|
|
|
vous n'avez pas besoin
|
|
|
|
|
d'un transfert depuis/vers l'aéroport. </p>
|
|
|
|
|
<p>Si vous n'avez pas encore acheté vos billets d'avion ou assurance, veuillez entrer "à confirmer (TBC)" dans
|
|
|
|
|
le
|
|
|
|
|
champ correspondant et partagez les informations avec votre conseiller ou mettez à jour quand vous les
|
|
|
|
|
confirmerez.</p>
|
|
|
|
|
|
|
|
|
|
<div class="selectionBlock" style="width: 100%;">
|
|
|
|
|
|
|
|
|
|
<div class="inputTerm">
|
|
|
|
|
<input type="text" name="MEI_ArrivalFlightNo">
|
|
|
|
|
<label>
|
|
|
|
|
Número de vuelo de llegada
|
|
|
|
|
Numéro de vol d'arrivée
|
|
|
|
|
</label>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="selectionBlock" style="width: 100%;">
|
|
|
|
|
<p>Hora de llegada</p>
|
|
|
|
|
<p>Heure d'arrivée</p>
|
|
|
|
|
<div class="inputTerm">
|
|
|
|
|
<input type="datetime-local" name="MEI_ArrivalTime" min="1753-01-01T00:00" max="9999-12-31T00:00">
|
|
|
|
|
|
|
|
|
|
@ -1035,26 +1057,26 @@
|
|
|
|
|
<div class="inputTerm">
|
|
|
|
|
<input type="text" name="MEI_DepartureFlightNo">
|
|
|
|
|
<label>
|
|
|
|
|
Número de vuelo de salida
|
|
|
|
|
Numéro de vol de départ
|
|
|
|
|
</label>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="selectionBlock" style="width: 100%;">
|
|
|
|
|
<p>Hora de salida</p>
|
|
|
|
|
<p>Heure de départ</p>
|
|
|
|
|
<div class="inputTerm">
|
|
|
|
|
<input type="datetime-local" name="MEI_DepartureTime" min="1753-01-01T00:00" max="9999-12-31T00:00">
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="inquiryBox">
|
|
|
|
|
<h2>Información de contacto de emergencia</h2>
|
|
|
|
|
<div class="emergency_title">(en caso de que ocurra un evento improbable durante su viaje)
|
|
|
|
|
<h2>Informations de contact d'urgence</h2>
|
|
|
|
|
<div class="emergency_title">(en cas d'événement peu probable pendant votre voyage)
|
|
|
|
|
</div>
|
|
|
|
|
<div class="selectionBlock">
|
|
|
|
|
<div class="inputTerm">
|
|
|
|
|
<input type="text" name="emergency_person_name" required="">
|
|
|
|
|
<label>
|
|
|
|
|
Nombre del contacto
|
|
|
|
|
Nom du contact
|
|
|
|
|
</label>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
@ -1062,55 +1084,55 @@
|
|
|
|
|
<div class="inputTerm">
|
|
|
|
|
<input type="text" name="emergency_email" required="">
|
|
|
|
|
<label>
|
|
|
|
|
Dirección de correo electrónico
|
|
|
|
|
Adresse e-mail
|
|
|
|
|
</label>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="selectionBlock">
|
|
|
|
|
<p>Relación con la persona </p>
|
|
|
|
|
<p>Relation avec la personne </p>
|
|
|
|
|
<div class="inputTerm">
|
|
|
|
|
<input type="text" name="emergency_relationship" required="">
|
|
|
|
|
<label>
|
|
|
|
|
p.ej. Él es el padre de Sue.
|
|
|
|
|
p.ex. Il est le père de Sue.
|
|
|
|
|
</label>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="selectionBlock">
|
|
|
|
|
<p>Teléfono</p>
|
|
|
|
|
<p>Téléphone</p>
|
|
|
|
|
<div class="inputTerm">
|
|
|
|
|
<input type="text" name="emergency_telephone" required="">
|
|
|
|
|
<label>
|
|
|
|
|
incluya código de país y prefijo
|
|
|
|
|
incluez l'indicatif pays et l'indicatif régional
|
|
|
|
|
</label>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="inquiryBox">
|
|
|
|
|
<h2>Información de su seguro y otras solicitudes especiales (opcional)</h2>
|
|
|
|
|
<h2>Informations sur votre assurance et autres demandes spéciales (optionnel)</h2>
|
|
|
|
|
|
|
|
|
|
<textarea id="special_request" name="special_request" style="resize:none;"></textarea>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- 🔜上传护照图片 -->
|
|
|
|
|
<div id="inquiryBox">
|
|
|
|
|
<h2>Por favor suba una fotocopia de la página de su pasaporte (lado del documento).</h2>
|
|
|
|
|
<h2>Veuillez télécharger une photocopie de la page de votre passeport (côté du document).</h2>
|
|
|
|
|
|
|
|
|
|
<div class="upload-section">
|
|
|
|
|
<input type="file" id="fileInput" accept="image/*" multiple>
|
|
|
|
|
<button id="uploadBtn">Subir</button>
|
|
|
|
|
<button id="uploadBtn">Télécharger</button>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="progress-section" id="progressSection" style="display: none;">
|
|
|
|
|
<p>Subiendo...</p>
|
|
|
|
|
<p>Téléchargement...</p>
|
|
|
|
|
<div class="progress-bar">
|
|
|
|
|
<div class="progress-fill" id="progressFill"></div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="uploaded-images" id="uploadedImages">
|
|
|
|
|
<h2>Imagen subida</h2>
|
|
|
|
|
<h2>Image téléchargée</h2>
|
|
|
|
|
<div class="image-grid" id="imageGrid">
|
|
|
|
|
<!-- Las imágenes subidas se mostrarán aquí -->
|
|
|
|
|
<!-- Les images téléchargées s'afficheront ici -->
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
@ -1198,7 +1220,7 @@
|
|
|
|
|
|
|
|
|
|
if (files.length === 0) {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
alert('Please select a file.');
|
|
|
|
|
alert('Veuillez sélectionner un fichier.');
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1412,7 +1434,7 @@
|
|
|
|
|
<input type="hidden" name="COLI_ID" value="<?php echo $userinfo[0]->COLI_ID; ?>">
|
|
|
|
|
<input type="hidden" name="COLI_SN" value="<?php echo $userinfo[0]->COLI_SN; ?>">
|
|
|
|
|
<input type="hidden" name="visitor_link" value="<?php echo $visitor_link; ?>">
|
|
|
|
|
<button id="tmsubmit" type="button">Revisar y Enviar</button>
|
|
|
|
|
<button id="tmsubmit" type="button">Réviser et envoyer</button>
|
|
|
|
|
<input id="passport_info" name="passport_info" type="hidden" value="" />
|
|
|
|
|
<input type="hidden" name="url" value="" />
|
|
|
|
|
</div>
|
|
|
|
|
@ -1427,15 +1449,15 @@
|
|
|
|
|
<div class="modal-header">
|
|
|
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
|
|
|
|
|
aria-hidden="true">×</span></button>
|
|
|
|
|
<h4 class="modal-title text-danger">Por favor, revise su información nuevamente</h4>
|
|
|
|
|
<h4 class="modal-title text-danger">Veuillez réviser vos informations à nouveau</h4>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="modal-body" id="reviewModal_body">
|
|
|
|
|
<p>...</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="modal-footer">
|
|
|
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">Volver y modificar</button>
|
|
|
|
|
<button type="button" class="btn btn-primary" id="btn-add-userinfo" onClick="submit_info_form();">Confirmar y
|
|
|
|
|
enviar</button>
|
|
|
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">Retour et modification</button>
|
|
|
|
|
<button type="button" class="btn btn-primary" id="btn-add-userinfo" onClick="submit_info_form();">Confirmer et
|
|
|
|
|
envoyer</button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
@ -1475,7 +1497,7 @@
|
|
|
|
|
const validityState = element.validity;
|
|
|
|
|
if (validityState.valueMissing) {
|
|
|
|
|
result = false;
|
|
|
|
|
element.setCustomValidity('Bitte füllen Sie dieses Feld aus.');
|
|
|
|
|
element.setCustomValidity('Veuillez remplir ce champ.');
|
|
|
|
|
element.reportValidity();
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
@ -1499,7 +1521,7 @@
|
|
|
|
|
$('#reviewModal').modal('show');
|
|
|
|
|
},
|
|
|
|
|
error: function (msg) {
|
|
|
|
|
alert('\u53d1\u751f\u9519\u8bef\uff0c\u8bf7\u8054\u7cfbYCC...');
|
|
|
|
|
alert('Une erreur s\'est produite, veuillez contacter YCC...');
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
@ -1522,13 +1544,13 @@
|
|
|
|
|
var $addTraveler = $travelerTemplate.clone();
|
|
|
|
|
$addTraveler.attr('id', travelerId);
|
|
|
|
|
$addTraveler.find('#phoneNumberDiv').remove();
|
|
|
|
|
$addTraveler.find('[data-header]').text('Viajero ' + travelerCount);
|
|
|
|
|
$addTraveler.find('[data-header]').text('Voyageur ' + travelerCount);
|
|
|
|
|
|
|
|
|
|
$addTravelerButton = $addTraveler.find('#add_traveler_button');
|
|
|
|
|
$addTravelerButton.attr('id', 'add_traveler_button' + travelerCount);
|
|
|
|
|
$addTravelerButton.click(function () { addTraveler() });
|
|
|
|
|
|
|
|
|
|
$deleteTravelerButton = $('<button class="add_traveler_button" type="button">- Eliminar viajero ' + travelerCount + '</button>');
|
|
|
|
|
$deleteTravelerButton = $('<button class="add_traveler_button" type="button">- Supprimer voyageur ' + travelerCount + '</button>');
|
|
|
|
|
$deleteTravelerButton.click(function () { $('#' + travelerId).remove(); });
|
|
|
|
|
$addTraveler.append($deleteTravelerButton);
|
|
|
|
|
$(".traveler_info:last").after($addTraveler);
|
|
|
|
|
|