{"id":4847,"date":"2025-09-28T17:58:52","date_gmt":"2025-09-28T09:58:52","guid":{"rendered":"https:\/\/www.hangpotc.com\/en\/?page_id=4847"},"modified":"2026-07-17T00:45:29","modified_gmt":"2026-07-16T16:45:29","slug":"quotation","status":"publish","type":"page","link":"https:\/\/www.hangpotc.com\/en\/quotation\/","title":{"rendered":"Quotation &#8211; V2"},"content":{"rendered":"\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f4846-o1\" lang=\"en-US\" dir=\"ltr\" data-wpcf7-id=\"4846\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/en\/wp-json\/wp\/v2\/pages\/4847#wpcf7-f4846-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Contact form\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"4846\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.6\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"en_US\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f4846-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/><input type=\"hidden\" name=\"_wpcf7cf_hidden_group_fields\" value=\"[]\" \/><input type=\"hidden\" name=\"_wpcf7cf_hidden_groups\" value=\"[]\" \/><input type=\"hidden\" name=\"_wpcf7cf_visible_groups\" value=\"[]\" \/><input type=\"hidden\" name=\"_wpcf7cf_repeaters\" value=\"[]\" \/><input type=\"hidden\" name=\"_wpcf7cf_steps\" value=\"{}\" \/><input type=\"hidden\" name=\"_wpcf7cf_options\" value=\"{&quot;form_id&quot;:4846,&quot;conditions&quot;:[{&quot;then_field&quot;:&quot;round_trip_group&quot;,&quot;and_rules&quot;:[{&quot;if_field&quot;:&quot;service_type&quot;,&quot;operator&quot;:&quot;equals&quot;,&quot;if_value&quot;:&quot;Round Trip&quot;}]},{&quot;then_field&quot;:&quot;hourly_group&quot;,&quot;and_rules&quot;:[{&quot;if_field&quot;:&quot;service_type&quot;,&quot;operator&quot;:&quot;equals&quot;,&quot;if_value&quot;:&quot;Hourly Rent&quot;}]},{&quot;then_field&quot;:&quot;diff_destination_group&quot;,&quot;and_rules&quot;:[{&quot;if_field&quot;:&quot;diff_destination&quot;,&quot;operator&quot;:&quot;equals&quot;,&quot;if_value&quot;:&quot;1&quot;}]},{&quot;then_field&quot;:&quot;company_group&quot;,&quot;and_rules&quot;:[{&quot;if_field&quot;:&quot;customer_type&quot;,&quot;operator&quot;:&quot;equals&quot;,&quot;if_value&quot;:&quot;Corporate&quot;}]},{&quot;then_field&quot;:&quot;two_destination&quot;,&quot;and_rules&quot;:[{&quot;if_field&quot;:&quot;service_type&quot;,&quot;operator&quot;:&quot;equals&quot;,&quot;if_value&quot;:&quot;Round Trip&quot;}]},{&quot;then_field&quot;:&quot;morestop_group&quot;,&quot;and_rules&quot;:[{&quot;if_field&quot;:&quot;service_type&quot;,&quot;operator&quot;:&quot;not equals&quot;,&quot;if_value&quot;:&quot;Hourly Rent&quot;}]}],&quot;settings&quot;:{&quot;animation&quot;:&quot;yes&quot;,&quot;animation_intime&quot;:200,&quot;animation_outtime&quot;:200,&quot;conditions_ui&quot;:&quot;normal&quot;,&quot;notice_dismissed&quot;:false,&quot;repeater_remove_button&quot;:&quot;bottom&quot;,&quot;notice_dismissed_rollback-cf7-5.4&quot;:true,&quot;notice_dismissed_rollback-cf7-5.4.1&quot;:true,&quot;notice_dismissed_rollback-cf7-5.9.8&quot;:true,&quot;notice_dismissed_rollback-cf7-6.1.1&quot;:true}}\" \/>\n<\/fieldset>\n<div class=\"form-container form_new\">\n    <fieldset>\n        <legend>Basic Information<\/legend>\n        <div class=\"form-row\">\n            <label>Service Type<sup>*<\/sup><\/label>\n            <div class=\"input-group radio-group\">\n                <span class=\"wpcf7-form-control-wrap\" data-name=\"service_type\"><span class=\"wpcf7-form-control wpcf7-radio\"><span class=\"wpcf7-list-item first\"><label><input type=\"radio\" name=\"service_type\" value=\"Single Trip\" checked=\"checked\" \/><span class=\"wpcf7-list-item-label\">Single Trip<\/span><\/label><\/span><span class=\"wpcf7-list-item\"><label><input type=\"radio\" name=\"service_type\" value=\"Round Trip\" \/><span class=\"wpcf7-list-item-label\">Round Trip<\/span><\/label><\/span><span class=\"wpcf7-list-item last\"><label><input type=\"radio\" name=\"service_type\" value=\"Hourly Rent\" \/><span class=\"wpcf7-list-item-label\">Hourly Rent<\/span><\/label><\/span><\/span><\/span>\n            <\/div>\n        <\/div>\n        <div class=\"form-row\">\n            <div class=\"input-group date-group\">\n                <div class=\"start_date\">\n                \t<span class=\"half_box\">\n                        <label for=\"departure-date\">Departure Date<sup>*<\/sup><\/label>\n                        <span class=\"wpcf7-form-control-wrap\" data-name=\"departure_date\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required date\" id=\"departure-date\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Add Date\" value=\"\" type=\"text\" name=\"departure_date\" \/><\/span>\n                    <\/span>\n                    <span class=\"half_box\">\n                        <label for=\"departure-time\">Departure Time<sup>*<\/sup><\/label>\n                        <span class=\"wpcf7-form-control-wrap\" data-name=\"departure_time\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required time\" id=\"departure-time\" aria-required=\"true\" aria-invalid=\"false\" value=\"00:01\" type=\"text\" name=\"departure_time\" \/><\/span>\n                        <i>Add Time<\/i>\n                    <\/span>\n                <\/div>\n                <div data-id=\"round_trip_group\" data-orig_data_id=\"round_trip_group\"  class=\"\" data-class=\"wpcf7cf_group\">\n                <div class=\"end_date\">\n                \t<span class=\"half_box\">\n                        <label for=\"arrival-date\">Return Date<sup>*<\/sup><\/label>\n                        <span class=\"wpcf7-form-control-wrap\" data-name=\"arrival_date\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required date\" id=\"arrival-date\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Add Date\" value=\"\" type=\"text\" name=\"arrival_date\" \/><\/span>\n                    <\/span>\n                    <span class=\"half_box\">\n                        <label for=\"arrival-time\">Return Time<sup>*<\/sup><\/label>\n                        <span class=\"wpcf7-form-control-wrap\"  data-type=\"time\" data-name=\"arrival_time\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required time\" id=\"arrival-time\" aria-required=\"true\" aria-invalid=\"false\" value=\"00:01\" type=\"text\" name=\"arrival_time\" \/><\/span>\n                        <i>Add Time<\/i>\n                    <\/span>\n                <\/div>\n                <\/div>\n                <div data-id=\"hourly_group\" data-orig_data_id=\"hourly_group\"  class=\"\" data-class=\"wpcf7cf_group\">\n                <div class=\"end_time\">\n                    <label for=\"end-time\">Service End Time<sup>*<\/sup><\/label>\n                    <span class=\"wpcf7-form-control-wrap\" data-name=\"end_time\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required time\" id=\"end-time\" aria-required=\"true\" aria-invalid=\"false\" value=\"00:01\" type=\"text\" name=\"end_time\" \/><\/span>\n                    <i>Please add the departure time of the last stop<\/i>\n                <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/fieldset>\n\n    <fieldset class=\"fullW\">\n        <legend>Itinerary<\/legend>\n        <div data-id=\"morestop_group\" data-orig_data_id=\"morestop_group\"  class=\"\" data-class=\"wpcf7cf_group\">\n            <p class=\"font-red\">(Each stop is for boarding and alighting only)<\/p>\n        <\/div>\n        <div class=\"form-row\">\n            <div class=\"input-group\">\n                      \n        <div class=\"wpcf7-form-control-wrap start_point\">\n        \t<input size=\"40\" class=\"wpcf7-form-control wpcf7-gmautocomplete wpcf7-validates-as-required gmautocomplete\" id=\"start-point\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Pick-up point:*\" type=\"text\" name=\"start_point\" \/>\n        \t        \t\t\t    \t\t    \t\t    \t\t            <\/div>\n        \n            <\/div>\n        <\/div>\n        <div class=\"middle-div\">\n            <!-- Dynamic middle stops will be added here by JavaScript -->\n        <\/div>\n        <input class=\"wpcf7-form-control wpcf7-hidden\" id=\"mid_stops\" value=\"\" type=\"hidden\" name=\"mid_stops\" \/>\n        <div class=\"form-row\">\n            <div class=\"input-group\">\n                      \n        <div class=\"wpcf7-form-control-wrap end_point\">\n        \t<input size=\"40\" class=\"wpcf7-form-control wpcf7-gmautocomplete wpcf7-validates-as-required gmautocomplete\" id=\"end-point\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Drop-off point:*\" type=\"text\" name=\"end_point\" \/>\n        \t        \t\t\t    \t\t    \t\t    \t\t            <\/div>\n        \n            <\/div>\n        <\/div>\n        <div class=\"form-row\">\n            <div class=\"input-group\">\n                <span class=\"add-stop\" data-target=\"middle-div\" style=\"cursor: pointer; color: #007bff;\">+ Add Stopover<\/span>\n            <\/div>\n        <\/div>\n        <div data-id=\"two_destination\" data-orig_data_id=\"two_destination\"  class=\"\" data-class=\"wpcf7cf_group\">\n        <div class=\"diff_destination\">\n            <div class=\"form-row oneLine\">\n                <div class=\"input-group checkbox-group\">\n                    <span class=\"wpcf7-form-control-wrap\" data-name=\"diff_destination\"><span class=\"wpcf7-form-control wpcf7-acceptance optional\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"diff_destination\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">The return pickup location is not the same as the departure location.<\/span><\/label><\/span><\/span><\/span>\n                <\/div>\n            <\/div>\n            <div data-id=\"diff_destination_group\" data-orig_data_id=\"diff_destination_group\"  class=\"\" data-class=\"wpcf7cf_group\">\n            <div class=\"form-row\">\n                <div class=\"input-group\">\n                          \n        <div class=\"wpcf7-form-control-wrap start_point_des\">\n        \t<input size=\"40\" class=\"wpcf7-form-control wpcf7-gmautocomplete wpcf7-validates-as-required gmautocomplete\" id=\"start-point-des\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Pick-up point:*\" type=\"text\" name=\"start_point_des\" \/>\n        \t        \t\t\t    \t\t    \t\t    \t\t            <\/div>\n        \n                <\/div>\n            <\/div>\n            <div class=\"middle-div_destination\">\n                 <!-- Dynamic destination middle stops will be added here by JavaScript -->\n            <\/div>\n            <input class=\"wpcf7-form-control wpcf7-hidden\" id=\"mid_back_stops\" value=\"\" type=\"hidden\" name=\"mid_back_stops\" \/>\n            <div class=\"form-row\">\n                <div class=\"input-group\">\n                          \n        <div class=\"wpcf7-form-control-wrap end_point_des\">\n        \t<input size=\"40\" class=\"wpcf7-form-control wpcf7-gmautocomplete wpcf7-validates-as-required gmautocomplete\" id=\"end-point-des\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Drop-off point:*\" type=\"text\" name=\"end_point_des\" \/>\n        \t        \t\t\t    \t\t    \t\t    \t\t            <\/div>\n        \n                <\/div>\n            <\/div>\n            <div class=\"form-row\">\n                <div class=\"input-group\">\n                    <span class=\"add-stop\" data-target=\"middle-div_destination\" style=\"cursor: pointer; color: #007bff;\">+ Add Stopover<\/span>\n                <\/div>\n            <\/div>\n            <\/div>\n        <\/div>\n        <\/div>\n        <div class=\"form-row\">\n            <label for=\"remarks\">Remarks<\/label>\n            <div class=\"input-group\">\n                <span class=\"wpcf7-form-control-wrap\" data-name=\"remarks\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea\" id=\"remarks\" aria-invalid=\"false\" placeholder=\"Add extra requirements (e.g., stopovers, shuttles, bus assistance)\" name=\"remarks\"><\/textarea><\/span>\n                <input class=\"wpcf7-form-control wpcf7-hidden\" id=\"remarks_formatted\" value=\"\" type=\"hidden\" name=\"remarks_formatted\" \/>\n            <\/div>\n        <\/div>\n        <div class=\"form-row oneLine\">\n            <div class=\"input-group checkbox-group\">\n                <span class=\"wpcf7-form-control-wrap\" data-name=\"tunnel\"><span class=\"wpcf7-form-control wpcf7-checkbox\" id=\"tunnel\"><span class=\"wpcf7-list-item first last\"><input type=\"checkbox\" name=\"tunnel[]\" value=\"Via Tai Lam Tunnel (fee: $43)\" \/><span class=\"wpcf7-list-item-label\">Via Tai Lam Tunnel (fee: $43)<\/span><\/span><\/span><\/span>\n            <\/div>\n        <\/div>\n    <\/fieldset>\n\n    <fieldset>\n        <legend>Transport<\/legend>\n        <div class=\"form-row\">\n            <label for=\"pax\">No. of PAX<\/label>\n            <div class=\"input-group\">\n                <span class=\"wpcf7-form-control-wrap\" data-name=\"pax\"><input class=\"wpcf7-form-control wpcf7-number wpcf7-validates-as-number\" id=\"pax\" aria-invalid=\"false\" value=\"\" type=\"number\" name=\"pax\" \/><\/span>\n            <\/div>\n        <\/div>\n        <div style=\"margin-top:-10px;\">\n            <p class=\"font-red\">Vehicles match group size. <br>Larger buses not guaranteed.<\/p>\n        <\/div>\n        <div class=\"form-row vehicle-options\">\n            <div class=\"vehicle-option\"><label for=\"sedan\">Limousine<\/label><span class=\"wpcf7-form-control-wrap\" data-name=\"sedan\"><input class=\"wpcf7-form-control wpcf7-number wpcf7-validates-as-number\" id=\"sedan\" min=\"0\" aria-invalid=\"false\" value=\"\" type=\"number\" name=\"sedan\" \/><\/span><\/div>\n            <div class=\"vehicle-option\"><label for=\"van-7\">7 Seater<\/label><span class=\"wpcf7-form-control-wrap\" data-name=\"van_7\"><input class=\"wpcf7-form-control wpcf7-number wpcf7-validates-as-number\" id=\"van-7\" min=\"0\" aria-invalid=\"false\" value=\"\" type=\"number\" name=\"van_7\" \/><\/span><\/div>\n            <div class=\"vehicle-option\"><label for=\"bus-27\">27 Seater<\/label><span class=\"wpcf7-form-control-wrap\" data-name=\"bus_27\"><input class=\"wpcf7-form-control wpcf7-number wpcf7-validates-as-number\" id=\"bus-27\" min=\"0\" aria-invalid=\"false\" value=\"\" type=\"number\" name=\"bus_27\" \/><\/span><\/div>\n           <div class=\"vehicle-option\"><label for=\"bus-49\">49-56 seater<br>[Luxury double seat]<\/label><span class=\"wpcf7-form-control-wrap\" data-name=\"bus_49\"><input class=\"wpcf7-form-control wpcf7-number wpcf7-validates-as-number\" id=\"bus-49\" min=\"0\" aria-invalid=\"false\" value=\"\" type=\"number\" name=\"bus_49\" \/><\/span><\/div>\n            <div class=\"vehicle-option\"><label for=\"bus-65\">60-65 seater<\/label><span class=\"wpcf7-form-control-wrap\" data-name=\"bus_65\"><input class=\"wpcf7-form-control wpcf7-number wpcf7-validates-as-number\" id=\"bus-65\" min=\"0\" aria-invalid=\"false\" value=\"\" type=\"number\" name=\"bus_65\" \/><\/span><\/div>\n            <div class=\"vehicle-option\"><label for=\"bus-67\">67-70 seater<\/label><span class=\"wpcf7-form-control-wrap\" data-name=\"bus_67\"><input class=\"wpcf7-form-control wpcf7-number wpcf7-validates-as-number\" id=\"bus-67\" min=\"0\" aria-invalid=\"false\" value=\"\" type=\"number\" name=\"bus_67\" \/><\/span><\/div>\n            <div class=\"vehicle-option\"><label for=\"accessible-7\">Accessible 7 seater<\/label><span class=\"wpcf7-form-control-wrap\" data-name=\"accessible-7\"><input class=\"wpcf7-form-control wpcf7-number wpcf7-validates-as-number\" id=\"accessible-7\" min=\"0\" aria-invalid=\"false\" value=\"\" type=\"number\" name=\"accessible-7\" \/><\/span><\/div>\n            <div class=\"vehicle-option\"><label for=\"accessible-bus\">Accessible bus<\/label><span class=\"wpcf7-form-control-wrap\" data-name=\"accessible_bus\"><input class=\"wpcf7-form-control wpcf7-number wpcf7-validates-as-number\" id=\"accessible-bus\" min=\"0\" aria-invalid=\"false\" value=\"\" type=\"number\" name=\"accessible_bus\" \/><\/span><\/div>\n        <\/div>\n        <div class=\"form-row\">\n            <label class=\"equipment_title\">Equipment\n            <i>27 seats without luggage compartment<\/i>\n            <\/label>\n            <div class=\"input-group checkbox-group addition_options\">\n                <span class=\"wpcf7-form-control-wrap\" data-name=\"equipment\"><span class=\"wpcf7-form-control wpcf7-checkbox\"><span class=\"wpcf7-list-item first\"><label><input type=\"checkbox\" name=\"equipment[]\" value=\"Compartment\" \/><span class=\"wpcf7-list-item-label\">Compartment<\/span><\/label><\/span><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"equipment[]\" value=\"Seatbelt\" \/><span class=\"wpcf7-list-item-label\">Seatbelt<\/span><\/label><\/span><span class=\"wpcf7-list-item last\"><label><input type=\"checkbox\" name=\"equipment[]\" value=\"Microphone\" \/><span class=\"wpcf7-list-item-label\">Microphone<\/span><\/label><\/span><\/span><\/span>\n                <div class=\"input-group bottle\">\n                    <span class=\"wpcf7-form-control-wrap\" data-name=\"water\"><input class=\"wpcf7-form-control wpcf7-number wpcf7-validates-as-number\" id=\"water\" min=\"0\" aria-invalid=\"false\" value=\"width: 60px; margin-right: 10px;\" type=\"number\" name=\"water\" \/><\/span>\n                    <label for=\"water\">Bottled Water ($7\/each)<\/label>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/fieldset>\n\n    <fieldset class=\"fullW\">\n        <legend>Contact Information<\/legend>\n        <div class=\"form-row\">\n            <label>Customer Type<sup>*<\/sup><\/label>\n            <div class=\"input-group radio-group\">\n                <span class=\"wpcf7-form-control-wrap\" data-name=\"customer_type\"><span class=\"wpcf7-form-control wpcf7-radio\"><span class=\"wpcf7-list-item first\"><label><input type=\"radio\" name=\"customer_type\" value=\"Corporate\" \/><span class=\"wpcf7-list-item-label\">Corporate<\/span><\/label><\/span><span class=\"wpcf7-list-item last\"><label><input type=\"radio\" name=\"customer_type\" value=\"Individual\" \/><span class=\"wpcf7-list-item-label\">Individual<\/span><\/label><\/span><\/span><\/span>\n            <\/div>\n        <\/div>\n        <div class=\"form-row col_h\">\n            <label for=\"name\">Name<sup>*<\/sup><\/label>\n            <div class=\"input-group\"><span class=\"wpcf7-form-control-wrap\" data-name=\"your-name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" id=\"name\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"your-name\" \/><\/span><\/div>\n        <\/div>\n        <div class=\"form-row col_h\">\n            <label for=\"phone\">Telephone<sup>*<\/sup><\/label>\n            <div class=\"input-group\"><span class=\"wpcf7-form-control-wrap\" data-name=\"your-phone\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel\" id=\"phone\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Please ensure the quotation details and contact information are accurate for communication purposes.\" value=\"\" type=\"tel\" name=\"your-phone\" \/><\/span><\/div>\n        <\/div>\n        <div class=\"form-row col_h\">\n            <label for=\"email\">Email<sup>*<\/sup><\/label>\n            <div class=\"input-group\"><span class=\"wpcf7-form-control-wrap\" data-name=\"your-email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" id=\"email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Please ensure the quotation details and contact information are accurate for communication purposes.\" value=\"\" type=\"email\" name=\"your-email\" \/><\/span><\/div>\n        <\/div>\n        <div class=\"form-row col_h\">\n            <label for=\"whatsapp\">WhatsApp<\/label>\n            <div class=\"input-group\"><span class=\"wpcf7-form-control-wrap\" data-name=\"whatsapp\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-text wpcf7-validates-as-tel\" id=\"whatsapp\" aria-invalid=\"false\" placeholder=\"Please ensure the quotation details and contact information are accurate for communication purposes.\" value=\"\" type=\"tel\" name=\"whatsapp\" \/><\/span><\/div>\n        <\/div>\n    <\/fieldset>\n\n    <div data-id=\"company_group\" data-orig_data_id=\"company_group\"  class=\"\" data-class=\"wpcf7cf_group\">\n    <fieldset class=\"fullW\">\n        <legend>Invoice Information<\/legend>\n        <div class=\"form-row\">\n            <label for=\"billing-org-name\">Company Name<sup>*<\/sup><\/label>\n            <div class=\"input-group\"><span class=\"wpcf7-form-control-wrap\" data-name=\"billing-org-name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" id=\"billing-org-name\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"billing-org-name\" \/><\/span><\/div>\n        <\/div>\n        <div class=\"form-row\">\n            <label for=\"billing-title\">Invoice Heading<\/label>\n            <div class=\"input-group\"><span class=\"wpcf7-form-control-wrap\" data-name=\"billing-title\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"billing-title\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"billing-title\" \/><\/span><\/div>\n        <\/div>\n        <div class=\"form-row\">\n            <label for=\"billing-recipient\">Recipient Name<\/label>\n            <div class=\"input-group\"><span class=\"wpcf7-form-control-wrap\" data-name=\"billing-recipient\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"billing-recipient\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"billing-recipient\" \/><\/span><\/div>\n        <\/div>\n        <div class=\"form-row\">\n            <label for=\"billing-address\">Mailing Address<\/label>\n            <div class=\"input-group\"><span class=\"wpcf7-form-control-wrap\" data-name=\"billing-address\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"billing-address\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"billing-address\" \/><\/span><\/div>\n        <\/div>\n        <div class=\"form-row oneLine\">\n            <div class=\"input-group checkbox-group\">\n                <span class=\"wpcf7-form-control-wrap\" data-name=\"billing-extra\"><span class=\"wpcf7-form-control wpcf7-checkbox\"><span class=\"wpcf7-list-item first last\"><input type=\"checkbox\" name=\"billing-extra[]\" value=\"Invoice needs further requirements\" \/><span class=\"wpcf7-list-item-label\">Invoice needs further requirements<\/span><\/span><\/span><\/span>\n            <\/div>\n        <\/div>\n    <\/fieldset>\n    <\/div>\n\n    <div class=\"button-group\">\n        <a class=\"email-btn\" data-target=\"email\">Email Quote<\/a>\n        <a class=\"whatsapp-btn\" data-target=\"whatsapp\">WhatsApp Quote<\/a>\n        <input class=\"wpcf7-form-control wpcf7-hidden\" id=\"receive_type\" value=\"\" type=\"hidden\" name=\"receive_type\" \/>\n        <input class=\"wpcf7-form-control wpcf7-hidden\" id=\"date_field\" value=\"\" type=\"hidden\" name=\"current_date\" \/>\n    <\/div>\n    <div class=\"submit_btn\"><input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Submit\" \/><\/div>\n<\/div><input type='hidden' class='wpcf7-pum' value='{\"closepopup\":false,\"closedelay\":0,\"openpopup\":false,\"openpopup_id\":0}' \/><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n\n\n\n\n<script>\n\/\/ This function initializes Google Places Autocomplete on a given input field.\nfunction setupAutocomplete(inputElement) {\n    if (window.google && window.google.maps && window.google.maps.places) {\n        const autocomplete = new google.maps.places.Autocomplete(inputElement, {\n            types: ['address'],\n            componentRestrictions: { 'country': 'HK' } \/\/ Restricted to Hong Kong\n        });\n        autocomplete.setFields(['formatted_address']);\n        autocomplete.addListener('place_changed', function() {\n            const place = autocomplete.getPlace();\n            if (place && place.formatted_address) {\n                jQuery(inputElement).val(place.formatted_address).trigger('change');\n            }\n        });\n    }\n}\n\n\/\/ This is the callback function for the Google Maps API script.\n\/\/ It initializes autocomplete on the static address fields once the API is loaded.\nfunction initAutocomplete() {\n    setupAutocomplete(document.getElementById('start-point'));\n    setupAutocomplete(document.getElementById('end-point'));\n    setupAutocomplete(document.getElementById('start-point-des'));\n    setupAutocomplete(document.getElementById('end-point-des'));\n}\ndocument.addEventListener('DOMContentLoaded', function() {\n    var cf7Forms = document.querySelectorAll('.wpcf7-form');\n    \/\/ var formToSubmit = null;\n    var isSubmitting = false;\n\n    function updateHiddenStops() {\n        const stopValues = jQuery('.middle-div input[name=\"middle_point[]\"]').map(function() {\n            const value = jQuery(this).val().replace(\/-\/g, '').trim();\n            return value !== '' ? value : null;\n        }).get();\n        jQuery('#mid_stops').val(stopValues.join(' -> '));\n\n        const stopValuesDestination = jQuery('.middle-div_destination input[name=\"middle_point_destination[]\"]').map(function() {\n            const value = jQuery(this).val().replace(\/-\/g, '').trim();\n            return value !== '' ? value : null;\n        }).get();\n        jQuery('#mid_back_stops').val(stopValuesDestination.join(' -> '));\n    }\n\n    \/\/ Function to add a new middle stop\n    jQuery('.add-stop').on('click', function() {\n        var jQuerythat = jQuery(this);\n        var target = jQuerythat.data('target');\n        var file_name = target == 'middle-div' ? 'middle_point[]' : 'middle_point_destination[]';\n        \n        if (jQuery('.' + target + ' .form-row').length >= 8) {\n            jQuerythat.hide();\n            return;\n        }\n\n        \/\/ Create the new form row element\n        const newStopHtml = `\n            <div class=\"form-row\">\n                <div class=\"input-group\">\n                    <input type=\"text\" name=\"`+file_name+`\" placeholder=\"Stopover\">\n                    <a class=\"btn_close\" href=\"javascript:void(0);\" style=\"margin-left: 10px; color: red; text-decoration: none;\">\n                        <i class=\"fa fa-times\" aria-hidden=\"true\"><\/i>\n                    <\/a>\n                <\/div>\n            <\/div>`;\n\n        const jQuerynewStop = jQuery(newStopHtml);\n        \/\/ Append the new stop to the container\n        jQuery(\".\" + target).append(jQuerynewStop);\n        \/\/ Initialize autocomplete on the new input field\n        setupAutocomplete(jQuerynewStop.find('input')[0]);\n        \n        if (jQuery('.' + target + ' .form-row').length >= 8) {\n            jQuerythat.hide();\n        }\n        updateHiddenStops();\n    });\n\n    \/\/ Handle removal of a middle stop\n    jQuery('.middle-div, .middle-div_destination').on('click', '.btn_close', function() {\n        const container = jQuery(this).closest('.middle-div, .middle-div_destination');\n        const targetClass = container.attr('class').split(' ')[0];\n        jQuery(this).closest('.form-row').remove();\n        jQuery(`.add-stop[data-target=\"`+targetClass+`\"]`).show();\n        updateHiddenStops();\n    });\n\n    \/\/ Update hidden fields when address inputs change\n    jQuery('.middle-div').on('input change', 'input[name=\"middle_point[]\"]', function() {\n        updateHiddenStops();\n    });\n\n    jQuery('.middle-div_destination').on('input change', 'input[name=\"middle_point_destination[]\"]', function() {\n        updateHiddenStops();\n    });\n\n    \/\/ cf7Forms.forEach(function(form) {\n    \/\/     formToSubmit = form;\n    \/\/ });\n    jQuery('.button-group a').on('click', function(e) {\n        e.preventDefault();\n        let status = ktValidateTimeInputs();\n        let pathStatus = ktValidatePathInputs();\n        if (!status || !pathStatus) {\n            console.log(status);\n            return false;\n        }\n        const receive_type = jQuery(this).data(\"target\");\n        jQuery('#receive_type').val(receive_type);\n        jQuery.blockUI({ message: jQuery('#question'), css: { width: '275px' } }); \n        jQuery('.preloader-text').show();\n            return false;\n    });\n\n    jQuery('#yes').click(function() { \n        isSubmitting = true;\n        \/\/ Programmatically click the submit button to ensure CF7's AJAX submission is used.\n        jQuery('.wpcf7-submit').click();\n        \/\/ jQuery.unblockUI(); \n        jQuery('.preloader').removeClass('disable hide');\n        return false; \n    }); \n\n    jQuery('#no').click(function() { \n        jQuery.unblockUI(); \n        \/\/ formToSubmit = null;\n        return false; \n    });\n\n    \/\/ When bus_27 changes and value > 0, uncheck and disable the \"\u884c\u674e\u6ac3\" checkbox\n    jQuery('#sedan, #van-7, #bus-27, #bus-49, #bus-65, #accessible-bus').on('change input', function() {\n        var bus27Val = Number(jQuery('#bus-27').val() || 0);\n        var $locker = jQuery('input[type=\"checkbox\"][name=\"equipment[]\"][value=\"Compartment\"]');\n        if (!$locker || !$locker.length) { return; }\n\n        \/\/ Collect other vehicle fields (excluding bus-27)\n        var otherSelectors = ['#sedan', '#van-7', '#bus-49', '#bus-65', '#accessible-bus'];\n        var othersAllZeroOrLess = true;\n        for (var i = 0; i < otherSelectors.length; i++) {\n            var $f = jQuery(otherSelectors[i]);\n            var v = $f.length ? Number(($f.val() || 0)) : 0;\n            if (v > 0) { othersAllZeroOrLess = false; break; }\n        }\n\n        if (bus27Val > 0 && othersAllZeroOrLess) {\n            \/\/ If bus-27 > 0 and all others <= 0, uncheck and disable the locker\n            $locker.prop('checked', false).prop('disabled', true);\n        } else {\n            $locker.prop('disabled', false);\n        }\n    });\n\n    var today = new Date();\n    var year = today.getFullYear();\n    var month = String(today.getMonth() + 1).padStart(2, '0');\n    var day = String(today.getDate()).padStart(2, '0');\n    var formattedDate = year + month + day;\n    jQuery('#date_field').val(formattedDate);\n\n    jQuery('#remarks').on('input', function() {\n        var text = $(this).val();\n        var formattedText = text.replace(\/\\n\/g, '<br>');\n        jQuery('#remarks_formatted').val(formattedText);\n    });\n\n    document.addEventListener('wpcf7submit', function(event) {\n        \n    }, false);\n\n});\n\ndocument.addEventListener('wpcf7mailsent', function(event) {\n        var formId = event.detail.contactFormId;\n        console.log(formId);\n        isSubmitting = false;\n                location = 'https:\/\/www.hangpotc.com\/en\/successfully-submitted\/';\n    }, false);\n<\/script>\n\n<div id=\"question\" style=\"display:none; cursor: default\">\n<div> \n<h1>Please ensure the quotation details and contact information are accurate for communication purposes.<\/h1> \n<a id=\"no\">Return<\/a>        \n<a id=\"yes\">Submit<\/a>\n<\/div>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Please ensure the quotation details and contact information are accurate for communication purposes. Return Submit<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_eb_attr":"","footnotes":""},"class_list":["post-4847","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tourist Bus\/Luxury Limousine Rental | Get Your Quote Online - Hangpotc<\/title>\n<meta name=\"description\" content=\"Submit your itinerary, number of seats, and equipment needs to receive rental prices for coaches or luxury limousines. Obtain an online quote!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hangpotc.com\/en\/quotation\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tourist Bus\/Luxury Limousine Rental | Get Your Quote Online - Hangpotc\" \/>\n<meta property=\"og:description\" content=\"Submit your itinerary, number of seats, and equipment needs to receive rental prices for coaches or luxury limousines. Obtain an online quote!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hangpotc.com\/en\/quotation\/\" \/>\n<meta property=\"og:site_name\" content=\"Hang Po Transportation Co., Ltd.\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-16T16:45:29+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hangpotc.com\\\/en\\\/quotation\\\/\",\"url\":\"https:\\\/\\\/www.hangpotc.com\\\/en\\\/quotation\\\/\",\"name\":\"Tourist Bus\\\/Luxury Limousine Rental | Get Your Quote Online - Hangpotc\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hangpotc.com\\\/en\\\/#website\"},\"datePublished\":\"2025-09-28T09:58:52+00:00\",\"dateModified\":\"2026-07-16T16:45:29+00:00\",\"description\":\"Submit your itinerary, number of seats, and equipment needs to receive rental prices for coaches or luxury limousines. Obtain an online quote!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hangpotc.com\\\/en\\\/quotation\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hangpotc.com\\\/en\\\/quotation\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hangpotc.com\\\/en\\\/quotation\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9801\",\"item\":\"https:\\\/\\\/www.hangpotc.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Quotation &#8211; V2\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.hangpotc.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.hangpotc.com\\\/en\\\/\",\"name\":\"Hang Po Transportation Co., Ltd.\",\"description\":\"Hang Po Transportation Co., Ltd.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.hangpotc.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tourist Bus\/Luxury Limousine Rental | Get Your Quote Online - Hangpotc","description":"Submit your itinerary, number of seats, and equipment needs to receive rental prices for coaches or luxury limousines. Obtain an online quote!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hangpotc.com\/en\/quotation\/","og_locale":"en_US","og_type":"article","og_title":"Tourist Bus\/Luxury Limousine Rental | Get Your Quote Online - Hangpotc","og_description":"Submit your itinerary, number of seats, and equipment needs to receive rental prices for coaches or luxury limousines. Obtain an online quote!","og_url":"https:\/\/www.hangpotc.com\/en\/quotation\/","og_site_name":"Hang Po Transportation Co., Ltd.","article_modified_time":"2026-07-16T16:45:29+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.hangpotc.com\/en\/quotation\/","url":"https:\/\/www.hangpotc.com\/en\/quotation\/","name":"Tourist Bus\/Luxury Limousine Rental | Get Your Quote Online - Hangpotc","isPartOf":{"@id":"https:\/\/www.hangpotc.com\/en\/#website"},"datePublished":"2025-09-28T09:58:52+00:00","dateModified":"2026-07-16T16:45:29+00:00","description":"Submit your itinerary, number of seats, and equipment needs to receive rental prices for coaches or luxury limousines. Obtain an online quote!","breadcrumb":{"@id":"https:\/\/www.hangpotc.com\/en\/quotation\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hangpotc.com\/en\/quotation\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.hangpotc.com\/en\/quotation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9801","item":"https:\/\/www.hangpotc.com\/en\/"},{"@type":"ListItem","position":2,"name":"Quotation &#8211; V2"}]},{"@type":"WebSite","@id":"https:\/\/www.hangpotc.com\/en\/#website","url":"https:\/\/www.hangpotc.com\/en\/","name":"Hang Po Transportation Co., Ltd.","description":"Hang Po Transportation Co., Ltd.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hangpotc.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"amp_enabled":false,"_links":{"self":[{"href":"https:\/\/www.hangpotc.com\/en\/wp-json\/wp\/v2\/pages\/4847","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hangpotc.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.hangpotc.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.hangpotc.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hangpotc.com\/en\/wp-json\/wp\/v2\/comments?post=4847"}],"version-history":[{"count":14,"href":"https:\/\/www.hangpotc.com\/en\/wp-json\/wp\/v2\/pages\/4847\/revisions"}],"predecessor-version":[{"id":6385,"href":"https:\/\/www.hangpotc.com\/en\/wp-json\/wp\/v2\/pages\/4847\/revisions\/6385"}],"wp:attachment":[{"href":"https:\/\/www.hangpotc.com\/en\/wp-json\/wp\/v2\/media?parent=4847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}