Merge branch 'master' of github.com:hainatravel/information-system

hotfix/paypal-note
赵鹏 2 years ago
commit d27afa52da

@ -1,6 +1,6 @@
<script src="https://www.recaptcha.net/recaptcha/enterprise.js?render=6Lf828MhAAAAANNetijCXKwW5ARyhcJ-b1Hhslja"></script>
<div class="tmbottom">
<h3 style="text-align: center; font-size: 20px; line-height: 22px;">Your 1:1 travel consultant will reply within 1 working day. Over 50% of our clients complete their bookings within 10 days of submitting their inquiry.</h3>
<h3 style="text-align: center; font-size: 20px; line-height: 22px;">Inquire now! Your 1:1 travel consultant will reply within 1 working day.</h3>
<form action="https://www.asiahighlights.com/orders/quick_inquiry_save" method="post" novalidate="" id='gp_form'>
<textarea id="form_additionalrequirements" name="additional_requirements" placeholder="If you have other requirements such as adding private transport on arrival and departure day, extending the trip : pre - or post-tour, please let us know .... (optional)"></textarea>
@ -320,17 +320,10 @@
<option value="Zimbabwe +263">Zimbabwe&nbsp; &nbsp;+263</option>
<option value="Åland Islands +385">Åland Islands&nbsp; &nbsp;+35818</option>
</select>
<input class="Inquiryphone" id="PhoneNo" name="PhoneNo" placeholder="Phone number (We'll only call if you ask.) *" type="tel" value="" />
<input class="Inquiryphone" id="PhoneNo" name="PhoneNo" placeholder="Phone number *" type="tel" value="" />
<div id="contact_errmsg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Please enter your phone number.</div> </div>
<p style="font-size: 17px;
color: #555;
margin-top: -10px;
margin-bottom: 5px;
font-style: italic;
padding-left: 0;
line-height: 20px;
">Having a phone number, especially with WhatsApp/iMessage capability will improve communication efficiency.</p>
<p style="
margin-top: 0;
margin-bottom: 10px;
@ -359,7 +352,6 @@
</div>
<button class="sendButton" id="submit_gp_form" type="button">Inquire Now</button>
<input name="total_price" id="totalPriceHidden" type="hidden" value="10000" />
<input name="payment_required" id="payment_required" type="hidden" value="" />
<input name="product_code" type="hidden" value="<?php echo $meta_product_code; ?>"/>
<input name="itinerary" type="hidden" value="<?php echo $information->ic_title; ?>" />
@ -404,16 +396,6 @@
var adultNumberValue = el('adultNumber').value;
const plusAdultBtn = el('plusAdult');
const minusAdultBtn = el('minusAdult');
const totalPriceHidden = el("totalPriceHidden");
function calcTotalPrice(ticketPrice, adultNumber) {
var totalPrice = ticketPrice * adultNumber;
if (adultNumber >= 10) {
totalPrice = totalPrice * 0.95;
}
return totalPrice.toFixed(2);
}
plusAdultBtn.on('click', () => {
adultNumberValue++;
@ -468,10 +450,6 @@
const gp_form = el('gp_form');
submitFormBtn.on('click', () => {
if (validateGPForm()) {
var ticketPrice = 300;
var totalPrice = calcTotalPrice(ticketPrice, adultNumberValue);
totalPriceHidden.value = totalPrice;
if (typeof(grecaptcha) === "undefined") {
console.warn('grecaptcha is disabled.');
gp_form.submit();

@ -2,12 +2,11 @@
<div class="tripnotes" collapse="" collapse-status="hide" data-target="tripnotes" data-target-icon="day4Icon" style="font-size: 25px;
color: #ad1818;
font-weight: 600;
font-family: 'Goudy Old Style';">Your 1:1 travel consultant will reply within 1 working day. Over 50% of our clients complete their bookings within 10 days of submitting their inquiry.<span class="OpenIcon" id="day4Icon"></span></div>
font-family: 'Goudy Old Style';">Inquire now! Your 1:1 travel consultant will reply within 1 working day.<span class="OpenIcon" id="day4Icon"></span></div>
<div class="tripnotescontent" collapse-content="" id="tripnotes" style="display: none; box-sizing: border-box;">
<div class="tmbottom" style="padding-top: 60px; margin-top: 0;">
<form action="/orders/quick_inquiry_save" method="post" novalidate="" id="info_page_form">
<textarea id="form_additionalrequirements" name="additional_requirements" placeholder="E.g. This is a big trip for my birthday, anniversary, honeymoon, retirement, kid's graduation, bucket list
Our must-dos/must-sees are…" style="height:90px;"></textarea>
<textarea id="form_additionalrequirements" name="additional_requirements" placeholder="E.g.: This is a big trip for anniversary, honeymoon, birthday celebration..." style="height:90px;"></textarea>
<div class="selectionBlock" style="margin-bottom: 0;">
<p style="
@ -451,19 +450,10 @@ Our must-dos/must-sees are…" style="height:90px;"></textarea>
<option value="Zimbabwe +263">Zimbabwe&nbsp; &nbsp;+263</option>
<option value="Åland Islands +385">Åland Islands&nbsp; &nbsp;+35818</option>
</select>
<input class="Inquiryphone" id="PhoneNo" name="PhoneNo" placeholder="Phone number (We'll only call if you ask.) *" type="tel" value="" />
<input class="Inquiryphone" id="PhoneNo" name="PhoneNo" placeholder="Phone number *" type="tel" value="" />
<div id="contact_errmsg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Please enter your phone number.</div> </div>
<!--
<p style="font-size: 17px;
color: #555;
margin-top: -10px;
margin-bottom: 5px;
font-style: italic;
padding-left: 0;
line-height: 20px;
">Having a phone number, especially with WhatsApp/iMessage capability will improve communication efficiency.</p>
-->
<p style="margin-top: 0;margin-bottom: 5px;padding: 0;">I prefer to be contacted via:</p>
<div class="checkYes">
<input type="checkbox" value="yes" name="contact_via_whatsapp" id="whatsapp" class="checkBorder" >

@ -1,11 +1,11 @@
<script src="https://www.recaptcha.net/recaptcha/enterprise.js?render=6Lf828MhAAAAANNetijCXKwW5ARyhcJ-b1Hhslja"></script>
<div class="tmbottom">
<h3 style="text-align: center; font-size: 20px; line-height: 22px;">Your 1:1 travel consultant will reply within 1 working day. Over 50% of our clients complete their bookings within 10 days of submitting their inquiry.</h3>
<h3 style="text-align: center; font-size: 20px; line-height: 22px;">Inquire now! Your 1:1 travel consultant will reply within 1 working day.</h3>
<form action="/orders/quick_inquiry_save" method="post" novalidate="" id="quick_inquiry_form">
<textarea id="form_additionalrequirements" name="additional_requirements" placeholder="Tell us your travel requirements here: anniversary, honeymoon, family trip, birthday travel, beach, food... (optional)"></textarea>
<textarea id="form_additionalrequirements" name="additional_requirements" placeholder="E.g.: This is a big trip for anniversary, honeymoon, birthday celebration..."></textarea>
<div class="selectionBlock">
<h4 style="margin-bottom: 0;margin-top: 0;">
<h4 style="margin-bottom: 0;margin-top: 0; padding-bottom: 0;">
How would you travel?
</h4>
<div id="group_error_msg" style="display: none">
@ -134,6 +134,31 @@
</div>
</div>
<div class="selectionBlock">
<h4 style="margin-top: 0; margin-bottom: 0;">
What's your hotel choice?
</h4>
<div class="travel_group date_select">
<input type="radio" value="Deluxe (5-star &amp; up)" id="Deluxe" name="hotel">
<label for="Deluxe" class="family">
Deluxe<br> (5-star &amp; up)
</label>
</div>
<div class="travel_group date_select">
<input type="radio" value="Handpicked comfort (4-star)" id="Handpicked" name="hotel">
<label for="Handpicked" class="family">
Handpicked comfort<br> (4-star)
</label>
</div>
<div class="travel_group date_select">
<input type="radio" value="Standard (3-star)" id="Standard" name="hotel">
<label for="Standard" class="family">
Standard <br>(3-star)
</label>
</div>
</div>
<div class="selectionBlock">
<h4 style="margin-top: 0; margin-bottom: 0;">
When would you travel?
@ -144,19 +169,19 @@
<div class="travel_group date_select">
<input type="radio" value="exact travel dates" id="exact" name="trip_date">
<label for="exact" class="family">
I have exact travel dates.
Exact travel dates
</label>
</div>
<div class="travel_group date_select">
<input type="radio" value="approximate travel dates" id="approximate" name="trip_date">
<label for="approximate" class="couple">
I have approximate travel dates.
Approximate travel dates
</label>
</div>
<div class="travel_group date_select">
<input type="radio" value="haven't decided travel dates" id="yet" name="trip_date">
<label for="yet" class="solo">
I haven't decided my travel dates.
Undecided travel dates
</label>
</div>
<div class="trip_date_length" id="tripDateBlock" style="display: none">
@ -509,17 +534,10 @@
<option value="Zimbabwe +263">Zimbabwe&nbsp; &nbsp;+263</option>
<option value="Åland Islands +385">Åland Islands&nbsp; &nbsp;+35818</option>
</select>
<input class="Inquiryphone" id="PhoneNo" name="PhoneNo" placeholder="Phone number (We'll only call if you ask.) *" type="tel" value="" />
<input class="Inquiryphone" id="PhoneNo" name="PhoneNo" placeholder="Phone number *" type="tel" value="" />
<div id="contact_errmsg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Please enter your phone number.</div> </div>
<p style="font-size: 17px;
color: #555;
margin-top: -10px;
margin-bottom: 5px;
font-style: italic;
padding-left: 0;
line-height: 20px;
">Having a phone number, especially with WhatsApp/iMessage capability will improve communication efficiency.</p>
<p style="
margin-top: 0;
margin-bottom: 10px;

@ -295,17 +295,10 @@
<option value="Zimbabwe +263">Zimbabwe&nbsp; &nbsp;+263</option>
<option value="Åland Islands +385">Åland Islands&nbsp; &nbsp;+35818</option>
</select>
<input class="Inquiryphone" id="PhoneNo" name="PhoneNo" placeholder="Phone number (We'll only call if you ask.) *" type="tel" value="" />
<input class="Inquiryphone" id="PhoneNo" name="PhoneNo" placeholder="Phone number *" type="tel" value="" />
<div id="contact_errmsg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Please enter your phone number.</div> </div>
<p style="font-size: 17px;
color: #555;
margin-top: -5px;
margin-bottom: 15px;
font-style: italic;
padding-left: 0;
line-height: 20px;
">Having a phone number, especially with WhatsApp/iMessage capability will improve communication efficiency.</p>
<p style="
margin-top: 0;
margin-bottom: 10px;
@ -334,7 +327,6 @@
</div>
<button class="sendButton" id="submit_gp_form" type="button">Inquire</button>
<input name="total_price" id="totalPriceHidden" type="hidden" value="10000" />
<input name="payment_description" type="hidden" value="Booking Yi Peng Festival Mini-Group Tour" />
<input name="product_code" type="hidden" value="<?php echo $meta_product_code; ?>"/>
<input name="itinerary" type="hidden" value="<?php echo $information->ic_title; ?>" />
@ -382,16 +374,6 @@
const minusAdultBtn = el('minusAdult');
const plusKidBtn = el('plusKid');
const minusKidBtn = el('minusKid');
const totalPriceHidden = el("totalPriceHidden");
function calcTotalPrice(ticketPrice, adultNumber) {
var totalPrice = ticketPrice * adultNumber;
if (adultNumber >= 10) {
totalPrice = totalPrice * 0.95;
}
return totalPrice.toFixed(2);
}
plusAdultBtn.on('click', () => {
adultNumberValue++;
@ -456,9 +438,6 @@
const gp_form = el('gp_form');
submitFormBtn.on('click', () => {
if (validateGPForm()) {
var ticketPrice = 200;
var totalPrice = calcTotalPrice(ticketPrice, adultNumberValue);
totalPriceHidden.value = totalPrice;
if (typeof(grecaptcha) === "undefined") {
console.warn('grecaptcha is disabled.');

@ -1,10 +1,15 @@
<script
src="https://www.recaptcha.net/recaptcha/enterprise.js?render=6Lf828MhAAAAANNetijCXKwW5ARyhcJ-b1Hhslja"></script>
<!--AH-Lantern-From-Info-->
<script src="https://www.recaptcha.net/recaptcha/enterprise.js?render=6Lf828MhAAAAANNetijCXKwW5ARyhcJ-b1Hhslja"></script>
<div class="tmbottom">
<h3 style="font-size: 24px; line-height: 22px;">Chiang Mai CAD Yi Peng Festival 2023 - Secure Your Exclusive Tickets Before They're Gone!</h3>
<form id='ticket_form' action="https://www.asiahighlights.com/orders/lantern_save" method="post">
<p>
As the Lantern Festival approaches, all tourism resources are in high demand. We are currently offering two types of services: <br>
1. Single ticket sales: VIP and standard tickets.<br>
2. Package: The exclusive <strong>premium ticket</strong> paired with the most <strong>convenient hotel</strong>.
</p>
<form id='ticket_form' action="https://www.asiahighlights.com/orders/lantern_save" method="post" >
<p style=" font-size: 22px;"><strong>Select Date</strong></p>
<div class="selectHotl" style="margin-bottom: 20px;">
<div class="selectHotl" style="margin-bottom: 20px;">
<div class="optionLable">
<input type="radio" value="2023-11-27" id="november27th" name="ticket_date">
<label for="november27th">
@ -18,8 +23,9 @@
</label>
</div>
</div>
<p style=" font-size: 22px;"><strong>Select Ticket Type</strong></p>
<div class="selectHotl" style="margin-bottom: 20px;">
<p style="font-size: 22px;"><strong>Select Ticket Type</strong></p>
<div class="selectHotl" style="margin-bottom: 20px;">
<div class="optionLable" id="ticket_type_premium">
<input type="radio" value="Premium+Transfer+Dinner" id="Premium" name="ticket_type">
<label for="Premium" style="font-size:18px;">
@ -30,6 +36,16 @@
<div id='premium_ticket_left'>0 left</div>
</label>
</div>
<div class="optionLable" id="ticket_type_premium_hotel">
<input type="radio" value="Premium (+Transfer+Dinner)+ Novotel Hotel" id="Premium_hotel" name="ticket_type">
<label for="Premium_hotel" style="font-size:18px;">
Premium <span style="font-size:17px;">(+Transfer+Dinner)</span>+ Novotel Hotel
<div class="selectionMemo">
US$ 199 per ticket<br>
US$100 PRPN
</div>
</label>
</div>
<div class="optionLable" id="vip_type_premium">
<input type="radio" value="VIP+Transfer+Dinner" id="VIP" name="ticket_type">
<label for="VIP" style="font-size:18px;">
@ -40,7 +56,7 @@
<div id='vip_ticket_left'>0 left</div>
</label>
</div>
<div class="optionLable">
<div class="optionLable" id="ticket_type_standard">
<input type="radio" value="Standard+Transfer+Dinner" checked id="Standard" name="ticket_type">
<label for="Standard" style="font-size:18px;">
Standard+Transfer+Dinner
@ -51,27 +67,46 @@
</label>
</div>
</div>
<p style="display: inline-block;">Premium ticket booking for the 27th is closed. However, we've reserved tickets for those booking our Lantern Festival Tour. We highly recommend our <a href="/thailand/tours/lantern-festival">Lantern Festival Tou</a>r to secure a premium ticket for November 27th.</p>
<p style=" font-size: 22px;"><strong>Select Quantity</strong></p>
<div id="hotel_choice" style="display: none">
<div class="peopleSelect" style="width: auto;">
<span class="formMemo">
Adults and older children (8+ years old)
</span>
<p style="font-size: 22px; margin-bottom: 5px;"><strong>Select the Number of Hotel Room(s)</strong></p>
<div class="numberBtn">
<input class="minaddBtn reduceadult" id='minusButton' type="button" value="-">
<input class="number" id="adultNumberValue" readonly="readonly" type="text" value="1"
name="adult">
<input class="minaddBtn addadult" id='plusButton' type="button" value="+">
<input class="minaddBtn reduce_room" id='minusRoomBtn' type="button" value="-">
<input class="number" id="hotel_room" readonly="readonly" type="text" value="1" name="hotelrooms">
<input class="minaddBtn add_room" id='plusRoomBtn' type="button" value="+">
</div>
<p style="font-size: 22px; margin-bottom: 5px;"><strong>Select the Length of Stay (Night)</strong></p>
<div class="numberBtn">
<input class="minaddBtn reduce_stay" id='minusStayBtn' type="button" value="-">
<input class="number" id="stay_length" readonly="readonly" type="text" value="1" name="hotelstay">
<input class="minaddBtn add_stay" id='plusStayBtn' type="button" value="+">
</div>
</div>
<p style="clear: both;">
1. Regardless of the quantity of premium tickets required, a minimum of one night's stay in one room at <strong>Novotel Chiang Mai</strong> between November 26th and 29th is required.<br>
2. The superior room at Novotel Chiang Mai is pricing at US$100 PRPN, include <strong>breakfast</strong> and tax.
</p>
</div>
<p style="font-size: 22px; margin-bottom: 5px;"><strong>Select Ticket Quantity</strong></p>
<div class="peopleSelect" style="width: auto;">
<span class="formMemo">
Adults and older children (8+ years old)
</span>
<p style="display: inline-block;">Children under 8 years old enter free; 8-year-olds and above are charged the same as adults.</p>
<div class="numberBtn" style="width: 60%;">
<input class="minaddBtn reduceadult" id='minusButton' type="button" value="-">
<input class="number" id="adultNumberValue" readonly="readonly" type="text" value="1" name="adult">
<input class="minaddBtn addadult" id='plusButton' type="button" value="+">
</div>
<p style="display: inline-block;">Children under 8 years old enter free; 8-year-olds and above are charged the same as adults. You can buy a
ticket for your child under 8 if you would like her or him to enjoy the same provision.</p>
<div class="payonline_price">Total price: <strong id="totalPriceText">$122</strong></div>
</div>
<div class="payonline_price" style="clear: both;">Total price (ticket + hotel): <strong id="totalPriceText">$122</strong>
<p style="font-size: 17px; margin-bottom: 0;"><em>* Only premium tickets require a purchase along with accommodation.</em></p>
</div>
<p style="margin-top: 50px;"><strong>Please provide correct personal information for your ticket
booking. Double
check.</strong></p>
<input class="FullName" id="ticket_realname" name="fullname"
placeholder="Your name * (exactly as in your passport)" required="" type="text" value="" />
<div id="ticket_realname_errmsg" style="display: none">
@ -86,7 +121,7 @@
<div class="requiredArea" style="margin-top:-10px;">Please verify your email.</div>
</div>
<select name="country_code" class="country_code">
<option style="font-weight: 600;" value="United States +1">United States&nbsp; &nbsp;+1</option>
<option style="font-weight: 600;" value="United States +1">United States&nbsp; &nbsp;+1</option>
<option style="font-weight: 600;" value="United Kingdom +44">United Kingdom&nbsp; &nbsp;+44</option>
<option style="font-weight: 600;" value="Australia +61">Australia&nbsp; &nbsp;+61</option>
<option style="font-weight: 600;" value="Canada +1">Canada&nbsp; &nbsp;+1</option>
@ -339,144 +374,211 @@
<option value="Åland Islands +385">Åland Islands&nbsp; &nbsp;+35818</option>
</select>
<input class="Inquiryphone" id="ticket_PhoneNo" name="PhoneNo"
placeholder="Phone number (We'll only call if you ask.) *" type="tel" value="" />
<p
style="font-size: 17px; color: #555; margin-top: -10px; margin-bottom: 5px; font-style: italic; padding-left: 0;">
Having a phone number, especially with WhatsApp/iMessage capability will improve communication efficiency.
</p>
placeholder="Phone number *" type="tel" value="" />
<div id="ticket_contact_errmsg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Please enter your phone number.</div>
</div>
<textarea name="other_travels_name"
placeholder="For booking two/or more tickets, please fill in other traveler name(s) here: (per passport, e.g. Smith Sarah Jean)"></textarea>
<textarea name="other_travelers_names" placeholder="For booking two/or more tickets, please fill in other traveler name(s) here: (per passport, e.g. Smith Sarah Jean)"></textarea>
<textarea name="additional_requirements"
placeholder="If you have other requirements such as hotel booking, customized guided tour, private transport, or a full tour package, please let us know .... (optional)"></textarea>
placeholder="If you have other requirements such as hotel booking, customized guided tour, private transport, or a full tour package, please let us know .... (optional)"
></textarea>
<p style="
<p style="
margin-top: 0;
margin-bottom: 10px;
padding: 0;
">I prefer to be contacted via:</p>
<div class="checkYes">
<input type="checkbox" value="yes" name="contact_via_whatsapp" id="whatsapp" class="checkBorder">
<label for="whatsapp">WhatsApp</label>
</div>
<div class="checkYes">
<input type="checkbox" value="yes" name="contact_via_iMessage" id="iMessage" class="checkBorder">
<label for="iMessage">iMessage</label>
</div>
<div class="checkYes">
<input type="checkbox" value="yes" name="contact_via_phone_call" id="Phone" class="checkBorder">
<label for="Phone">Phone call</label>
</div>
<div class="checkYes">
<input type="checkbox" value="yes" name="contact_via_email" id="Email" class="checkBorder">
<label for="Email">Email</label>
</div>
<div class="checkYes">
<input type="checkbox" value="yes" name="contact_via_video_appointment" id="Video" class="checkBorder">
<label for="Video">Video appointment</label>
</div>
<div class="checkYes">
<input type="checkbox" value="yes" name="contact_via_whatsapp" id="whatsapp" class="checkBorder" >
<label for="whatsapp">WhatsApp</label>
</div>
<div class="checkYes">
<input type="checkbox" value="yes" name="contact_via_iMessage" id="iMessage" class="checkBorder" >
<label for="iMessage">iMessage</label>
</div>
<div class="checkYes">
<input type="checkbox" value="yes" name="contact_via_phone_call" id="Phone" class="checkBorder" >
<label for="Phone">Phone call</label>
</div>
<div class="checkYes">
<input type="checkbox" value="yes" name="contact_via_email" id="Email" class="checkBorder" >
<label for="Email">Email</label>
</div>
<div class="checkYes">
<input type="checkbox" value="yes" name="contact_via_video_appointment" id="Video" class="checkBorder" >
<label for="Video">Video appointment</label>
</div>
<input name="total_price" id="totalPriceHidden" type="hidden" value="10000" />
<input name="product_sn" id="product_sn" type="hidden" value="13949" />
<input name="product_code" id="cli_no" type="hidden" value="YDFW-AH" />
<input name="product_code" id="cli_no" type="hidden" value="YDFW-AH"/>
<input name="itinerary" type="hidden" value="<?php echo $information->ic_title; ?>" />
<button class="sendButton" id="submit_ticket_button" name="submit_ticket_form" type="button">Proceed to
Payment</button>
<button class="sendButton" id="submit_ticket_button" name="submit_ticket_form"
type="button">Proceed to Payment</button>
</form>
</div>
<script>
function calcTotalPrice(ticketPrice, adultNumber) {
var totalPrice = ticketPrice * adultNumber;
if (adultNumber >= 10) {
totalPrice = totalPrice * 0.95;
}
function calcTotalPrice() {
var ticketTotalPrice = ticketPrice * adultNumberValue;
if (adultNumberValue >= 10) {
ticketTotalPrice = ticketTotalPrice * 0.95;
}
return totalPrice.toFixed(2);
// Premium Hotel 票要选酒店 100 美金/间/夜
var hotelTotalPrice = 0;
if (selectedTicketType === 'Premium_hotel') {
hotelTotalPrice = 100 * hotelRoomValue * stayLengthValue;
}
var adultNumberNode = document.getElementById("adultNumberValue");
var ticketTypeList = document.querySelectorAll("input[name='ticket_type']");
var totalPriceText = document.getElementById("totalPriceText");
var totalPriceHidden = document.getElementById("totalPriceHidden");
var adultNumberValue = parseInt(adultNumberNode.value);
var ticketPrice = 139;
totalPriceHidden.value = ticketPrice * adultNumberValue;
totalPriceText.innerText = '$' + ticketPrice;
for (var i = 0; i < ticketTypeList.length; i++) {
var ticketTypeNode = ticketTypeList[i];
ticketTypeNode.addEventListener('click', function (event) {
var currentTarget = event.currentTarget;
var adultNumberValue = parseInt(adultNumberNode.value);
if (currentTarget.value === 'Premium+Transfer+Dinner') {
ticketPrice = 199;
} else if (currentTarget.value === 'Standard+Transfer+Dinner') {
ticketPrice = 139;
} else if (currentTarget.value === 'VIP+Transfer+Dinner') {
ticketPrice = 179;
}
var totalPrice = calcTotalPrice(ticketPrice, adultNumberValue);
totalPriceText.innerText = '$' + totalPrice;
totalPriceHidden.value = totalPrice;
});
var totalPrice = ticketTotalPrice + hotelTotalPrice;
if (!Number.isInteger(totalPrice)) {
totalPrice = totalPrice.toFixed(2);
}
var ticketDateList = document.querySelectorAll("input[name='ticket_date']");
var ticketTypePremium = document.getElementById("ticket_type_premium");
var vipTypePremium = document.getElementById("vip_type_premium");
totalPriceText.innerText = '$' + totalPrice;
totalPriceHidden.value = totalPrice;
}
var adultNumberNode = document.getElementById("adultNumberValue");
var hotelRoomNode = document.getElementById("hotel_room");
var stayLengthNode = document.getElementById("stay_length");
var ticketTypeList = document.querySelectorAll("input[name='ticket_type']");
var totalPriceText = document.getElementById("totalPriceText");
var totalPriceHidden = document.getElementById("totalPriceHidden");
var hotelChoiceBlock = document.getElementById("hotel_choice");
var premiumTicketLeft = document.getElementById("premium_ticket_left");
var vipTicketLeft = document.getElementById("vip_ticket_left");
var standardTicketLeft = document.getElementById("standard_ticket_left");
setNovember28thTicketLeft();
var adultNumberValue = parseInt(adultNumberNode.value);
var hotelRoomValue = parseInt(hotelRoomNode.value);
var stayLengthValue = parseInt(stayLengthNode.value);
var ticketPrice = 139;
var selectedTicketDate = '';
var selectedTicketType = '';
calcTotalPrice();
for (var i = 0; i < ticketTypeList.length; i++) {
var ticketTypeNode = ticketTypeList[i];
ticketTypeNode.addEventListener('click', function (event) {
var currentTarget = event.currentTarget;
selectedTicketType = currentTarget.id;
var adultNumberValue = parseInt(adultNumberNode.value);
if (selectedTicketType === 'Premium') {
ticketPrice = 199;
} else if (selectedTicketType === 'Premium_hotel') {
ticketPrice = 199;
} else if (selectedTicketType === 'VIP') {
ticketPrice = 179;
} else if (selectedTicketType === 'Standardr') {
ticketPrice = 139;
}
for (var i = 0; i < ticketDateList.length; i++) {
var ticketDateNode = ticketDateList[i];
ticketDateNode.addEventListener('click', function (event) {
var currentTarget = event.currentTarget;
if (currentTarget.id === 'november27th') {
ticketTypePremium.style.display = 'none';
// vipTypePremium.style.display = 'none';
setNovember27thTicketLeft();
} else {
ticketTypePremium.style.display = '';
// vipTypePremium.style.display = '';
setNovember28thTicketLeft();
}
});
}
if (selectedTicketType === 'Premium_hotel') {
hotelChoiceBlock.style.display = '';
} else {
hotelChoiceBlock.style.display = 'none';
}
calcTotalPrice();
});
}
function setNovember27thTicketLeft() {
premiumTicketLeft.innerText = '0 left';
vipTicketLeft.innerText = '74 left';
standardTicketLeft.innerText = '18 left';
}
var ticketDateList = document.querySelectorAll("input[name='ticket_date']");
var ticketTypePremium = document.getElementById("ticket_type_premium");
var vipTypePremium = document.getElementById("vip_type_premium");
var ticketTypeStandard = document.getElementById("ticket_type_standard");
var premiumOption = document.getElementById("Premium");
var vipOption = document.getElementById("VIP");
var standardOption = document.getElementById("Standard");
var premiumTicketLeft = document.getElementById("premium_ticket_left");
var vipTicketLeft = document.getElementById("vip_ticket_left");
var standardTicketLeft = document.getElementById("standard_ticket_left");
setNovember28thTicketLeft();
ticketTypePremium.style.display = 'none';
for (var i = 0; i < ticketDateList.length; i++) {
var ticketDateNode = ticketDateList[i];
ticketDateNode.addEventListener('click', function (event) {
var currentTarget = event.currentTarget;
selectedTicketDate = currentTarget.id;
if (currentTarget.id === 'november27th') {
ticketTypeStandard.style.display = 'none';
vipTypePremium.style.display = 'none';
// standardOption.disabled = true;
setNovember27thTicketLeft();
} else { // november28th
// ticketTypePremium.style.display = '';
ticketTypeStandard.style.display = '';
vipTypePremium.style.display = '';
// standardOption.disabled = false;
setNovember28thTicketLeft();
}
if (selectedTicketType === 'Premium_hotel') {
hotelChoiceBlock.style.display = '';
} else {
hotelChoiceBlock.style.display = 'none';
}
});
}
function setNovember28thTicketLeft() {
premiumTicketLeft.innerText = '148 left';
vipTicketLeft.innerText = '209 left';
standardTicketLeft.innerText = '170 left';
function setNovember27thTicketLeft() {
premiumTicketLeft.innerText = '30 left';
vipTicketLeft.innerText = '14 left';
standardTicketLeft.innerText = '0 left';
}
function setNovember28thTicketLeft() {
premiumTicketLeft.innerText = '35 left';
vipTicketLeft.innerText = '198 left';
standardTicketLeft.innerText = '149 left';
}
var plusButton = document.getElementById("plusButton");
var minusButton = document.getElementById("minusButton");
plusButton.addEventListener('click', function (event) {
adultNumberValue = parseInt(adultNumberNode.value) + 1;
adultNumberNode.value = adultNumberValue;
calcTotalPrice();
});
minusButton.addEventListener('click', function (event) {
var beforeValue = parseInt(adultNumberNode.value);
if (beforeValue > 1) {
adultNumberValue = beforeValue - 1;
adultNumberNode.value = adultNumberValue;
calcTotalPrice();
}
var plusButton = document.getElementById("plusButton");
var minusButton = document.getElementById("minusButton");
plusButton.addEventListener('click', function (event) {
var adultNumberValue = parseInt(adultNumberNode.value) + 1;
adultNumberNode.value = adultNumberValue;
var totalPrice = calcTotalPrice(ticketPrice, adultNumberValue);
totalPriceText.innerText = '$' + totalPrice;
totalPriceHidden.value = totalPrice;
});
minusButton.addEventListener('click', function (event) {
var beforeValue = parseInt(adultNumberNode.value);
if (beforeValue > 1) {
var adultNumberValue = beforeValue - 1;
adultNumberNode.value = adultNumberValue;
var totalPrice = calcTotalPrice(ticketPrice, adultNumberValue);
totalPriceText.innerText = '$' + totalPrice;
totalPriceHidden.value = totalPrice;
}
});
});
var plusRoomBtn = document.getElementById("plusRoomBtn");
var minusRoomBtn = document.getElementById("minusRoomBtn");
var plusStayBtn = document.getElementById("plusStayBtn");
var minusStayBtn = document.getElementById("minusStayBtn");
plusRoomBtn.addEventListener('click', function (event) {
hotelRoomValue = parseInt(hotelRoomNode.value) + 1;
hotelRoomNode.value = hotelRoomValue;
calcTotalPrice();
});
minusRoomBtn.addEventListener('click', function (event) {
var beforeValue = parseInt(hotelRoomNode.value);
if (beforeValue > 1) {
hotelRoomValue = beforeValue - 1;
hotelRoomNode.value = hotelRoomValue;
calcTotalPrice();
}
});
plusStayBtn.addEventListener('click', function (event) {
stayLengthValue = parseInt(stayLengthNode.value) + 1;
stayLengthNode.value = stayLengthValue;
calcTotalPrice();
});
minusStayBtn.addEventListener('click', function (event) {
var beforeValue = parseInt(stayLengthNode.value);
if (beforeValue > 1) {
stayLengthValue = beforeValue - 1;
stayLengthNode.value = stayLengthValue;
calcTotalPrice();
}
});
</script>
<script>
var submit_ticket_button = document.getElementById("submit_ticket_button");
@ -539,3 +641,15 @@
return result;
}
</script>
<style>
#hotel_choice { display: inline-block;}
.selectionMemo {
font-size: 18px;
line-height: 17px;
}
@media (min-width: 751px){
.optionLable {
width: 31.8%;
}}
</style>
<!--AH-Lantern-From-Info-->

@ -1,6 +1,12 @@
<!--AH-Lantern-Form-->
<script src="https://www.recaptcha.net/recaptcha/enterprise.js?render=6Lf828MhAAAAANNetijCXKwW5ARyhcJ-b1Hhslja"></script>
<div class="tmbottom">
<h3 style="font-size: 24px; line-height: 22px;">Chiang Mai CAD Yi Peng Festival 2023 - Secure Your Exclusive Tickets Before They're Gone!</h3>
<p>
As the Lantern Festival approaches, all tourism resources are in high demand. We are currently offering two types of services: <br>
1. Single ticket sales: VIP and standard tickets.<br>
2. Package: The exclusive <strong>premium ticket</strong> paired with the most <strong>convenient hotel</strong>.
</p>
<form id='ticket_form' action="https://www.asiahighlights.com/orders/lantern_save" method="post" >
<p style=" font-size: 22px;"><strong>Select Date</strong></p>
<div class="selectHotl" style="margin-bottom: 20px;">
@ -30,6 +36,16 @@
<div id='premium_ticket_left'>0 left</div>
</label>
</div>
<div class="optionLable" id="ticket_type_premium_hotel">
<input type="radio" value="Premium (+Transfer+Dinner)+ Novotel Hotel" id="Premium_hotel" name="ticket_type">
<label for="Premium_hotel" style="font-size:18px;">
Premium <span style="font-size:17px;">(+Transfer+Dinner)</span>+ Novotel Hotel
<div class="selectionMemo">
US$ 199 per ticket<br>
US$100 PRPN
</div>
</label>
</div>
<div class="optionLable" id="vip_type_premium">
<input type="radio" value="VIP+Transfer+Dinner" id="VIP" name="ticket_type">
<label for="VIP" style="font-size:18px;">
@ -40,7 +56,7 @@
<div id='vip_ticket_left'>0 left</div>
</label>
</div>
<div class="optionLable">
<div class="optionLable" id="ticket_type_standard">
<input type="radio" value="Standard+Transfer+Dinner" checked id="Standard" name="ticket_type">
<label for="Standard" style="font-size:18px;">
Standard+Transfer+Dinner
@ -51,20 +67,42 @@
</label>
</div>
</div>
<p style="display: inline-block;">Premium ticket booking for the 27th is closed. However, we've reserved tickets for those booking our Lantern Festival Tour. We highly recommend our <a href="/thailand/tours/lantern-festival">Lantern Festival Tour</a> to secure a premium ticket for November 27th.</p>
<p style=" font-size: 22px;"><strong>Select Quantity</strong></p>
<div id="hotel_choice" style="display: none">
<div class="peopleSelect" style="width: auto;">
<span class="formMemo">
Adults and older children (8+ years old)
</span>
<p style="font-size: 22px; margin-bottom: 5px;"><strong>Select the Number of Hotel Room(s)</strong></p>
<div class="numberBtn">
<input class="minaddBtn reduce_room" id='minusRoomBtn' type="button" value="-">
<input class="number" id="hotel_room" readonly="readonly" type="text" value="1" name="hotelrooms">
<input class="minaddBtn add_room" id='plusRoomBtn' type="button" value="+">
</div>
<p style="font-size: 22px; margin-bottom: 5px;"><strong>Select the Length of Stay (Night)</strong></p>
<div class="numberBtn">
<input class="minaddBtn reduceadult" id='minusButton' type="button" value="-">
<input class="number" id="adultNumberValue" readonly="readonly" type="text" value="1" name="adult">
<input class="minaddBtn addadult" id='plusButton' type="button" value="+">
<input class="minaddBtn reduce_stay" id='minusStayBtn' type="button" value="-">
<input class="number" id="stay_length" readonly="readonly" type="text" value="1" name="hotelstay">
<input class="minaddBtn add_stay" id='plusStayBtn' type="button" value="+">
</div>
</div>
<p style="display: inline-block;">Children under 8 years old enter free; 8-year-olds and above are charged the same as adults. You can buy a ticket for your child under 8 if you would like her or him to enjoy the same provision.</p>
<div class="payonline_price">Total price: <strong id="totalPriceText">$122</strong></div>
<p style="clear: both;">
1. Regardless of the quantity of premium tickets required, a minimum of one night's stay in one room at <strong>Novotel Chiang Mai</strong> between November 26th and 29th is required.<br>
2. The superior room at Novotel Chiang Mai is pricing at US$100 PRPN, include <strong>breakfast</strong> and tax.
</p>
</div>
<p style="font-size: 22px; margin-bottom: 5px;"><strong>Select Ticket Quantity</strong></p>
<div class="peopleSelect" style="width: auto;">
<span class="formMemo">
Adults and older children (8+ years old)
</span>
<p style="display: inline-block;">Children under 8 years old enter free; 8-year-olds and above are charged the same as adults.</p>
<div class="numberBtn" style="width: 60%;">
<input class="minaddBtn reduceadult" id='minusButton' type="button" value="-">
<input class="number" id="adultNumberValue" readonly="readonly" type="text" value="1" name="adult">
<input class="minaddBtn addadult" id='plusButton' type="button" value="+">
</div>
</div>
<div class="payonline_price" style="clear: both;">Total price (ticket + hotel): <strong id="totalPriceText">$122</strong>
<p style="font-size: 17px; margin-bottom: 0;"><em>* Only premium tickets require a purchase along with accommodation.</em></p>
</div>
<p style="margin-top: 50px;"><strong>Please provide correct personal information for your ticket
booking. Double
check.</strong></p>
@ -335,10 +373,8 @@
<option value="Åland Islands +385">Åland Islands&nbsp; &nbsp;+35818</option>
</select>
<input class="Inquiryphone" id="ticket_PhoneNo" name="PhoneNo"
placeholder="Phone number (We'll only call if you ask.) *" type="tel" value="" />
<p
style="font-size: 17px; color: #555; margin-top: -10px; margin-bottom: 5px; font-style: italic; padding-left: 0;">
Having a phone number, especially with WhatsApp/iMessage capability will improve communication efficiency.</p>
placeholder="Phone number *" type="tel" value="" />
<div id="ticket_contact_errmsg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Please enter your phone number.</div>
</div>
@ -383,95 +419,165 @@
</form>
</div>
<script>
function calcTotalPrice(ticketPrice, adultNumber) {
var totalPrice = ticketPrice * adultNumber;
if (adultNumber >= 10) {
totalPrice = totalPrice * 0.95;
}
function calcTotalPrice() {
var ticketTotalPrice = ticketPrice * adultNumberValue;
if (adultNumberValue >= 10) {
ticketTotalPrice = ticketTotalPrice * 0.95;
}
return totalPrice.toFixed(2);
// Premium Hotel 票要选酒店 100 美金/间/夜
var hotelTotalPrice = 0;
if (selectedTicketType === 'Premium_hotel') {
hotelTotalPrice = 100 * hotelRoomValue * stayLengthValue;
}
var adultNumberNode = document.getElementById("adultNumberValue");
var ticketTypeList = document.querySelectorAll("input[name='ticket_type']");
var totalPriceText = document.getElementById("totalPriceText");
var totalPriceHidden = document.getElementById("totalPriceHidden");
var adultNumberValue = parseInt(adultNumberNode.value);
var ticketPrice = 139;
totalPriceHidden.value = ticketPrice * adultNumberValue;
totalPriceText.innerText = '$' + ticketPrice;
for (var i = 0; i < ticketTypeList.length; i++) {
var ticketTypeNode = ticketTypeList[i];
ticketTypeNode.addEventListener('click', function (event) {
var currentTarget = event.currentTarget;
var adultNumberValue = parseInt(adultNumberNode.value);
if (currentTarget.value === 'Premium+Transfer+Dinner') {
ticketPrice = 199;
} else if (currentTarget.value === 'Standard+Transfer+Dinner') {
ticketPrice = 139;
} else if (currentTarget.value === 'VIP+Transfer+Dinner') {
ticketPrice = 179;
}
var totalPrice = calcTotalPrice(ticketPrice, adultNumberValue);
totalPriceText.innerText = '$' + totalPrice;
totalPriceHidden.value = totalPrice;
});
var totalPrice = ticketTotalPrice + hotelTotalPrice;
if (!Number.isInteger(totalPrice)) {
totalPrice = totalPrice.toFixed(2);
}
var ticketDateList = document.querySelectorAll("input[name='ticket_date']");
var ticketTypePremium = document.getElementById("ticket_type_premium");
var vipTypePremium = document.getElementById("vip_type_premium");
totalPriceText.innerText = '$' + totalPrice;
totalPriceHidden.value = totalPrice;
}
var adultNumberNode = document.getElementById("adultNumberValue");
var hotelRoomNode = document.getElementById("hotel_room");
var stayLengthNode = document.getElementById("stay_length");
var ticketTypeList = document.querySelectorAll("input[name='ticket_type']");
var totalPriceText = document.getElementById("totalPriceText");
var totalPriceHidden = document.getElementById("totalPriceHidden");
var hotelChoiceBlock = document.getElementById("hotel_choice");
var premiumTicketLeft = document.getElementById("premium_ticket_left");
var vipTicketLeft = document.getElementById("vip_ticket_left");
var standardTicketLeft = document.getElementById("standard_ticket_left");
setNovember28thTicketLeft();
var adultNumberValue = parseInt(adultNumberNode.value);
var hotelRoomValue = parseInt(hotelRoomNode.value);
var stayLengthValue = parseInt(stayLengthNode.value);
var ticketPrice = 139;
var selectedTicketDate = '';
var selectedTicketType = '';
calcTotalPrice();
for (var i = 0; i < ticketTypeList.length; i++) {
var ticketTypeNode = ticketTypeList[i];
ticketTypeNode.addEventListener('click', function (event) {
var currentTarget = event.currentTarget;
selectedTicketType = currentTarget.id;
var adultNumberValue = parseInt(adultNumberNode.value);
if (selectedTicketType === 'Premium') {
ticketPrice = 199;
} else if (selectedTicketType === 'Premium_hotel') {
ticketPrice = 199;
} else if (selectedTicketType === 'VIP') {
ticketPrice = 179;
} else if (selectedTicketType === 'Standardr') {
ticketPrice = 139;
}
for (var i = 0; i < ticketDateList.length; i++) {
var ticketDateNode = ticketDateList[i];
ticketDateNode.addEventListener('click', function (event) {
var currentTarget = event.currentTarget;
if (currentTarget.id === 'november27th') {
ticketTypePremium.style.display = 'none';
// vipTypePremium.style.display = 'none';
setNovember27thTicketLeft();
} else { // november28th
ticketTypePremium.style.display = '';
// vipTypePremium.style.display = '';
setNovember28thTicketLeft();
}
});
}
if (selectedTicketType === 'Premium_hotel') {
hotelChoiceBlock.style.display = '';
} else {
hotelChoiceBlock.style.display = 'none';
}
calcTotalPrice();
});
}
function setNovember27thTicketLeft() {
premiumTicketLeft.innerText = '0 left';
vipTicketLeft.innerText = '74 left';
standardTicketLeft.innerText = '18 left';
}
var ticketDateList = document.querySelectorAll("input[name='ticket_date']");
var ticketTypePremium = document.getElementById("ticket_type_premium");
var vipTypePremium = document.getElementById("vip_type_premium");
var ticketTypeStandard = document.getElementById("ticket_type_standard");
var premiumOption = document.getElementById("Premium");
var vipOption = document.getElementById("VIP");
var standardOption = document.getElementById("Standard");
var premiumTicketLeft = document.getElementById("premium_ticket_left");
var vipTicketLeft = document.getElementById("vip_ticket_left");
var standardTicketLeft = document.getElementById("standard_ticket_left");
setNovember28thTicketLeft();
ticketTypePremium.style.display = 'none';
for (var i = 0; i < ticketDateList.length; i++) {
var ticketDateNode = ticketDateList[i];
ticketDateNode.addEventListener('click', function (event) {
var currentTarget = event.currentTarget;
selectedTicketDate = currentTarget.id;
if (currentTarget.id === 'november27th') {
ticketTypeStandard.style.display = 'none';
vipTypePremium.style.display = 'none';
// standardOption.disabled = true;
setNovember27thTicketLeft();
} else { // november28th
// ticketTypePremium.style.display = '';
ticketTypeStandard.style.display = '';
vipTypePremium.style.display = '';
// standardOption.disabled = false;
setNovember28thTicketLeft();
}
if (selectedTicketType === 'Premium_hotel') {
hotelChoiceBlock.style.display = '';
} else {
hotelChoiceBlock.style.display = 'none';
}
});
}
function setNovember28thTicketLeft() {
premiumTicketLeft.innerText = '148 left';
vipTicketLeft.innerText = '209 left';
standardTicketLeft.innerText = '170 left';
function setNovember27thTicketLeft() {
premiumTicketLeft.innerText = '30 left';
vipTicketLeft.innerText = '14 left';
standardTicketLeft.innerText = '0 left';
}
function setNovember28thTicketLeft() {
premiumTicketLeft.innerText = '35 left';
vipTicketLeft.innerText = '198 left';
standardTicketLeft.innerText = '149 left';
}
var plusButton = document.getElementById("plusButton");
var minusButton = document.getElementById("minusButton");
plusButton.addEventListener('click', function (event) {
adultNumberValue = parseInt(adultNumberNode.value) + 1;
adultNumberNode.value = adultNumberValue;
calcTotalPrice();
});
minusButton.addEventListener('click', function (event) {
var beforeValue = parseInt(adultNumberNode.value);
if (beforeValue > 1) {
adultNumberValue = beforeValue - 1;
adultNumberNode.value = adultNumberValue;
calcTotalPrice();
}
var plusButton = document.getElementById("plusButton");
var minusButton = document.getElementById("minusButton");
plusButton.addEventListener('click', function (event) {
var adultNumberValue = parseInt(adultNumberNode.value) + 1;
adultNumberNode.value = adultNumberValue;
var totalPrice = calcTotalPrice(ticketPrice, adultNumberValue);
totalPriceText.innerText = '$' + totalPrice;
totalPriceHidden.value = totalPrice;
});
minusButton.addEventListener('click', function (event) {
var beforeValue = parseInt(adultNumberNode.value);
if (beforeValue > 1) {
var adultNumberValue = beforeValue - 1;
adultNumberNode.value = adultNumberValue;
var totalPrice = calcTotalPrice(ticketPrice, adultNumberValue);
totalPriceText.innerText = '$' + totalPrice;
totalPriceHidden.value = totalPrice;
}
});
});
var plusRoomBtn = document.getElementById("plusRoomBtn");
var minusRoomBtn = document.getElementById("minusRoomBtn");
var plusStayBtn = document.getElementById("plusStayBtn");
var minusStayBtn = document.getElementById("minusStayBtn");
plusRoomBtn.addEventListener('click', function (event) {
hotelRoomValue = parseInt(hotelRoomNode.value) + 1;
hotelRoomNode.value = hotelRoomValue;
calcTotalPrice();
});
minusRoomBtn.addEventListener('click', function (event) {
var beforeValue = parseInt(hotelRoomNode.value);
if (beforeValue > 1) {
hotelRoomValue = beforeValue - 1;
hotelRoomNode.value = hotelRoomValue;
calcTotalPrice();
}
});
plusStayBtn.addEventListener('click', function (event) {
stayLengthValue = parseInt(stayLengthNode.value) + 1;
stayLengthNode.value = stayLengthValue;
calcTotalPrice();
});
minusStayBtn.addEventListener('click', function (event) {
var beforeValue = parseInt(stayLengthNode.value);
if (beforeValue > 1) {
stayLengthValue = beforeValue - 1;
stayLengthNode.value = stayLengthValue;
calcTotalPrice();
}
});
</script>
<script>
var submit_ticket_button = document.getElementById("submit_ticket_button");
@ -534,3 +640,16 @@
return result;
}
</script>
<style>
#hotel_choice { display: inline-block;}
.selectionMemo {
font-size: 18px;
line-height: 17px;
}
@media (min-width: 751px){
.optionLable {
width: 31.8%;
}}
</style>
<!--AH-Lantern-From-->

@ -324,7 +324,7 @@
</div>
</div>
</header>
<div class="updated_news">How to Plan an Incredible Family Trip to Japan in 2023/2024. <a
<div class="updated_news">How to Plan an Incredible Family Trip to Japan in 2024/2025. <a
href="/japan/how-to-plan-a-family-trip-to-japan">Learn more.</a></div>
<!--PC头部 结束-->
@ -613,7 +613,7 @@
<img src="https://data.asiahighlights.com/grey.gif"
originalsrc="https://data.chinahighlights.com/image/asia/asia-highlights-bottom-logo.png" width="114"
height="71" loader="lazy" class="img-responsive bottomlogopc">
<span class="bottomcopyright">© 2016-2023 Asia Highlights — Discovery Your Way! </span>
<span class="bottomcopyright">© 2016-2024 Asia Highlights — Discovery Your Way! </span>
<span class="bottomprivacy"><a href="/privacy">Privacy Policy</a> | <a href="/terms-of-use">Terms</a></span>
</div>

@ -1,13 +1,10 @@
<div class="content_article">
<div class="infopage_ad_content">
<?php if (!empty($recommands['Content Article A']) || !empty($recommands['Content Article B']) || !empty($recommands['Content Article C']) || !empty($recommands['Content Article D'])) { ?>
<div class="content_article_title">Recommended Articles</div>
<div class="table-responsive">
<table class="content_article">
<tbody>
<tr>
<div class="content_article_title">You might be interested in:</div>
<?php if (!empty($recommands['Content Article A'])) { ?>
<td>
<div class="infopage_ad">
<a href="<?php echo $recommands['Content Article A']->ic_url; ?>"> <img
src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Content Article A']->mobile_photo; ?>"
@ -20,11 +17,11 @@
<div class="content_article_button"><a
href="<?php echo $recommands['Content Article A']->ic_url; ?>"></a>
</div>
</td>
</div>
<?php } ?>
<?php if (!empty($recommands['Content Article B'])) { ?>
<td>
<div class="infopage_ad">
<a href="<?php echo $recommands['Content Article B']->ic_url; ?>"> <img
src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Content Article B']->mobile_photo; ?>"
@ -37,12 +34,12 @@
<div class="content_article_button"><a
href="<?php echo $recommands['Content Article B']->ic_url; ?>"></a>
</div>
</td>
</div>
<?php } ?>
<?php if (!empty($recommands['Content Article C'])) { ?>
<td>
<div class="infopage_ad">
<a href="<?php echo $recommands['Content Article C']->ic_url; ?>"> <img
src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Content Article C']->mobile_photo; ?>"
@ -55,11 +52,11 @@
<div class="content_article_button"><a
href="<?php echo $recommands['Content Article C']->ic_url; ?>"></a>
</div>
</td>
</div>
<?php } ?>
<?php if (!empty($recommands['Content Article D'])) { ?>
<td>
<div class="infopage_ad hidden-xs">
<a href="<?php echo $recommands['Content Article D']->ic_url; ?>"> <img
src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Content Article D']->mobile_photo; ?>"
@ -72,12 +69,12 @@
<div class="content_article_button"><a
href="<?php echo $recommands['Content Article D']->ic_url; ?>"></a>
</div>
</td>
</div>
<?php } ?>
<?php if (!empty($recommands['Content Article E'])) { ?>
<td>
<div class="infopage_ad hidden-xs">
<a href="<?php echo $recommands['Content Article E']->ic_url; ?>"> <img
src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Content Article E']->mobile_photo; ?>"
@ -90,12 +87,12 @@
<div class="content_article_button"><a
href="<?php echo $recommands['Content Article E']->ic_url; ?>"></a>
</div>
</td>
</div>
<?php } ?>
<?php if (!empty($recommands['Content Article F'])) { ?>
<td>
<div class="infopage_ad hidden-xs">
<a href="<?php echo $recommands['Content Article F']->ic_url; ?>"> <img
src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Content Article F']->mobile_photo; ?>"
@ -108,46 +105,7 @@
<div class="content_article_button"><a
href="<?php echo $recommands['Content Article F']->ic_url; ?>"></a>
</div>
</td>
<?php } ?>
<?php if (!empty($recommands['Content Article G'])) { ?>
<td>
<a href="<?php echo $recommands['Content Article G']->ic_url; ?>"> <img
src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Content Article G']->mobile_photo; ?>"
class="img-responsive"
alt="<?php echo $recommands['Content Article G']->ic_title; ?>"></a>
<div class="content_article_name"><a
href="<?php echo $recommands['Content Article G']->ic_url; ?>"> <?php echo $recommands['Content Article G']->ic_title; ?> </a>
</div>
<div class="content_article_button"><a
href="<?php echo $recommands['Content Article G']->ic_url; ?>"></a>
</div>
</td>
<?php } ?>
<?php if (!empty($recommands['Content Article H'])) { ?>
<td>
<a href="<?php echo $recommands['Content Article H']->ic_url; ?>"> <img
src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Content Article H']->mobile_photo; ?>"
class="img-responsive"
alt="<?php echo $recommands['Content Article H']->ic_title; ?>"></a>
<div class="content_article_name"><a
href="<?php echo $recommands['Content Article H']->ic_url; ?>"> <?php echo $recommands['Content Article H']->ic_title; ?> </a>
</div>
<div class="content_article_button"><a
href="<?php echo $recommands['Content Article H']->ic_url; ?>"></a>
</div>
</td>
</div>
<?php } ?>
</tr>
</tbody>
</table>
</div>
<?php } ?>
</div>

@ -1,13 +1,9 @@
<div class="content_article">
<div class="infopage_ad_content">
<?php if (!empty($recommands['Content Tour A']) || !empty($recommands['Content Tour B']) || !empty($recommands['Content Tour C']) || !empty($recommands['Content Tour D'])) { ?>
<div class="content_article_title">Recommended Tours</div>
<div class="table-responsive">
<table class="content_article">
<tbody>
<tr>
<div class="content_article_title">You might be interested in:</div>
<?php if (!empty($recommands['Content Tour A'])) { ?>
<td>
<div class="infopage_ad">
<a href="<?php echo $recommands['Content Tour A']->ic_url; ?>"> <img
src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Content Tour A']->mobile_photo; ?>"
@ -20,11 +16,11 @@
<div class="content_article_button"><a
href="<?php echo $recommands['Content Tour A']->ic_url; ?>"></a>
</div>
</td>
</div>
<?php } ?>
<?php if (!empty($recommands['Content Tour B'])) { ?>
<td>
<div class="infopage_ad">
<a href="<?php echo $recommands['Content Tour B']->ic_url; ?>"> <img
src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Content Tour B']->mobile_photo; ?>"
@ -37,12 +33,12 @@
<div class="content_article_button"><a
href="<?php echo $recommands['Content Tour B']->ic_url; ?>"></a>
</div>
</td>
</div>
<?php } ?>
<?php if (!empty($recommands['Content Tour C'])) { ?>
<td>
<div class="infopage_ad">
<a href="<?php echo $recommands['Content Tour C']->ic_url; ?>"> <img
src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Content Tour C']->mobile_photo; ?>"
@ -55,11 +51,11 @@
<div class="content_article_button"><a
href="<?php echo $recommands['Content Tour C']->ic_url; ?>"></a>
</div>
</td>
</div>
<?php } ?>
<?php if (!empty($recommands['Content Tour D'])) { ?>
<td>
<div class="infopage_ad">
<a href="<?php echo $recommands['Content Tour D']->ic_url; ?>"> <img
src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Content Tour D']->mobile_photo; ?>"
@ -72,12 +68,12 @@
<div class="content_article_button"><a
href="<?php echo $recommands['Content Tour D']->ic_url; ?>"></a>
</div>
</td>
</div>
<?php } ?>
<?php if (!empty($recommands['Content Tour E'])) { ?>
<td>
<div class="infopage_ad">
<a href="<?php echo $recommands['Content Tour E']->ic_url; ?>"> <img
src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Content Tour E']->mobile_photo; ?>"
@ -90,12 +86,12 @@
<div class="content_article_button"><a
href="<?php echo $recommands['Content Tour E']->ic_url; ?>"></a>
</div>
</td>
</div>
<?php } ?>
<?php if (!empty($recommands['Content Tour F'])) { ?>
<td>
<div class="infopage_ad">
<a href="<?php echo $recommands['Content Tour F']->ic_url; ?>"> <img
src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Content Tour F']->mobile_photo; ?>"
@ -108,47 +104,8 @@
<div class="content_article_button"><a
href="<?php echo $recommands['Content Tour F']->ic_url; ?>"></a>
</div>
</td>
</div>
<?php } ?>
<?php if (!empty($recommands['Content Tour G'])) { ?>
<td>
<a href="<?php echo $recommands['Content Tour G']->ic_url; ?>"> <img
src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Content Tour G']->mobile_photo; ?>"
class="img-responsive"
alt="<?php echo $recommands['Content Tour G']->ic_title; ?>"></a>
<div class="content_article_name"><a
href="<?php echo $recommands['Content Tour G']->ic_url; ?>"> <?php echo $recommands['Content Tour G']->ic_title; ?> </a>
</div>
<div class="content_article_button"><a
href="<?php echo $recommands['Content Tour G']->ic_url; ?>"></a>
</div>
</td>
<?php } ?>
<?php if (!empty($recommands['Content Tour H'])) { ?>
<td>
<a href="<?php echo $recommands['Content Tour H']->ic_url; ?>"> <img
src="https://data.asiahighlights.com/grey.gif" loader="lazy"
originalsrc="<?php echo $recommands['Content Tour H']->mobile_photo; ?>"
class="img-responsive"
alt="<?php echo $recommands['Content Tour H']->ic_title; ?>"></a>
<div class="content_article_name"><a
href="<?php echo $recommands['Content Tour H']->ic_url; ?>"> <?php echo $recommands['Content Tour H']->ic_title; ?> </a>
</div>
<div class="content_article_button"><a
href="<?php echo $recommands['Content Tour H']->ic_url; ?>"></a>
</div>
</td>
<?php } ?>
</tr>
</tbody>
</table>
</div>
<?php } ?>
</div>

@ -3,12 +3,12 @@
<div class="all_width_content">
<div class="form_content">
<div class="list_tmbottom">
<h3 style="text-align:center;">Start planning your tailor-made tour now. Your 1:1 travel consultant will
<h3 style="text-align:center;">Inquire now. Your 1:1 travel consultant will
reply within 1 working day.</h3>
<form action="/orders/quick_inquiry_save" method="post" novalidate="" id="tour_list_form">
<textarea name="additional_requirements"
placeholder="Tell us your travel requirements here: anniversary, honeymoon, family trip, birthday travel, beach, food... (optional)"
placeholder="E.g.: This is a big trip for anniversary, honeymoon, birthday celebration..."
style="height:80px;"></textarea>
<div class="selectionBlock" style="margin-bottom: 0;">
@ -157,19 +157,19 @@
<div class="travel_group date_select">
<input type="radio" value="exact travel dates" id="exact" name="trip_date">
<label for="exact" class="family">
I have exact travel dates.
Exact travel dates
</label>
</div>
<div class="travel_group date_select">
<input type="radio" value="approximate travel dates" id="approximate" name="trip_date">
<label for="approximate" class="couple">
I have approximate travel dates.
Approximate travel dates
</label>
</div>
<div class="travel_group date_select">
<input type="radio" value="haven't decided travel dates" id="yet" name="trip_date">
<label for="yet" class="solo">
I haven't decided my travel dates.
Undecided travel dates
</label>
</div>
<div class="trip_date_length" id="tripDateBlock" style="display: none">
@ -201,14 +201,7 @@
<div id="starting_date_errmsg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Please enter your starting date</div>
</div>-->
<p style="font-size: 17px;
color: #555;
margin-top: -5px;
margin-bottom: 5px;
font-style: italic;
padding-left: 0;
line-height: 20px;
">Having a phone number, especially with WhatsApp/iMessage capability will improve communication efficiency.</p>
<select name="country_code" class="country_code">
<option style="font-weight: 600;" value="United States +1">United States&nbsp; &nbsp;+1</option>
<option style="font-weight: 600;" value="United Kingdom +44">United Kingdom&nbsp; &nbsp;+44</option>
@ -463,7 +456,7 @@
<option value="Åland Islands +385">Åland Islands&nbsp; &nbsp;+35818</option>
</select>
<input class="Inquiryphone" id="PhoneNo" name="PhoneNo"
placeholder="Phone number (We'll only call if you ask.) *" type="tel" value="" />
placeholder="Phone number *" type="tel" value="" />
<div id="contact_errmsg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Please enter your phone number.</div>
</div>

@ -52,7 +52,7 @@
</div>
</header>
<div class="updated_news">How to Plan an Incredible Family Trip to Japan in 2023/2024. <a
<div class="updated_news">How to Plan an Incredible Family Trip to Japan in 2024/2025. <a
href="/japan/how-to-plan-a-family-trip-to-japan">Learn more.</a></div>
<nav id="ml-menu" class="menu">
<div class="siteSearch">
@ -561,7 +561,7 @@
</div>
</div>
<div class="bottomlogo">
© 2016-2023 Asia Highlights <br>— Discovery Your Way!
© 2016-2024 Asia Highlights <br>— Discovery Your Way!
</div>
<div class="web_cookie" id='gotIdArea' style='display: none;'>
<p>Asia Highlights uses cookies to give you the best possible service. If you continue browsing, you agree to the

@ -1,7 +1,7 @@
<div class="tripnotes" collapse="" collapse-status="hide" data-target="tripnotes" data-target-icon="day4Icon" style="font-size: 25px;
color: #ad1818;
font-weight: 600;
font-family: 'Goudy Old Style';">Your 1:1 travel consultant will reply within 1 working day. Over 50% of our clients complete their bookings within 10 days of submitting their inquiry.<span class="OpenIcon" id="day4Icon"></span></div>
font-family: 'Goudy Old Style';">Your 1:1 travel consultant will reply within 1 working day.<span class="OpenIcon" id="day4Icon"></span></div>
<div class="tripnotescontent" collapse-content="" id="tripnotes" style="display: none; box-sizing: border-box;">
<div class="tmbottom" style="padding-top: 60px; margin-top: 0;">
@ -10,7 +10,7 @@
name="quick_inquiry_form" novalidate="">
<div class="InquiryBox">
<textarea id="form_additionalrequirements" name="additional_requirements"
placeholder="Tell us your travel requirements here: anniversary, honeymoon, family trip, birthday travel, beach, food... (optional)"></textarea>
placeholder="E.g.: This is a big trip for anniversary, honeymoon, birthday celebration..."></textarea>
<div class="selectionBlock">
<p style=" text-align: left; font-weight: 400; padding-bottom: 0;">
Number in your group
@ -211,13 +211,7 @@
<span id="email_errmsg" style="display: none"><span class="requiredArea">Please enter your email.</span></span>
<span id="email_verify_errmsg" style="display: none"><span class="requiredArea">Please verify your email.</span></span>
</p>
<!-- <p>
<span class="inquiry_form_tag"><img src="https://data.chinahighlights.com/pic/top10/tour-calendar.png">
<span class="form_required">*</span></span>
<input class="InquiryCalendar" data-min-date="7" id="starting_date"
name="date_start" placeholder="Starting date" readonly="readonly"
type="text"/><span id="starting_date_errmsg" style="display: none"><span
class="requiredArea">Please enter your starting date.</span></span></p>-->
<p>
<select name="country_code" class="country_code">
<option style="font-weight: 600;" value="United States +1">United States&nbsp; &nbsp;+1</option>
@ -473,9 +467,9 @@
<option value="Åland Islands +385">Åland Islands&nbsp; &nbsp;+35818</option>
</select>
<input class="Inquiryphone" id="PhoneNo" name="PhoneNo"
placeholder="Phone number (We'll only call if you ask.)*" type="tel"/></p>
placeholder="Phone number *" type="tel"/></p>
<span id="phone_errmsg" style="display: none"><span class="requiredArea">Please enter your phone number.</span></span>
<p style="font-size: 18px;color: #555;margin-top: -10px;margin-bottom: 5px;font-style: italic;padding-left: 0;line-height: 20px;text-align: left;font-weight: 300;">Having a phone number, especially with WeChat/WhatsApp capability will improve communication efficiency.</p>
<p style="margin-top: 0;margin-bottom: 10px;padding: 0;text-align: left;font-size: 20px;font-weight: 300;">I prefer to be contacted via:</p>
<div class="checkYes"><label for="WeChat"><input class="checkBorder" id="WeChat" name="contact_via_WeChat" type="checkbox" value="yes">WeChat</label></div>
<div class="checkYes"><label for="WhatsApp"><input class="checkBorder" id="WhatsApp" name="contact_via_WhatsApp" type="checkbox" value="yes">WhatsApp </label></div>

@ -1,12 +1,12 @@
<div class="tmbottom">
<p style="padding: 15px 15px 30px 15px;">Your 1:1 travel consultant will reply within 1 working day. Over 50% of our clients complete their bookings within 10 days of submitting their inquiry.</p>
<p style="padding: 15px 15px 30px 15px;">Your 1:1 travel consultant will reply within 1 working day.</p>
<form action="https://www.chinahighlights.com/secureforms/qi_save" id="quick_inquiry_form" method="post"
name="quick_inquiry_form" novalidate="">
<div class="InquiryBox">
<textarea id="form_additionalrequirements" name="additional_requirements"
placeholder="Tell us your travel requirements here: anniversary, honeymoon, family trip, birthday travel, beach, food... (optional)"></textarea>
placeholder="E.g.: This is a big trip for anniversary, honeymoon, birthday celebration..."></textarea>
<div class="selectionBlock">
<p style=" text-align: left; font-weight: 400;">
<p style=" text-align: left; font-weight: 400; padding-bottom: 0;">
Number in your group
</p>
<div id="group_error_msg" style="display: none">
@ -140,6 +140,34 @@ margin-bottom: -25px;
</div>
</div>
<div class="selectionBlock">
<p style=" text-align: left; font-weight: 400; padding-bottom: 0;">
What's your hotel choice?
</p>
<div id="group_error_msg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Please select your hotel style.</div>
</div>
<div class="hotel_group">
<input type="radio" value="Luxury (5 stars & up)" id="Luxury" name="hotel">
<label for="Luxury" class="hotel_pick">
Luxury <em>(5 stars & up)</em>
</label>
</div>
<div class="hotel_group">
<input type="radio" value="Handpicked Comfort (4-5 stars)" id="Handpicked" name="hotel">
<label for="Handpicked" class="hotel_pick">
Handpicked Comfort <em>(4-5 stars)</em>
</label>
</div>
<div class="hotel_group">
<input type="radio" value="Standard (3 stars)" id="Standard" name="hotel">
<label for="Standard" class="hotel_pick">
Standard <em>(3 stars)</em>
</label>
</div>
</div>
<p>
<span class="inquiry_form_tag"><img src="https://data.chinahighlights.com/pic/input-name.png">
<span class="form_required">*</span>
@ -417,9 +445,9 @@ margin-bottom: -25px;
<option value="Åland Islands +385">Åland Islands&nbsp; &nbsp;+35818</option>
</select>
<input class="Inquiryphone" id="PhoneNo" name="PhoneNo"
placeholder="Phone number (We'll only call if you ask.)*" type="tel"/></p>
placeholder="Phone number *" type="tel"/></p>
<span id="phone_errmsg" style="display: none"><span class="requiredArea">Please enter your phone number.</span></span>
<p style="font-size: 18px;color: #555;margin-top: -10px;margin-bottom: 5px;font-style: italic;padding-left: 0;line-height: 20px;text-align: left;font-weight: 300;">Having a phone number, especially with WeChat/WhatsApp capability will improve communication efficiency.</p>
<p style="margin-top: 0;margin-bottom: 10px;padding: 0;text-align: left;font-size: 20px;font-weight: 300;">I prefer to be contacted via:</p>
<div class="checkYes"><label for="WeChat"><input class="checkBorder" id="WeChat" name="contact_via_WeChat" type="checkbox" value="yes">WeChat</label></div>
<div class="checkYes"><label for="WhatsApp"><input class="checkBorder" id="WhatsApp" name="contact_via_WhatsApp" type="checkbox" value="yes">WhatsApp </label></div>

@ -61,7 +61,7 @@
<div class="chinatourspc dropdown-content">
<ul class="list-reset sidebar">
<li class="start-nav-item"><a href="/tour/year.htm" id="tours_year_2021">China Tours
2023/2024</a></li>
2024/2025</a></li>
<li class="start-nav-item"><a href="/tour/expats-tours.htm"
id="china_expats_tours_2021">China Expats Tours</a></li>
<li class="start-nav-item"><a href="/tour/winter-vacation/"
@ -305,7 +305,7 @@
</div>
</header>
<div class="updated_news">
<div class="list_content">Top 10 China tours 2023/2024 for first visits and returns: embark on a lifetime
<div class="list_content">Top 10 China tours 2024/2025 for first visits and returns: embark on a lifetime
experience. <a href="/tour/top-china-tours/" id="updated_news_new_year_2022_pc">Learn
more</a></div>
</div>
@ -636,7 +636,6 @@
</ul>
<div class="bottomaboutuslinks">
<div class="bottomlinksleft">
<ul class="withBorder">
<li><a href="https://www.asiahighlights.com/" target="_blank">Asia</a></li>
<li><a href="https://www.globalhighlights.com/" target="_blank">Global</a></li>
@ -662,7 +661,7 @@
<div class="list_content">
<img src="https://data.chinahighlights.com/pic/guide/info-template-bottom-logo.jpg" width="114" height="71"
class="img-responsive bottomlogopc">
<span class="bottomcopyright">© 1998-2023 China Highlights — Discovery Your Way! </span>
<span class="bottomcopyright">© 1998-2024 China Highlights — Discovery Your Way! </span>
</div>
</div>
<div class="web_cookie" style='display: none;' id='gotIdArea'>

@ -44,17 +44,18 @@
<!--头部导航-->
<header class="headerbar" id="header">
<div role="button" class="topnavibutton">
<a href="/"> <img src="https://data.chinahighlights.com/image/aboutus/china-highlights-brand-logo-mobile.png"
width="255" height="64" alt="chinahighlights logo" class="chinahighlightslogo img-responsive"></a>
<img src="https://data.chinahighlights.com/image/tour-detail/icon/top-navigation-menu-button.jpg" class="navimenu topnaviarrowdown action--open" width="26px" height="25px" style="position: relative; left: 10px; top: 12px; z-index: 9;">
<a href="/" style="width: 100%;
display: inline-block;
position: relative;
top: -30px;"> <img src="https://data.chinahighlights.com/pic/logo/china-highlights-top-navigation-logo.png" width="255" height="64" alt="chinahighlights logo" class="chinahighlightslogo img-responsive"></a>
<div class="topnavitailor">
<a href="/contactus/?product_code=" class="infocustomize">Contact Us</a>
<img src="https://data.chinahighlights.com/image/tour-detail/icon/top-navigation-menu-button.jpg"
class="navimenu topnaviarrowdown action--open" width="26px" height="25px">
<a href="/contactus/?product_code=" class="infocustomize">Contact</a>
</div>
</div>
</header>
<div class="updated_news">
<div class="list_content">Top 10 China tours 2023/2024 for first visits and returns: embark on a lifetime
<div class="list_content">Top 10 China tours 2024/2025 for first visits and returns: embark on a lifetime
experience. <a href="/tour/top-china-tours/" id="updated_news_new_year_2022_pc">Learn more</a>
</div>
</div>
@ -113,7 +114,7 @@
</li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/tour/family-tours/">Family Tours</a>
</li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/tour/year.htm">China Tours 2023/2024</a>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/tour/year.htm">China Tours 2024/2025</a>
</li>
<li class="menu__item" role="menuitem"><a class="menu__link" href="/tour/china-panda-tours/">Panda Tours</a>
</li>
@ -582,7 +583,6 @@
</ul>
</div>
<div class="bottomlinks">
<span class="followtitle"><a href="/aboutus/">About Us</a></span>
<ul>
@ -608,7 +608,7 @@
</div>
</div>
<div class="bottomlogo">
© 1998-2023 China Highlights <br>— Discovery Your Way!
© 1998-2024 China Highlights <br>— Discovery Your Way!
</div>
</footer>
<div class="web_cookie" style='display: none;' id='gotIdArea'>

@ -1,21 +1,15 @@
<div class="tripnotes" collapse="" collapse-status="hide" data-target="tripnotes" data-target-icon="day4Icon" style="font-size: 25px;
color: #ad1818;
font-weight: 600;
font-family: 'Goudy Old Style';">Your 1:1 travel consultant will reply within 1 working day. Over 50% of our clients complete their bookings within 10 days of submitting their inquiry.<span class="OpenIcon" id="day4Icon"></span></div>
font-family: 'Goudy Old Style';">Your 1:1 travel consultant will reply within 1 working day.<span class="OpenIcon" id="day4Icon"></span></div>
<div class="tripnotescontent" collapse-content="" id="tripnotes" style="display: none; box-sizing: border-box;">
<div class="info_page_inquiry">
<!-- <div class="contactwechat">
<img alt="global highlights' wechat code" height="100px" src="https://data.globalhighlights.com/image/aboutus/gh-whatsapp-qr-code.jpg" width="100px">
<div class="wechatinfo">Scan and add us on WhatsApp: <span class="wechatred">+86 15807734776</span>
Email: contact@globalhighlights.com
</div>
</div>-->
<form action="/forms/inquiry_save" id="info_page_form" method="post">
<div class="InquiryFormBox">
<div class="FieldSet">
<textarea id="additionalrequirements" name="additional_requirements"
placeholder="Anniversary, honeymoon, family trip, birthday travel, beach, food..." style="margin-bottom:20px;"></textarea>
placeholder="E.g.: This is a big trip for anniversary, honeymoon, birthday celebration..." style="margin-bottom:20px;"></textarea>
<div class="selectionBlock" style="margin-bottom: 0;">
<p style="
margin-bottom: 0px;
@ -473,12 +467,10 @@
<option value="Zimbabwe +263">Zimbabwe&nbsp; &nbsp;+263</option>
<option value="Åland Islands +385">Åland Islands&nbsp; &nbsp;+358</option>
</select>
<input class="Inquiryphone" name="PhoneNo" placeholder="Phone or other ways to contact you (optional)"
<input class="Inquiryphone" name="PhoneNo" placeholder="Phone number *"
type="text">
<span id="phone_errmsg" style="display: none"><span class="requiredArea">Please enter your phone number.</span></span>
<p style="font-size: 17px;font-style:italic;line-height: 20px; color: #555; margin-bottom: 5px;">Having a phone
number, especially with WhatsApp/iMessage capability will improve communication
efficiency.</p>
<p style=" margin-bottom: 5px;
padding: 0;
color: #000;
@ -493,14 +485,14 @@
class="checkBorder " id="contact iMessage" name="contact_via_iMessage"
type="checkbox" value="yes" style="width:auto !important;">iMessage</label>
</div>
<div class="checkYes" style="color:#000;"> <label for="contact Phone"><input
class="checkBorder " id="contact Phone" name="contact_via_phone_call"
<div class="checkYes" style="color:#000;"> <label for="contact_via_phone_call"><input
class="checkBorder " id="contact_via_phone_call" name="contact_via_phone_call"
type="checkbox" value="yes" style="width:auto !important;">Phone call</label></div>
<div class="checkYes" style="color:#000;"> <label for="Email"><input
class="checkBorder " id="Email" name="contact_via_email"
<div class="checkYes" style="color:#000;"> <label for="contact_via_email"><input
class="checkBorder " id="contact_via_email" name="contact_via_email"
type="checkbox" value="yes" style="width:auto !important;">Email</label></div>
<div class="checkYes" style="color:#000;"> <label for="contact Video"><input
class="checkBorder " id="contact Video" name="contact_via_video_appointment"
<div class="checkYes" style="color:#000;"> <label for="contact_via_video_appointment"><input
class="checkBorder " id="contact_via_video_appointment" name="contact_via_video_appointment"
type="checkbox" value="yes" style="width:auto !important;">Video appointment</label></div>
<input name="nullemail" placeholder="Your alternative email?" type="hidden">
@ -839,3 +831,9 @@
.date_select {width: 93% !important; margin-bottom: 0 !important;}
}
</style>
<script src="https://data.globalhighlights.com/js/jquery.mailAutoComplete-4.0.min.js"></script><script>
$("#email").mailAutoComplete({
email: ['gmail.com','outlook.com','yahoo.com','icloud.com','hotmail.com','live.com','aol.com']
});
</script>

@ -445,7 +445,7 @@
<div class="footerbox">
<img src="https://data.chinahighlights.com/image/aboutus/gh-bottom-logo.png"
class="img-responsive bottomlogopc">
<div class="bottomcopyright">© 2018-2023 Global Highlights — Discovery Your Way! </div>
<div class="bottomcopyright">© 2018-2024 Global Highlights — Discovery Your Way! </div>
<div class="bottomprivacy"><a href="/privacy.htm">Privacy Policy</a> | <a href="/terms-of-use.htm">Terms</a>
</div>
</div>
@ -543,6 +543,14 @@
return result;
}
</script>
<script src="https://data.globalhighlights.com/js/jquery-1.8.2.min.js"></script>
<script src="https://data.globalhighlights.com/js/jquery.mailAutoComplete-4.0.min.js"></script>
<script>
$("#newsletter_email").mailAutoComplete({
email: ['gmail.com','outlook.com','yahoo.com','icloud.com','hotmail.com','live.com','aol.com']
});
</script>
<!--@IN-ARTICLE-GOOGLE@-->
<script type="application/ld+json">
{

@ -1,10 +1,10 @@
<div class="ghwhyus">
<p class="contactus">Your 1:1 travel consultant will reply within 1 working day. Over 50% of our clients complete their bookings within 10 days of submitting their inquiry.</p>
<p class="contactus">Your 1:1 travel consultant will reply within 1 working day.</p>
<form action="/forms/inquiry_save" id="tourForm" method="post">
<div class="InquiryFormBox">
<div class="FieldSet">
<textarea id="additionalrequirements" name="additional_requirements" placeholder="Tell us your travel requirements here: anniversary, honeymoon, family trip, birthday travel, beach, food... (optional)" style="margin-bottom:20px;"></textarea>
<textarea id="additionalrequirements" name="additional_requirements" placeholder="E.g.: This is a big trip for anniversary, honeymoon, birthday celebration..." style="margin-bottom:20px;"></textarea>
<div class="selectionBlock">
<h4 style="margin-bottom: 0;margin-top: 0; font-weight: 400;">
How would you travel?
@ -156,13 +156,39 @@
<div class="trip_date_length" id="tripDateBlock" style="display: none">
<p style="clear: both;margin-bottom: 10px;" id="trip_date_tip">Select your travel date.</p>
<div id="dateSelectionBlock">
<div id='flatpickrBlock'>
<input class="InquiryCalendar datepicker" id="starting_date" name="date_start" placeholder="Starting date *" readonly="readonly" type="text" value="" />
<div id="flatpickrBlock">
<input class="InquiryCalendar datepicker flatpickr-input" id="starting_date" name="date_start" placeholder="Starting date *" type="hidden" value="">
</div>
<input type="month" id="expectedMonth" name="expected_month" placeholder="Select your expected travel date.">
</div>
</div>
</div>
<div class="selectionBlock">
<h4 style="margin-top: 0; margin-bottom: 0;font-weight: 400;">
What's your hotel choice?
</h4>
<div class="travel_group date_select">
<input type="radio" value="Luxury (5 stars & up)" id="Luxury" name="hotel">
<label for="Luxury" class="family">
Luxury <em>(5 stars & up)</em>
</label>
</div>
<div class="travel_group date_select">
<input type="radio" value="Handpicked Comfort (4-5 stars)" id="Handpicked" name="hotel">
<label for="Handpicked" class="couple">
Handpicked Comfort <em>(4-5 stars)</em>
</label>
</div>
<div class="travel_group date_select">
<input type="radio" value="Standard (3 stars)" id="Standard" name="hotel">
<label for="Standard" class="solo">
Standard <em>(3 stars)</em>
</label>
</div>
</div>
<p><input class="FullName" data-required="Please enter your fullname" id="realname" name="name" placeholder="Your name *" type="text"></p>
<div id="realname_errmsg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Please enter your name.</div>
@ -429,22 +455,20 @@
<option value="Zimbabwe +263">Zimbabwe&nbsp; &nbsp;+263</option>
<option value="Åland Islands +385">Åland Islands&nbsp; &nbsp;+35818</option>
</select>
<input class="Inquiryphone" name="PhoneNo" id="PhoneNo" placeholder="Phone number" type="text">
<input class="Inquiryphone" name="PhoneNo" id="PhoneNo" placeholder="Phone number *" type="text">
</p>
<div id="contact_errmsg" style="display: none">
<div class="requiredArea" style="margin-top:-10px;">Please enter your phone number.</div> </div>
<p style="font-size: 17px;font-style:italic;line-height: 20px; color: #555;">Having a phone
number, especially with WhatsApp/iMessage capability will improve communication
efficiency.</p>
<p style="margin-top: 0;margin-bottom: 10px;padding: 0;color: #000;font-size: 20px;">I prefer to
be contacted via:</p>
<div class="checkYes" style="color:#000;"> <label for="whatsapp"><input class="checkBorder " id="whatsapp" name="contact_via_WhatsApp" type="checkbox" value="yes" style="width:auto !important;">WhatsApp</label>
</div>
<div class="checkYes" style="color:#000;"> <label for="iMessage"><input class="checkBorder " id="iMessage" name="contact_via_iMessage" type="checkbox" value="yes" style="width:auto !important;">iMessage</label>
</div>
<div class="checkYes" style="color:#000;"> <label for="Phone"><input class="checkBorder " id="Phone" name="contact_via_phone_call" type="checkbox" value="yes" style="width:auto !important;">Phone call</label></div>
<div class="checkYes" style="color:#000;"> <label for="Email"><input class="checkBorder " id="Email" name="contact_via_email" type="checkbox" value="yes" style="width:auto !important;">Email</label></div>
<div class="checkYes" style="color:#000;"> <label for="Video"><input class="checkBorder " id="Video" name="contact_via_video_appointment" type="checkbox" value="yes" style="width:auto !important;">Video appointment</label></div>
<div class="checkYes" style="color:#000;"> <label for="contact_via_phone_call"><input class="checkBorder " id="contact_via_phone_call" name="contact_via_phone_call" type="checkbox" value="yes" style="width:auto !important;">Phone call</label></div>
<div class="checkYes" style="color:#000;"> <label for="contact_via_email"><input class="checkBorder " id="contact_via_email" name="contact_via_email" type="checkbox" value="yes" style="width:auto !important;">Email</label></div>
<div class="checkYes" style="color:#000;"> <label for="contact_via_video_appointment"><input class="checkBorder " id="contact_via_video_appointment" name="contact_via_video_appointment" type="checkbox" value="yes" style="width:auto !important;">Video appointment</label></div>
<input name="nullemail" placeholder="Your alternative email?" type="hidden">
<input name="product_code" type="hidden" value="<?php echo $meta_product_code; ?>"/>
<button class="sendButton" id="tourFormBtn" type="button">
@ -659,3 +683,9 @@ $(function () {
});
})
</script>
<script src="https://data.globalhighlights.com/js/jquery.mailAutoComplete-4.0.min.js"></script><script>
$("#email").mailAutoComplete({
email: ['gmail.com','outlook.com','yahoo.com','icloud.com','hotmail.com','live.com','aol.com']
});
</script>

@ -69,14 +69,11 @@
<!-- End Google Tag Manager (noscript) -->
<header class="headerbar" id="header">
<div>
<a href="/"><img src="https://data.chinahighlights.com/image/aboutus/gh2.png" alt="Global Highlights logo" class="chinahighlightslogo img-responsive"></a>
<img src="https://data.chinahighlights.com/image/tour-detail/icon/top-navigation-menu-button.jpg" class="navimenu topnaviarrowdown action--open" width="26" height="25" style="position: relative; top: 12px; left: 10px;">
<a href="/"><img src="https://data.chinahighlights.com/image/aboutus/logo-gh.png" alt="Global Highlights logo" class="chinahighlightslogo img-responsive" width="255" height="64"></a>
<div class="topnavitailor">
<a href="/contactus?product_code=" class="infocustomize">Contact Us </a><img
src="https://data.chinahighlights.com/image/tour-detail/icon/top-navigation-menu-button.jpg"
class="navimenu topnaviarrowdown action--open" width="26" height="25">
<a href="/contactus?product_code=" class="infocustomize">Contact</a>
</div>
</div>
</header>
<nav id="ml-menu" class="menu">
@ -381,7 +378,7 @@
</div>
<div class="bottomlogo">
© 2018-2023 Global Highlights <br>— Discovery Your Way!
© 2018-2024 Global Highlights <br>— Discovery Your Way!
</div>
</footer>
<div class="web_cookie" style='display: none;' id='gotIdArea'>
@ -488,6 +485,13 @@
});
});
</script>
<script src="https://data.globalhighlights.com/js/jquery-1.8.2.min.js"></script>
<script src="https://data.globalhighlights.com/js/jquery.mailAutoComplete-4.0.min.js"></script>
<script>
$("#newsletter_email").mailAutoComplete({
email: ['gmail.com','outlook.com','yahoo.com','icloud.com','hotmail.com','live.com','aol.com']
});
</script>
<!--@PRODUCT-JS@-->
<!--@ADDON-JS@-->
<!--@IN-ARTICLE-GOOGLE@-->

Loading…
Cancel
Save