(function(e){function t(t){for(var i,r,s=t[0],c=t[1],u=t[2],l=0,d=[];l-1,s=o||a.indexOf("alpha")>-1,c=!s,u=a.indexOf("travelflan.com.cn")>-1,l=o||!u,d=0,p=a.indexOf("mars")>-1,m=a.indexOf("marketplace-hk")>-1,h=a.indexOf("demo-marketplace-hk")>-1,f=a.indexOf("demo-marketplace.travelflan.com")>-1||a.indexOf("demo.travelflan.com")>-1,v="";v=s?u?"https://alpha-marketplace.travelflan.com.cn":"https://alpha.travelflan.com":u?"https://marketplace.travelflan.com.cn":"https://www.travelflan.com";var g="pk_test_51HGz8ZDWYbpAxqw4VXUDRJaptBzWQmytlsMWRcilofy8O1S48PMAZ10Q0XOoPDvescajIY58Hurrgrw3bHsNRL1t00FYtID5to";c&&(g="pk_live_51HGz8ZDWYbpAxqw41wtYm6HV84bcgZDwzvwDGktmwQWQy9N06xOmSAnkPUGpO9ZbDAKeygrv1wxFamahI5HX0cXr002Cm5Tzfx");var b=r.a.getParser(window.navigator.userAgent),_=b.getOSName(),y=b.getPlatformType(),k=_;"desktop"===y?"Windows"!==k&&"macOS"!==k&&(k="Other-Desktop"):"Android"!==k&&"iOS"!==k&&(k="Other-Mobile"),t["a"]={isLocal:o,isCn:u,isCom:l,isAlpha:s,isProduction:c,platform:d,isMars:p,mkpUrl:v,isHKTest:m,isHKDemo:h,isComDemo:f,stripeKey:g,deviceName:k}},"307a":function(e,t,n){},"311a":function(e,t,n){"use strict";var i=n("0ed1"),r=n.n(i);r.a},"365c":function(e,t,n){"use strict";var i={};n.r(i),n.d(i,"getWechatSignature",(function(){return m})),n.d(i,"sendPhoneVerifyCode",(function(){return h})),n.d(i,"search",(function(){return f})),n.d(i,"addFavourites",(function(){return v})),n.d(i,"removeFavourites",(function(){return g})),n.d(i,"getFavourites",(function(){return b})),n.d(i,"getPageSettings",(function(){return _})),n.d(i,"getEventInfo",(function(){return y}));var r={};n.r(r),n.d(r,"login",(function(){return k})),n.d(r,"wechatLogin",(function(){return C})),n.d(r,"jegotripLogin",(function(){return w})),n.d(r,"facebookLogin",(function(){return P})),n.d(r,"register",(function(){return T})),n.d(r,"facebookRegister",(function(){return O})),n.d(r,"getPrivacy",(function(){return D})),n.d(r,"bindEmail",(function(){return S})),n.d(r,"updatePrivacy",(function(){return x})),n.d(r,"updateShippingAddress",(function(){return A})),n.d(r,"passwordReset",(function(){return R})),n.d(r,"txVerifyCode",(function(){return E})),n.d(r,"sendPhoneVerifyCode",(function(){return I})),n.d(r,"savePaymentMethod",(function(){return $}));var a={};n.r(a),n.d(a,"getProductList",(function(){return j})),n.d(a,"getFilterOptions",(function(){return L})),n.d(a,"getRecommandSummaries",(function(){return B})),n.d(a,"getCollectionInfo",(function(){return M})),n.d(a,"getPopularTours",(function(){return F})),n.d(a,"getTourDetail",(function(){return U}));var o={};n.r(o),n.d(o,"getCities",(function(){return V})),n.d(o,"getHotDestinations",(function(){return H})),n.d(o,"getCountries",(function(){return W})),n.d(o,"getDestination",(function(){return z})),n.d(o,"getHongKongDistrict",(function(){return Y})),n.d(o,"searchG",(function(){return G}));var s={};n.r(s),n.d(s,"createOrder",(function(){return K})),n.d(s,"payOrder",(function(){return Q})),n.d(s,"validateCoupon",(function(){return X})),n.d(s,"getMyOrders",(function(){return J})),n.d(s,"addCart",(function(){return Z})),n.d(s,"getPaymentInfo",(function(){return ee})),n.d(s,"getPurchaseOrderDetail",(function(){return te})),n.d(s,"getReservationDetail",(function(){return ne}));var c={};n.r(c),n.d(c,"getCategoryTree",(function(){return ie}));var u={};n.r(u),n.d(u,"getBasket",(function(){return re})),n.d(u,"addToBasket",(function(){return ae})),n.d(u,"deleteFromBasket",(function(){return oe})),n.d(u,"editItemInBasket",(function(){return se})),n.d(u,"createOrder",(function(){return ce})),n.d(u,"validateCoupon",(function(){return ue}));var l={};n.r(l),n.d(l,"getCouponList",(function(){return le})),n.d(l,"getProductCouponList",(function(){return de})),n.d(l,"getPoiCouponList",(function(){return pe})),n.d(l,"getCheckoutCouponList",(function(){return me})),n.d(l,"redeemCoupon",(function(){return he}));var d={};n.r(d),n.d(d,"getPoiList",(function(){return fe})),n.d(d,"getPoiDetail",(function(){return ve}));var p=n("6818"),m=function(e){return p["a"].request("/wc/jsapi_signature",{params:e})},h=function(e){return p["a"].request({url:"/accounts/verification_code_send",method:"POST",data:e})},f=function(e){return p["a"].request("/mp/mkp_search",{params:e})},v=function(e){return p["a"].request({url:"/favourites",method:"POST",data:e})},g=function(e){return p["a"].request({url:"/favourites",method:"DELETE",data:e})},b=function(e){return p["a"].request("/favourites",{params:e})},_=function(e){return p["a"].request("/mp/page_settings",{params:e})},y=function(e,t){return p["a"].request("/mp/theme/".concat(e),{params:t})},k=function(e){return p["a"].request({url:"/aaa/token_for_vendor",method:"POST",data:e})},C=function(e){return p["a"].request({url:"accounts/token_wc",method:"POST",data:e})},w=function(e){return p["a"].request({url:"/aaa/jegotrip_token",method:"POST",data:e})},P=function(e){return p["a"].request({url:"accounts/token_fb",method:"POST",data:e})},T=function(e,t){return p["a"].request({url:"/accounts/signup?locale=".concat(t),method:"POST",data:e})},O=function(e){return p["a"].request({url:"/accounts/signup_fb",method:"POST",data:e})},D=function(){return p["a"].request("/accounts/privacy")},S=function(e){return p["a"].request({url:"/accounts/signup_wc_applet",method:"POST",data:e})},x=function(e,t){return p["a"].request({url:"/accounts/".concat(e,"/privacy"),method:"POST",data:t})},A=function(e){return p["a"].request({url:"/accounts/privacy",method:"PATCH",data:e})},R=function(e,t){var n={};return t&&(n.locale=t),p["a"].request({url:"/accounts/password_reset",method:"POST",data:e,params:n})},E=function(e){return p["a"].request({url:"/accounts/captcha_verify",method:"POST",data:e})},I=function(e){return p["a"].request({url:"/accounts/verification_code_send",method:"POST",data:e})},$=function(e,t){return p["a"].request({url:"/accounts/".concat(e,"/privacy/payment_method"),method:"POST",data:t})},N=(n("99af"),n("fe07")),j=function(e){return p["a"].request("/v2/products",{params:e})},L=function(){return p["a"].request("/mp/tag?ordering=-flan")},B=function(){return p["a"].request("/mp/collection?ordering=-flan&summary=true")},M=function(e){return p["a"].request("/mp/collection/".concat(e))},F=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return p["a"].request("/v2/products?ordering=-flan__priority&page_size=".concat(e,"&locale=").concat(N["a"]))},U=function(e,t){return p["a"].request("/product/".concat(e),{params:t})},q=n("5530"),V=function(e){return p["a"].request("/mp/pogs",{params:e})},H=function(e){return p["a"].request("/mp/cities",{params:e})},W=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:216,n=Object(q["a"])({page_size:t,category:"Country",summary:!0,ordering:"id"},e);return p["a"].request("/mp/pogs?page_size=".concat(t,"&category=Country&summary=true&ordering=id"),{params:n})},z=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.product__platform=0,p["a"].request("/mp/destination",{params:e})},Y=function(e){return p["a"].request("/pogs?page_size=20&parent__code=Hong Kong&category=Dist&status=ACT&locale=".concat(e))},G=function(e,t){return p["a"].request(Object(q["a"])({url:"location/search/g",method:"GET",params:e},t))},K=function(e,t,n){return p["a"].request({url:"/accounts/".concat(e,"/privacy/product/booking?locale=").concat(n),method:"POST",data:t})},Q=function(e,t,n){return p["a"].request({url:"/accounts/".concat(e,"/privacy/product/booking/confirm?locale=").concat(n),method:"POST",data:t})},X=function(e,t){return p["a"].request({url:"/accounts/".concat(e,"/coupon/confirm"),method:"POST",data:t})},J=function(e){return p["a"].request("/accounts/privacy/product/payment",{params:e})},Z=function(e,t){return p["a"].request({url:"/accounts/".concat(e,"/privacy/cart"),method:"POST",data:t})},ee=function(e,t){return p["a"].request("/accounts/".concat(e,"/privacy/product/payment/").concat(t))},te=function(e){return p["a"].request("/accounts/privacy/product/payment/".concat(e))},ne=function(e,t){return p["a"].request("/accounts/".concat(e,"/consumer_request/").concat(t))},ie=function(e){return p["a"].request("/category/tree",{params:e})},re=function(e){return p["a"].request("/mp/basket",{params:e})},ae=function(e){return p["a"].request({url:"/mp/basket/line",method:"POST",data:e})},oe=function(e){return p["a"].request({url:"/mp/basket/line",method:"DELETE",data:e})},se=function(e){return p["a"].request({url:"/mp/basket/line",method:"PUT",data:e})},ce=function(e,t){return p["a"].request({url:"/accounts/basket/booking?locale=".concat(t),method:"POST",data:e})},ue=function(e){return p["a"].request({url:"/accounts/basket/coupon/confirm",method:"POST",data:e})},le=function(e){return p["a"].request("/accounts/coupons",{params:e})},de=function(e){return p["a"].request("/mp/coupons",{params:e})},pe=function(e){return p["a"].request("/mp/coupons",{params:{poi_id:e}})},me=function(e){return p["a"].request({url:"/mp/checkout/coupons",method:"POST",data:e})},he=function(e){return p["a"].request({url:"/mp/coupon/redeem",method:"POST",data:e})},fe=function(e){return p["a"].request("/mp/pois",{params:e})},ve=function(e,t){return p["a"].request("/mp/poi/".concat(e),{params:t})};t["a"]={common:i,auth:r,product:a,location:o,order:s,tag:c,basket:u,coupon:l,poi:d}},"3a92":function(e,t,n){},"3ec1":function(e,t,n){"use strict";var i=n("a3eb"),r=n.n(i);r.a},"3ecf":function(e,t,n){"use strict";var i=n("517f"),r=n.n(i);r.a},"3f21":function(e,t,n){"use strict";var i=n("aeab"),r=n.n(i);r.a},"3f2f":function(e,t,n){"use strict";var i=n("911a"),r=n.n(i);r.a},4063:function(e,t,n){},4360:function(e,t,n){"use strict";var i,r,a,o,s,c=n("2b0e"),u=n("2f62"),l=(n("96cf"),n("1da1")),d=n("ade3"),p=n("365c"),m=n("6818"),h="GET_USER_INFO_SUCCESS",f="CLEAR_USER_INFO",v="UPDATE_AUTH_DIALOG_VISIBLE",g="UPDATE_AUTH_DIALOG_TYPE",b="UPDATE_PHONE_NATIONAL_NUMBER",_=n("fe07"),y=n("9a36"),k={namespaced:!0,state:{info:null,authDialogVisible:!1,authDialogType:null},mutations:(i={},Object(d["a"])(i,h,(function(e,t){Object(y["h"])(t),e.info=t})),Object(d["a"])(i,f,(function(e){e.info=null})),Object(d["a"])(i,v,(function(e,t){e.authDialogVisible=t})),Object(d["a"])(i,g,(function(e,t){e.authDialogType=t})),Object(d["a"])(i,b,(function(e,t){e.info&&(e.info.phone=Object.assign({},e.phone,{national_number:t}))})),i),actions:{login:function(e,t){e.commit;var n=e.dispatch;return Object(l["a"])(regeneratorRuntime.mark((function e(){var i;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,p["a"].auth.login(t);case 2:return i=e.sent,window.localStorage.setItem("token",i.token),Object(m["c"])(i.token),window.dataLayer.push({event:"login"}),e.next=8,n("getUserInfo");case 8:case"end":return e.stop()}}),e)})))()},facebookLogin:function(e,t){e.commit;var n=e.dispatch;return Object(l["a"])(regeneratorRuntime.mark((function e(){var i;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,p["a"].auth.facebookLogin(t);case 2:return i=e.sent,window.localStorage.setItem("token",i.token),Object(m["c"])(i.token),window.dataLayer.push({event:"login",method:"facebook"}),e.next=8,n("getUserInfo");case 8:case"end":return e.stop()}}),e)})))()},logout:function(e){var t=e.commit;return Object(l["a"])(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return window.localStorage.removeItem("token"),Object(m["c"])(""),e.next=4,t(f);case 4:case"end":return e.stop()}}),e)})))()},jegotripLogin:function(e,t){var n=e.dispatch;return Object(l["a"])(regeneratorRuntime.mark((function e(){var i;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,p["a"].auth.jegotripLogin(t);case 2:return i=e.sent,window.localStorage.setItem("token",i.token),Object(m["c"])(i.token),e.next=7,n("getUserInfo");case 7:case"end":return e.stop()}}),e)})))()},wechatLogin:function(e,t){var n=e.dispatch;return Object(l["a"])(regeneratorRuntime.mark((function e(){var i;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,p["a"].auth.wechatLogin(t);case 2:return i=e.sent,window.localStorage.setItem("token",i.token),Object(m["c"])(i.token),e.next=7,n("getUserInfo");case 7:case"end":return e.stop()}}),e)})))()},getUserInfo:function(e){var t=e.commit;return Object(l["a"])(regeneratorRuntime.mark((function e(){var n,i;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(n=Object(m["b"])(),n){e.next=3;break}return e.abrupt("return");case 3:return e.prev=3,e.next=6,p["a"].auth.getPrivacy();case 6:i=e.sent,t(h,i),e.next=14;break;case 10:e.prev=10,e.t0=e["catch"](3),window.localStorage.removeItem("token"),Object(m["c"])("");case 14:case"end":return e.stop()}}),e,null,[[3,10]])})))()},register:function(e,t){var n=e.dispatch;return Object(l["a"])(regeneratorRuntime.mark((function e(){var i;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,p["a"].auth.register(t,_["b"].locale);case 2:return i=e.sent,window.localStorage.setItem("token",i.token),Object(m["c"])(i.token),e.next=7,n("getUserInfo");case 7:case"end":return e.stop()}}),e)})))()},facebookRegister:function(e,t){var n=e.dispatch;return Object(l["a"])(regeneratorRuntime.mark((function e(){var i;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,p["a"].auth.facebookRegister(t);case 2:return i=e.sent,window.localStorage.setItem("token",i.token),Object(m["c"])(i.token),window.dataLayer.push({event:"sign_up"}),e.next=8,n("getUserInfo");case 8:case"end":return e.stop()}}),e)})))()},updateAuthDialogVisble:function(e,t){var n=e.commit;return Object(l["a"])(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:n(v,t);case 1:case"end":return e.stop()}}),e)})))()},updateAuthDialogType:function(e,t){var n=e.commit;return Object(l["a"])(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:n(g,t);case 1:case"end":return e.stop()}}),e)})))()},updatePhoneNumber:function(e,t){var n=e.commit;n(b,t)}}},C=(n("99af"),"GET_CURRENT_PRODUCT_SUCCESS"),w="CLEAR_CURRENT_PRODUCT",P="GET_PRODUCT_LIST_SUCCESS",T="SET_PARENT_ID",O="SET_PRODUCT_FILTER",D="UPDATE_PRODUCT_FAVORITE",S=(n("a4d3"),n("e01a"),{productPlain:function(e,t,n,i){if(!e.current)return null;var r=n.common.locale;if(!e.current.details[r])return null;var a=n.common.currency,o=e.current.details[r].meta.order_detail,s="";return e.current.details[r].meta.refund_policy&&(s+=e.current.details[r].meta.refund_policy),e.current.details[r].meta.refund_extra&&(s+=e.current.details[r].meta.refund_extra),{id:e.current.id,type:e.current.type,title:e.current.details[r].title,price:(e.current.mkp_display_price||e.current.display_price)[a],highlight:e.current.details[r].meta.brief,meetingPlaces:[],schedules:[],costIncluded:e.current.details[r].meta.fee_include,costNotIncluded:e.current.details[r].meta.fee_not_include,description:e.current.details[r].meta.description,extra:e.current.details[r].meta.extra,precautions:e.current.details[r].meta.precautions,orderDetail:o,refundPolicy:s,warehouse:e.current.warehouse}},tags:function(e){var t=[];return t},productOptions:function(e){return e.current?e.current.options:[]},availableDays:function(e){if(!e.current)return[]}}),x={namespaced:!0,state:{current:null,parentId:null,products:[],nextPage:1,isAllProductLoaded:!1,productFilter:{type:null,dest:null}},mutations:(r={},Object(d["a"])(r,C,(function(e,t){e.current=t})),Object(d["a"])(r,w,(function(e){e.current=null})),Object(d["a"])(r,P,(function(e,t){e.products=e.products.concat(t.results),t.next?e.nextPage++:e.isAllProductLoaded=!0})),Object(d["a"])(r,T,(function(e,t){e.parentId!==t&&(e.products=[],e.nextPage=1,e.isAllProductLoaded=!1),e.parentId=t})),Object(d["a"])(r,O,(function(e,t){Object.assign(e.productFilter,t)})),Object(d["a"])(r,D,(function(e,t){e.current.is_favourite=t})),r),actions:{setParentId:function(e,t){var n=e.commit;n(T,t)},getProductData:function(e,t){var n=e.state,i=e.commit,r=e.rootState;return Object(l["a"])(regeneratorRuntime.mark((function e(){var a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(!n.current||n.current.id!==t){e.next=2;break}return e.abrupt("return");case 2:return i(w),e.next=5,p["a"].product.getTourDetail(t,{locale:r.common.locale,platforms__in:0});case 5:a=e.sent,i(C,a);case 7:case"end":return e.stop()}}),e)})))()},getProductsFromDest:function(e){var t=e.state,n=e.commit,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object(l["a"])(regeneratorRuntime.mark((function e(){var r;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(!t.isAllProductLoaded){e.next=2;break}return e.abrupt("return");case 2:return i.page=t.nextPage,i.ordering="-flan__priority",i.pog_city__in=t.parentId,i.scope="TV",e.next=8,p["a"].product.getProductList(i);case 8:r=e.sent,n(P,r);case 10:case"end":return e.stop()}}),e)})))()},setProductFilter:function(e){var t=e.commit,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object(l["a"])(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:t(O,n);case 1:case"end":return e.stop()}}),e)})))()},updateProductFavorite:function(e,t){var n=e.commit;n(D,t)}},getters:S},A=(n("7db0"),n("c740"),n("4160"),n("159b"),"INIT_BOOKING_INFO"),R="SET_BOOKING_META",E="UPDATE_REFERRER",I="SET_BOOKING_DATE",$="SET_BOOKING_START_DATE",N="SET_BOOKING_START_TIME",j="SET_BOOKING_END_DATE",L="SET_BOOKING_END_TIME",B="SET_BOOKING_OPTION",M="SET_BOOKING_SUB_OPTIONS",F="UPDATE_BOOKING_SUB_OPTION_NUM",U="UPDATE_COUPON",q="UPDATE_SHIPPING_ADDRESS",V="SET_BOOKING_TIME",H=(n("4de4"),n("13d5"),n("a9e3"),n("b680"),n("c1df")),W=n.n(H),z=n("57b2"),Y={amountPrice:function(e,t,n){var i=0;return e.bookingSubOptions.length?(i=e.bookingSubOptions.filter((function(e){return e.num>0&&e.available})).reduce((function(e,t){return e+t.price[n.common.currency]*t.num}),0),n.product.current.type===z["a"].RNT&&(i*=t.totalDays),i):i},discountedAmount:function(e,t,n){return e.coupon?e.coupon.coupon_discounted_amount:0},actualAmount:function(e,t){return Math.max(Number((t.amountPrice-t.discountedAmount).toFixed(2)),0)},totalDays:function(e){if(!e.bookingStartDate||!e.bookingEndDate)return 0;var t="".concat(e.bookingStartDate," ").concat(e.bookingStartTime||"00:00",":00"),n="".concat(e.bookingEndDate," ").concat(e.bookingEndTime||"00:00",":00"),i=W.a.utc(t),r=W.a.utc(n),a=0,o=0,s=r.startOf("day").diff(i.startOf("day"),"days")+a+o+1;return(s<0||isNaN(s))&&(s=0),e.bookingSubOptions.length?Math.max(e.bookingSubOptions[0].min_book_days,s):s}},G={lastName:"",firstName:"",gender:"",email:"",phone:"",fwcFirstname:"",fwcLastname:"",fwcNumber:"",countryCode:"",remark:""},K={namespaced:!0,state:{referrer:"",bookingDate:null,bookingTime:null,bookingStartDate:null,bookingEndDate:null,bookingStartTime:"00:00",bookingEndTime:"00:00",bookingMeta:Object.assign({},G),coupon:null,bookingOption:null,bookingSubOptions:[],shippingArea:"",shippingAddress:""},mutations:(a={},Object(d["a"])(a,A,(function(e){e.bookingMeta=Object.assign({},e.bookingMeta,G),e.bookingDate=null,e.bookingStartDate=null,e.bookingEndDate=null,e.coupon=null,e.bookingOption=null,e.bookingSubOptions=[]})),Object(d["a"])(a,B,(function(e,t){e.bookingOption=t})),Object(d["a"])(a,M,(function(e,t){t.forEach((function(t){e.bookingOption&&e.bookingOption.book_date_required?e.bookingDate&&(t.available=t.available_book_dates.findIndex((function(t){return t.date===e.bookingDate&&0!==t.quantity}))>-1,t.available||(t.num=0)):t.available=!0})),e.bookingSubOptions=t})),Object(d["a"])(a,F,(function(e,t){var n=e.bookingSubOptions.find((function(e){return e.id===t.id}));n.num=t.num})),Object(d["a"])(a,I,(function(e,t){e.bookingDate=t,e.bookingSubOptions.length&&e.bookingSubOptions.forEach((function(t){e.bookingOption&&e.bookingOption.book_date_required?e.bookingDate&&(t.available=t.available_book_dates.findIndex((function(t){return t.date===e.bookingDate&&0!==t.quantity}))>-1,t.available||(t.num=0)):t.available=!0}))})),Object(d["a"])(a,V,(function(e,t){e.bookingTime=t})),Object(d["a"])(a,$,(function(e,t){e.bookingStartDate=t})),Object(d["a"])(a,N,(function(e,t){e.bookingStartTime=t})),Object(d["a"])(a,j,(function(e,t){e.bookingEndDate=t})),Object(d["a"])(a,L,(function(e,t){e.bookingEndTime=t})),Object(d["a"])(a,R,(function(e,t){e.bookingMeta=Object.assign({},e.bookingMeta,t)})),Object(d["a"])(a,E,(function(e,t){e.referrer=t})),Object(d["a"])(a,U,(function(e,t){e.coupon=t})),Object(d["a"])(a,q,(function(e,t){e.shippingAddress=t.address,e.shippingArea=t.address_district})),a),actions:{initBookingInfo:function(e){var t=e.commit;t(A)},setBookingMeta:function(e,t){var n=e.commit;n(R,t)},setBookingOption:function(e,t){var n=e.commit;n(B,t)},setBookingSubOptions:function(e,t){var n=e.commit;n(M,t)},updateBookingSubOptionNum:function(e,t){var n=e.commit;n(F,t)},setBookingDate:function(e,t){var n=e.commit;n(I,t)},setBookingTime:function(e,t){var n=e.commit;n(V,t)},setBookingStartDate:function(e,t){var n=e.commit;n($,t)},setBookingStartTime:function(e,t){var n=e.commit;n(N,t)},setBookingEndDate:function(e,t){var n=e.commit;n(j,t)},setBookingEndTime:function(e,t){var n=e.commit;n(L,t)},updateReferrer:function(e,t){var n=e.commit;n(E,t)},updateCoupon:function(e,t){var n=e.commit;n(U,t)},updateShippingAddress:function(e,t){var n=e.commit,i=t.address_district,r=t.address;n(q,{address_district:i,address:r})}},getters:Y},Q="GET_COUNTRY_LIST_SUCCESS",X="UPDATE_CURRENCY",J="UPDATE_LOCALE",Z="GET_DEST_LIST_SUCCESS",ee="UPDATE_DEFAULT_HOT_CITY",te=n("2aaa"),ne={namespaced:!0,state:{banners:[],locale:_["b"].locale,currency:te["a"].isCn?"CNY":window.localStorage.getItem("currency")||"HKD",countries:[],productTypes:z["a"],nextAction:null,destinations:[],destDialogVisible:!1,defaultHotCity:null},mutations:(o={mtSetBanners:function(e,t){e.banners=t}},Object(d["a"])(o,Q,(function(e,t){e.countries=t})),Object(d["a"])(o,X,(function(e,t){e.currency=t})),Object(d["a"])(o,J,(function(e,t){e.locale=t})),Object(d["a"])(o,Z,(function(e,t){e.destinations=t})),Object(d["a"])(o,ee,(function(e,t){e.defaultHotCity=t})),o),actions:{getPageSettings:function(e){var t=e.commit,n=e.rootState;return Object(l["a"])(regeneratorRuntime.mark((function e(){var i;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,p["a"].common.getPageSettings({channel:0,locale:n.common.locale});case 2:i=e.sent,t("mtSetBanners",i.banner_list);case 4:case"end":return e.stop()}}),e)})))()},getCountries:function(e,t){var n=e.state,i=e.commit;return Object(l["a"])(regeneratorRuntime.mark((function e(){var r;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(!n.countries.length){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,p["a"].location.getCountries(t);case 4:r=e.sent,i(Q,r);case 6:case"end":return e.stop()}}),e)})))()},getDestinations:function(e,t){var n=e.state,i=e.commit;return Object(l["a"])(regeneratorRuntime.mark((function e(){var r,a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(!n.destinations.length){e.next=2;break}return e.abrupt("return");case 2:return r=[],e.prev=3,e.next=6,p["a"].location.getDestination({status:"ACT",product__platform:0,scope:"TV",locale:t});case 6:a=e.sent,a.results.forEach((function(e){var t={details:e.details,cities:[]};e.country_detail&&(e.country_detail.forEach((function(e){e.city_detail&&e.city_detail.forEach((function(e){t.cities.push({id:e.id,details:e.details})}))})),r.push(t))})),e.next=13;break;case 10:e.prev=10,e.t0=e["catch"](3),console.warn(e.t0);case 13:i(Z,r);case 14:case"end":return e.stop()}}),e,null,[[3,10]])})))()},updateCurrency:function(e,t){var n=e.commit;n(X,t)},updateLocale:function(e,t){var n=e.commit;n(J,t)},updateDefaultHotCity:function(e,t){var n=e.commit;n(ee,t)}}},ie=(n("a623"),n("c975"),n("d81d"),n("45fc"),n("a434"),n("d3b7"),n("3ca3"),n("ddb0"),n("5530")),re="INIT_BASKET_INFO",ae="SET_BASKET_CONTACT_INFO",oe="UPDATE_BASKET_REFERRER",se="ADD_TO_BASKET",ce="UPDATE_BASKET_OPTION",ue="REMOVE_BASKET_OPTION",le="UPDATE_BASKET_OPTION_NUM",de="UPDATE_BASKET_COUPON",pe="UPDATE_BASKET_CONTACT_ADDRESS",me="CHECK_BASKET_OPTIONS",he="UPDATE_BASKET_FECHING_STATE",fe="SET_BASKET_USER_INFO",ve="SET_BASKET_SHIPPING_PICKUP",ge="SET_BASKET_COMMENT",be="REFRESH_BASKET_LINE_STATE",_e="CLEAR_BASKET",ye="SET_RESTARAUNT_RESERVATION",ke={amountPrice:function(e,t,n){var i=0;return e.lines.length&&e.totalItemsCount?(e.lines.forEach((function(e){var t=0,r=e.quantity,a=e.selected,o=e.available,s=e.detail;if(r>0&&a&&o&&s){var c=s.price;t=100*c[n.common.currency]*r}i+=t})),i/100):i},discountedAmount:function(e,t,n){return e.coupon&&e.coupon.coupon_discounted_amount||0},actualAmount:function(e,t){return Math.max(Number((t.amountPrice-t.discountedAmount).toFixed(2)),0)},totalCount:function(e,t,n){return e.lines.filter((function(e){return e.selected&&e.available})).map((function(e){return e.quantity})).reduce((function(e,t){return e+t}),0)},selectedLines:function(e){return e.lines.filter((function(e){return e.selected&&e.available}))},warehouses:function(e){var t=[],n={};return e.lines.filter((function(e){return e.warehouse})).map((function(e){return e.warehouse})).forEach((function(e){n[e.id]||(n[e.id]=!0,t.push(Object(ie["a"])({},e)))})),n=null,t}};function Ce(e){var t=e.product,n=e.quantity,i=t.status,r=t.product_start_date,a=t.product_end_date;e.detail=e.variant||e.subOption,e.optionLost=!e.detail,e.isSoldOut=!1,e.detail||(e.isSoldOut=!0),i!==y["d"].ACT&&i!==y["d"].ACT_ADS&&(e.isSoldOut=!0);var o=W()(new Date).format("YYYY-MM-DD");(r&&oa)&&(e.isSoldOut=!0),-1===t.supporting_provider.indexOf(te["a"].platform)&&(e.isSoldOut=!0),e.detail&&(e.stock=e.detail.stock||e.detail.max_quantity_per_sub_option,e.maxPurchaseQuantity=e.detail.max_purchase_quantity||-1,e.maxPurchaseQuantity=-1===e.maxPurchaseQuantity?10:e.maxPurchaseQuantity,e.minPurchaseQuantity=e.detail.min_purchase_quantity||-1,e.minPurchaseQuantity=-1===e.minPurchaseQuantity?1:e.minPurchaseQuantity,e.isMax=!1,e.isMin=!1,e.isOverMax=!1,e.isOverMin=ne.maxPurchaseQuantity),-1!==e.stock&&(e.stocke.stock:e.stocke.stock,e.isStock=n===e.stock))),e.reservationLost=!1,e.productNeedReservation&&(e.reservationLost=!e.book_dt);var s=e.optionLost,c=e.isSoldOut,u=e.isOverMax,l=e.isOverMin,d=e.isOutOfStock,p=e.isOverStock,m=e.reservationLost;e.available=[s,c,u,l,d,p,m].every((function(e){return!e})),e.available||(e.selected=!1)}function we(e){var t=e.product,n=e.variant_id,i=e.sub_option_id,r=t.options,a=t.scope,o=t.variants,s=t.warehouse,c=t.status,u=t.product_start_date,l=t.product_end_date,d=Object(ie["a"])({},e,{scope:a,warehouse:s,productStatus:c,productStartDate:u&&W()(u),productEndDate:l&&W()(l),selected:!1,available:!0,variant:o.find((function(e){return e.id===n}))});if(o&&o.length)switch(o[0].valid_type){case y["f"].SpecificDate:d.productNeedReservation=!0,d.productNeedReservationDate=!0;break;case y["f"].SpecificTime:d.productNeedReservation=!0,d.productNeedReservationDate=!0,d.productNeedReservationDateTime=!0;break}return d.option=r.find((function(e){return e.sub_options.some((function(e){return e.id===i&&(d.subOption=e,!0)}))})),Ce(d),d}function Pe(e,t){return e&&e.details[t]}var Te,Oe={namespaced:!0,state:{referrer:"",contactInfo:{address:"",lastName:"",firstName:"",gender:"",email:"",phone:"",fwcFirstname:"",fwcLastname:"",fwcNumber:"",countryCode:"",remark:""},pickup:!1,coupon:null,comment:"",lines:[],totalItemsCount:null,totalLineCount:null,basketFetching:!0},mutations:(s={},Object(d["a"])(s,re,(function(e,t){e.totalItemsCount=t.total_items_count,e.totalLineCount=t.total_line_count,e.lines=t.lines.filter((function(e){return Pe(e.product,t.locale)})).map(we),e.coupon=null})),Object(d["a"])(s,se,(function(e,t){})),Object(d["a"])(s,me,(function(e,t){t.push||(t=[t]);var n=t.filter((function(e){return e.available})),i=n.length&&n.every((function(e){return e.selected}));if(n.forEach((function(t){var n=e.lines.findIndex((function(e){return e.id===t.id}));if(n>-1){var r=e.lines[n];r.selected=!i,e.lines.splice(n,1,Object(ie["a"])({},r))}})),t[0]){var r=t[0],a=r.warehouse,o=r.subOption;a&&o&&!i&&e.lines.filter((function(e){return e.warehouse&&e.subOption&&e.warehouse.id!==a.id})).forEach((function(t){var n=e.lines.findIndex((function(e){return e.id===t.id}));if(n>-1){var i=e.lines[n];i.selected=!1,e.lines.splice(n,1,Object(ie["a"])({},i))}}))}})),Object(d["a"])(s,ue,(function(e,t){t.length&&t.forEach((function(t){var n=e.lines.findIndex((function(e){return e.id===t}));n>-1&&e.lines.splice(n,1)}))})),Object(d["a"])(s,ce,(function(e,t){var n=t.option,i=t.variant,r=t.subOption,a=t.line,o=e.lines.findIndex((function(e){return!!e.subOption&&(e.subOption.id===r.id&&e.id!==a.id)}));if(o>-1){var s=e.lines[o];s.quantity+=a.quantity,s.option=n,s.subOption=r,s.sub_option_id=r&&r.id,s.variant=i,s.variant_id=i&&i.id,e.lines.splice(o,1,Object(ie["a"])({},s));var c=e.lines.findIndex((function(e){return e.id===a.id}));e.lines.splice(c,1)}else{var u=e.lines.find((function(e){return e.id===a.id}));if(u){u.option=n,u.subOption=r,u.sub_option_id=r&&r.id,u.variant=i,u.variant_id=i&&i.id;var l=e.lines.findIndex((function(e){return e.id===a.id}));e.lines.splice(l,1,Object(ie["a"])({},u))}}})),Object(d["a"])(s,le,(function(e,t){var n=t.line,i=t.quantity,r=e.lines.find((function(e){return e.id===n.id}));if(r){var a=e.lines.findIndex((function(e){return e.id===n.id}));a>-1&&(n.quantity=i,e.lines.splice(a,1,Object(ie["a"])({},n)))}})),Object(d["a"])(s,ae,(function(e,t){e.contactInfo=Object(ie["a"])({},t)})),Object(d["a"])(s,fe,(function(e,t){var n={};Object(y["h"])(t);var i=t.first_name,r=t.last_name,a=t.email,o=t.address_district,s=t.address;if(n=Object.assign(n,{firstName:i,lastName:r,address_district:o,address:s}),t.phone){var c=t.phone,u=c.country_code,l=c.national_number;n=Object.assign(n,{countryCode:u,phone:l})}n=Object.assign(n,{email:a}),e.contactInfo=Object(ie["a"])({},t,{},n)})),Object(d["a"])(s,oe,(function(e,t){e.referrer=t})),Object(d["a"])(s,de,(function(e,t){e.coupon=t})),Object(d["a"])(s,pe,(function(e,t){Object(y["h"])(t),e.contactInfo.address=t.address,e.contactInfo.address_district=t.address_district})),Object(d["a"])(s,he,(function(e,t){e.basketFetching=t})),Object(d["a"])(s,ve,(function(e,t){e.pickup=t})),Object(d["a"])(s,ge,(function(e,t){e.comment=t})),Object(d["a"])(s,be,(function(e,t){var n=e.lines.findIndex((function(e){return e.id===t.id}));if(n>-1){var i=e.lines.find((function(e){return e.id===t.id}));Ce(i),e.lines.splice(n,1,Object(ie["a"])({},i))}})),Object(d["a"])(s,_e,(function(e){e.totalItemsCount=null,e.totalLineCount=null,e.lines=[],e.coupon=null})),Object(d["a"])(s,ye,(function(e,t){var n=t.line,i=t.book_dt,r=e.lines.findIndex((function(e){return!!e.variant&&(e.variant.id===n.variant.id&&e.id!==n.id&&+W()(e.book_dt)===+W()(i))})),a=e.lines.findIndex((function(e){return e.id===n.id}));if(!(a<0)){var o=e.lines.find((function(e){return e.id===n.id}));if(r>-1){var s=e.lines[r];s.quantity+=n.quantity,Ce(s),e.lines.splice(r,1,Object(ie["a"])({},s)),e.lines.splice(a,1)}else o.book_dt=i,Ce(o),e.lines.splice(a,1,Object(ie["a"])({},o))}})),s),actions:{initBasketInfo:function(e){var t=e.commit,n=e.rootState;return Object(l["a"])(regeneratorRuntime.mark((function e(){var i;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,t(_e);case 2:return e.next=4,t(he,!0);case 4:return e.prev=4,e.next=7,p["a"].basket.getBasket({locale:n.common.locale});case 7:return i=e.sent,e.next=10,t(fe,n.user.info);case 10:return e.next=12,t(re,Object(ie["a"])({},i,{locale:n.common.locale}));case 12:return e.prev=12,e.next=15,t(he,!1);case 15:return e.finish(12);case 16:case"end":return e.stop()}}),e,null,[[4,,12,16]])})))()},setBasketContactInfo:function(e,t){var n=e.commit;n(ae,t)},setBasketUserInfo:function(e,t){var n=e.commit;n(fe,t)},addToBasket:function(e,t){var n=e.commit;return Object(l["a"])(regeneratorRuntime.mark((function e(){var i,r,a,o,s;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return n(he,!0),e.prev=1,i=t.product,r=t.subOptions,a=t.variants,o=i.type,s=null,s=o===y["e"].RTR?a.map((function(e){var t=e.quantity||1;return{product:i,product_id:i.id,quantity:t,variant_id:e.id,variant:e,sub_option_id:null,sub_option:null}})):r.filter((function(e){return e.num>0})).map((function(e){var t=e.num;return{product:i,product_id:i.id,variant:null,variant_id:null,quantity:t,sub_option_id:e.id,sub_option:e}})),e.next=8,Promise.all(s.map(function(){var e=Object(l["a"])(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.abrupt("return",p["a"].basket.addToBasket(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 8:window.dataLayer.push({event:"add_to_cart",ecommerce:{items:[{item_name:i.details.en_US.title,item_id:i.id}]}});case 9:return e.prev=9,n(he,!1),e.finish(9);case 12:case"end":return e.stop()}}),e,null,[[1,,9,12]])})))()},editItemInBasket:function(e,t){var n=e.commit,i=e.dispatch,r=t.option,a=t.variant,o=t.subOption,s=t.line;return Object(l["a"])(regeneratorRuntime.mark((function e(){var t,c,u,l,d,m;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,n(he,!0);case 2:return e.prev=2,t=s.id,c=s.product,u=s.quantity,l=null,d=c.type,d===y["e"].RTR?l={basket_line_id:t,variant_id:a.id,sub_option_id:null,quantity:u}:(m=s.quantity||1,l={basket_line_id:t,variant_id:null,sub_option_id:o.id,quantity:m}),e.prev=7,e.next=10,p["a"].basket.editItemInBasket(l);case 10:return e.next=12,n(ce,{option:r,variant:a,subOption:o,line:s});case 12:return e.next=14,i("refreshBasketLineState",s);case 14:e.next=20;break;case 16:return e.prev=16,e.t0=e["catch"](7),e.next=20,i("initBasketInfo");case 20:return e.prev=20,e.next=23,n(he,!1);case 23:return e.finish(20);case 24:case"end":return e.stop()}}),e,null,[[2,,20,24],[7,16]])})))()},checkBasketOptions:function(e,t){var n=e.commit;n(me,t)},removeBasketOption:function(e,t){var n=e.commit;return Object(l["a"])(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,n(he,!0);case 2:return e.prev=2,e.next=5,p["a"].basket.deleteFromBasket({basket_line_ids:t});case 5:return e.next=7,n(ue,t);case 7:return e.prev=7,e.next=10,n(he,!1);case 10:return e.finish(7);case 11:case"end":return e.stop()}}),e,null,[[2,,7,11]])})))()},updateBasketOptionNum:function(e,t){var n=e.commit,i=e.dispatch,r=t.line,a=t.quantity;return Object(l["a"])(regeneratorRuntime.mark((function e(){var t,o,s,c,u,l;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,n(he,!0);case 2:return e.prev=2,t=r.id,o=r.product,s=r.subOption,c=r.variant,u=o.type,l=null,l=u===y["e"].RTR?{basket_line_id:t,quantity:a,variant_id:c.id,sub_option_id:null}:{basket_line_id:t,quantity:a,variant_id:null,sub_option_id:s.id},e.prev=7,e.next=10,p["a"].basket.editItemInBasket(l);case 10:return e.next=12,n(le,{line:r,quantity:a});case 12:return e.next=14,i("refreshBasketLineState",r);case 14:e.next=20;break;case 16:return e.prev=16,e.t0=e["catch"](7),e.next=20,i("initBasketInfo");case 20:return e.prev=20,e.next=23,n(he,!1);case 23:return e.finish(20);case 24:case"end":return e.stop()}}),e,null,[[2,,20,24],[7,16]])})))()},updateReferrer:function(e,t){var n=e.commit;n(oe,t)},updateBasketCoupon:function(e,t){var n=e.commit;n(de,t)},updateContactAddress:function(e,t){var n=e.commit,i=t.address_district,r=t.address,a=t.setAsDefault;return Object(l["a"])(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(!a){e.next=12;break}return e.next=3,n(he,!0);case 3:return e.prev=3,t={address:r},i&&(t.address_district_id=i.id),e.next=8,p["a"].auth.updateShippingAddress(t);case 8:return e.prev=8,e.next=11,n(he,!1);case 11:return e.finish(8);case 12:n(pe,{address_district:i,address:r});case 13:case"end":return e.stop()}}),e,null,[[3,,8,12]])})))()},updateBasketShippingPickup:function(e,t){var n=e.commit;n(ve,t)},updateBasketComment:function(e,t){var n=e.commit;n(ge,t)},refreshBasketLineState:function(e,t){var n=e.commit;n(be,t)},setRestarauntReservation:function(e,t){var n=e.commit,i=e.dispatch,r=t.line,a=t.book_dt;return Object(l["a"])(regeneratorRuntime.mark((function e(){var t,o,s,c,u,l,d;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,n(he,!0);case 2:return e.prev=2,t=r.id,o=r.product,s=r.subOption,c=r.variant,u=r.quantity,l=o.type,d=null,d=l===y["e"].RTR?{book_dt:a,basket_line_id:t,quantity:u,variant_id:c.id,sub_option_id:null}:{book_dt:a,basket_line_id:t,quantity:u,variant_id:null,sub_option_id:s.id},e.prev=7,e.next=10,p["a"].basket.editItemInBasket(d);case 10:return e.next=12,n(ye,{line:r,book_dt:a});case 12:return e.next=14,i("refreshBasketLineState",r);case 14:e.next=20;break;case 16:return e.prev=16,e.t0=e["catch"](7),e.next=20,i("initBasketInfo");case 20:return e.prev=20,e.next=23,n(he,!1);case 23:return e.finish(20);case 24:case"end":return e.stop()}}),e,null,[[2,,20,24],[7,16]])})))()}},getters:ke},De="INIT_PURCHASE_INFO",Se="SET_PURCHASE_CONTACT_INFO",xe="UPDATE_PURCHASE_CONTACT_ADDRESS",Ae="SET_PURCHASE_USER_INFO",Re="SET_PURCHASE_SHIPPING_PICKUP",Ee="SET_PURCHASE_COMMENT",Ie="CLEAR_PURCHASE",$e="UPDATE_PURCHASE_FECHING_STATE",Ne="UPDATE_PURCHASE_COUPON",je=(n("b64b"),{checkoutType:function(e){var t=e.lines;return t.some((function(e){return e.lineId}))?"CART":t.some((function(e){return"TV"===e.product.scope}))?t.some((function(e){return"Delivery-Item"===e.product.type}))?"TV-DEI":t.some((function(e){return"Rental"===e.product.type}))?"TV-RNT":"TV-COMMON":t.some((function(e){return"EC"===e.product.scope}))?"EC":null},amountPrice:function(e,t,n){var i=0;return e.lines.length?t.available?0:(t.selectedLines.forEach((function(e){var t=0,r=e.quantity,a=e.detail;if(r>0&&a){var o=a.price;t=100*o[n.common.currency]*r,e.product.type===z["a"].RNT&&(t*=e.totalDays)}i+=t})),i/100):i},discountedAmount:function(e,t,n){return e.coupon&&e.coupon.coupon_discounted_amount||0},actualAmount:function(e,t){return Math.max(Number((t.amountPrice-t.discountedAmount).toFixed(2)),0)},selectedLines:function(e){return e.lines.filter((function(e){return e.available}))},totalCount:function(e,t,n){return t.available?0:t.selectedLines.map((function(e){return e.quantity})).reduce((function(e,t){return e+t}),0)},available:function(e,t,n){return e.lines.some((function(e){return!e.available}))},productSum:function(e){var t={};return e.lines.forEach((function(e){t[e.product.id]?t[e.product.id].num+=e.quantity:t[e.product.id]={id:e.product.id,num:e.quantity,is_limit_purchased:e.product.is_limit_purchased,limit_purchased_num:e.product.limit_purchased_num,user_purchased_num:e.product.user_purchased_num}})),t},isOverLimit:function(e,t){var n=Object.keys(t.productSum);return n.some((function(e){var n=t.productSum[e];return n.is_limit_purchased&&n.num>n.limit_purchased_num-n.user_purchased_num}))}});function Le(e){var t=e.book_dt,n=e.productNeedReservation,i=e.productNeedReservationDate,r=e.productNeedReservationDateTime,a=e.warehouse,o=e.product,s=e.option,c=e.subOption,u=e.quantity,l=e.variant,d=e.booking_fields,p=e.lineId,m=o.status,h=o.product_start_date,f=o.product_end_date,v={book_dt:t,productNeedReservation:n,productNeedReservationDate:i,productNeedReservationDateTime:r,warehouse:a,lineId:p,product:o,option:s,subOption:c,quantity:u,variant:l,booking_fields:d,detail:c||l,selected:!0};v.detail=v.variant||v.subOption,v.optionLost=!v.detail,v.isSoldOut=!1,v.detail||(v.isSoldOut=!0),m!==y["d"].ACT&&m!==y["d"].ACT_ADS&&(v.isSoldOut=!0);var g=W()(new Date).format("YYYY-MM-DD");(h&&gf)&&(v.isSoldOut=!0),-1===o.supporting_provider.indexOf(te["a"].platform)&&(v.isSoldOut=!0),v.detail&&(v.stock=v.detail.stock||v.detail.max_quantity_per_sub_option,v.maxPurchaseQuantity=v.detail.max_purchase_quantity||-1,v.maxPurchaseQuantity=-1===v.maxPurchaseQuantity?10:v.maxPurchaseQuantity,v.minPurchaseQuantity=v.detail.min_purchase_quantity||-1,v.minPurchaseQuantity=-1===v.minPurchaseQuantity?1:v.minPurchaseQuantity,v.isMax=!1,v.isMin=!1,v.isOverMax=!1,v.isOverMin=uv.maxPurchaseQuantity),-1!==v.stock&&(v.stockv.stock:v.stockv.stock,v.isStock=u===v.stock)));var b=v.optionLost,_=v.isSoldOut,k=v.isOverMax,C=v.isOverMin,w=v.isOutOfStock,P=v.isOverStock;if(v.available=[b,_,k,C,w,P].every((function(e){return!e})),v.available||(v.selected=!1),v.totalDays=0,v.product.type===y["e"].RNT&&v.booking_fields){var T=v.booking_fields,O=T.bookingStartDate,D=T.bookingStartTime,S=T.bookingEndDate,x=T.bookingEndTime,A="".concat(O," ").concat(D||"00:00",":00"),R="".concat(S," ").concat(x||"00:00",":00"),E=W.a.utc(A),I=W.a.utc(R),$=0,N=0;v.totalDays=I.startOf("day").diff(E.startOf("day"),"days")+$+N+1,(v.totalDays<0||isNaN(v.totalDays))&&(v.totalDays=0),v.detail.min_book_days>0&&(v.totalDays=Math.max(v.detail.min_book_days,v.totalDays))}return v}function Be(e,t){return e&&e.details[t]}var Me={namespaced:!0,state:{referrer:"",contactInfo:{address_district:null,address:"",lastName:"",firstName:"",gender:"",email:"",phone:"",fwcFirstname:"",fwcLastname:"",fwcNumber:"",countryCode:"",remark:""},pickup:!1,coupon:null,comment:"",lines:[],purchaseFetching:!1},mutations:(Te={},Object(d["a"])(Te,De,(function(e,t){e.lines=t.lines.filter((function(e){return Be(e.product,t.locale)})).map(Le),e.coupon=null})),Object(d["a"])(Te,Se,(function(e,t){e.contactInfo=Object(ie["a"])({},e.contactInfo,{},t)})),Object(d["a"])(Te,Ae,(function(e,t){var n={};Object(y["h"])(t);var i=t.first_name,r=t.last_name,a=t.email,o=t.address_district,s=t.address;if(n=Object.assign(n,{firstName:i,lastName:r,address_district:o,address:s}),t.phone){var c=t.phone,u=c.country_code,l=c.national_number;n=Object.assign(n,{countryCode:u,phone:l})}n=Object.assign(n,{email:a});var d=t.last_booking_info;if(d){var p=d.country_code,m=d.national_number,h=d.user_email,f=d.user_first_name,v=d.user_gender,g=d.user_last_name,b={};p&&(b.countryCode=p),m&&(b.phone=m),h&&(b.email=h),f&&(b.firstName=f),g&&(b.lastName=g),v&&(b.gender=v),n=Object.assign(n,b)}e.contactInfo=Object(ie["a"])({},t,{},n)})),Object(d["a"])(Te,Ne,(function(e,t){e.coupon=t})),Object(d["a"])(Te,xe,(function(e,t){e.contactInfo.address=t.address,t.address_district&&(e.contactInfo.address_district=t.address_district)})),Object(d["a"])(Te,$e,(function(e,t){e.purchaseFetching=t})),Object(d["a"])(Te,Re,(function(e,t){e.pickup=t})),Object(d["a"])(Te,Ee,(function(e,t){e.comment=t})),Object(d["a"])(Te,Ie,(function(e){e.lines=[],e.coupon=null})),Te),actions:{initPurchaseInfo:function(e,t){var n=e.commit,i=e.rootState;return Object(l["a"])(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,n(Ie);case 2:return e.next=4,n(Ae,i.user.info);case 4:return e.next=6,n(De,Object(ie["a"])({},t,{locale:i.common.locale}));case 6:case"end":return e.stop()}}),e)})))()},updatePurchaseCoupon:function(e,t){var n=e.commit;n(Ne,t)},updatePurchaseContactAddress:function(e,t){var n=e.commit,i=t.address_district,r=t.address,a=t.setAsDefault;return Object(l["a"])(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(!a){e.next=12;break}return e.next=3,n($e,!0);case 3:return e.prev=3,t={address:r},i&&(t.address_district_id=i.id),e.next=8,p["a"].auth.updateShippingAddress(t);case 8:return e.prev=8,e.next=11,n($e,!1);case 11:return e.finish(8);case 12:n(xe,{address_district:i,address:r});case 13:case"end":return e.stop()}}),e,null,[[3,,8,12]])})))()},updatePurchaseShippingPickup:function(e,t){var n=e.commit;n(Re,t)},updatePurchaseComment:function(e,t){var n=e.commit;n(Ee,t)},setPurchaseContactInfo:function(e,t){var n=e.commit;n(Se,t)}},getters:je};c["default"].use(u["a"]);t["a"]=new u["a"].Store({modules:{common:ne,user:k,product:x,checkout:K,basket:Oe,purchase:Me}})},4604:function(e,t,n){"use strict";var i=n("6887"),r=n.n(i);r.a},4678:function(e,t,n){var i={"./af":"2bfb","./af.js":"2bfb","./ar":"8e73","./ar-dz":"a356","./ar-dz.js":"a356","./ar-kw":"423e","./ar-kw.js":"423e","./ar-ly":"1cfd","./ar-ly.js":"1cfd","./ar-ma":"0a84","./ar-ma.js":"0a84","./ar-sa":"8230","./ar-sa.js":"8230","./ar-tn":"6d83","./ar-tn.js":"6d83","./ar.js":"8e73","./az":"485c","./az.js":"485c","./be":"1fc1","./be.js":"1fc1","./bg":"84aa","./bg.js":"84aa","./bm":"a7fa","./bm.js":"a7fa","./bn":"9043","./bn.js":"9043","./bo":"d26a","./bo.js":"d26a","./br":"68875","./br.js":"68875","./bs":"2554","./bs.js":"2554","./ca":"d716","./ca.js":"d716","./cs":"3c0d","./cs.js":"3c0d","./cv":"03ec","./cv.js":"03ec","./cy":"9797","./cy.js":"9797","./da":"0f14","./da.js":"0f14","./de":"b469","./de-at":"b3eb","./de-at.js":"b3eb","./de-ch":"bb71","./de-ch.js":"bb71","./de.js":"b469","./dv":"598a","./dv.js":"598a","./el":"8d47","./el.js":"8d47","./en-SG":"cdab","./en-SG.js":"cdab","./en-au":"0e6b","./en-au.js":"0e6b","./en-ca":"3886","./en-ca.js":"3886","./en-gb":"39a6","./en-gb.js":"39a6","./en-ie":"e1d3","./en-ie.js":"e1d3","./en-il":"7333","./en-il.js":"7333","./en-nz":"6f50","./en-nz.js":"6f50","./eo":"65db","./eo.js":"65db","./es":"898b","./es-do":"0a3c","./es-do.js":"0a3c","./es-us":"55c9","./es-us.js":"55c9","./es.js":"898b","./et":"ec18","./et.js":"ec18","./eu":"0ff2","./eu.js":"0ff2","./fa":"8df4","./fa.js":"8df4","./fi":"81e9","./fi.js":"81e9","./fo":"0721","./fo.js":"0721","./fr":"9f26","./fr-ca":"d9f8","./fr-ca.js":"d9f8","./fr-ch":"0e49","./fr-ch.js":"0e49","./fr.js":"9f26","./fy":"7118","./fy.js":"7118","./ga":"5120","./ga.js":"5120","./gd":"f6b4","./gd.js":"f6b4","./gl":"8840","./gl.js":"8840","./gom-latn":"0caa","./gom-latn.js":"0caa","./gu":"e0c5","./gu.js":"e0c5","./he":"c7aa","./he.js":"c7aa","./hi":"dc4d","./hi.js":"dc4d","./hr":"4ba9","./hr.js":"4ba9","./hu":"5b14","./hu.js":"5b14","./hy-am":"d6b6","./hy-am.js":"d6b6","./id":"5038","./id.js":"5038","./is":"0558","./is.js":"0558","./it":"6e98","./it-ch":"6f12","./it-ch.js":"6f12","./it.js":"6e98","./ja":"079e","./ja.js":"079e","./jv":"b540","./jv.js":"b540","./ka":"201b","./ka.js":"201b","./kk":"6d79","./kk.js":"6d79","./km":"e81d","./km.js":"e81d","./kn":"3e92","./kn.js":"3e92","./ko":"22f8","./ko.js":"22f8","./ku":"2421","./ku.js":"2421","./ky":"9609","./ky.js":"9609","./lb":"440c","./lb.js":"440c","./lo":"b29d","./lo.js":"b29d","./lt":"26f9","./lt.js":"26f9","./lv":"b97c","./lv.js":"b97c","./me":"293c","./me.js":"293c","./mi":"688b","./mi.js":"688b","./mk":"6909","./mk.js":"6909","./ml":"02fb","./ml.js":"02fb","./mn":"958b","./mn.js":"958b","./mr":"39bd","./mr.js":"39bd","./ms":"ebe4","./ms-my":"6403","./ms-my.js":"6403","./ms.js":"ebe4","./mt":"1b45","./mt.js":"1b45","./my":"8689","./my.js":"8689","./nb":"6ce3","./nb.js":"6ce3","./ne":"3a39","./ne.js":"3a39","./nl":"facd","./nl-be":"db29","./nl-be.js":"db29","./nl.js":"facd","./nn":"b84c","./nn.js":"b84c","./pa-in":"f3ff","./pa-in.js":"f3ff","./pl":"8d57","./pl.js":"8d57","./pt":"f260","./pt-br":"d2d4","./pt-br.js":"d2d4","./pt.js":"f260","./ro":"972c","./ro.js":"972c","./ru":"957c","./ru.js":"957c","./sd":"6784","./sd.js":"6784","./se":"ffff","./se.js":"ffff","./si":"eda5","./si.js":"eda5","./sk":"7be6","./sk.js":"7be6","./sl":"8155","./sl.js":"8155","./sq":"c8f3","./sq.js":"c8f3","./sr":"cf1e","./sr-cyrl":"13e9","./sr-cyrl.js":"13e9","./sr.js":"cf1e","./ss":"52bd","./ss.js":"52bd","./sv":"5fbd","./sv.js":"5fbd","./sw":"74dc","./sw.js":"74dc","./ta":"3de5","./ta.js":"3de5","./te":"5cbb","./te.js":"5cbb","./tet":"576c","./tet.js":"576c","./tg":"3b1b","./tg.js":"3b1b","./th":"10e8","./th.js":"10e8","./tl-ph":"0f38","./tl-ph.js":"0f38","./tlh":"cf75","./tlh.js":"cf75","./tr":"0e81","./tr.js":"0e81","./tzl":"cf51","./tzl.js":"cf51","./tzm":"c109","./tzm-latn":"b53d","./tzm-latn.js":"b53d","./tzm.js":"c109","./ug-cn":"6117","./ug-cn.js":"6117","./uk":"ada2","./uk.js":"ada2","./ur":"5294","./ur.js":"5294","./uz":"2e8c","./uz-latn":"010e","./uz-latn.js":"010e","./uz.js":"2e8c","./vi":"2921","./vi.js":"2921","./x-pseudo":"fd7e","./x-pseudo.js":"fd7e","./yo":"7f33","./yo.js":"7f33","./zh-cn":"5c3a","./zh-cn.js":"5c3a","./zh-hk":"49ab","./zh-hk.js":"49ab","./zh-tw":"90ea","./zh-tw.js":"90ea"};function r(e){var t=a(e);return n(t)}function a(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}r.keys=function(){return Object.keys(i)},r.resolve=a,e.exports=r,r.id="4678"},"471f":function(e,t,n){},"4bfd":function(e,t,n){},"4f3b":function(e,t,n){"use strict";var i=n("8100"),r=n.n(i);r.a},"517f":function(e,t,n){},"56d7":function(e,t,n){"use strict";n.r(t);n("96cf");var i=n("1da1"),r=(n("e260"),n("e6cf"),n("cca6"),n("a79d"),n("2b0e")),a=n("0ae6"),o=n.n(a),s=n("62d8"),c=n.n(s),u=n("1881"),l=n.n(u),d=n("cace"),p=n.n(d),m=n("0a63"),h=n.n(m),f=n("7212"),v=n.n(f),g=(n("bbe3"),n("ec45")),b=(n("048b"),n("7b16"),n("2a5e"),n("411c"),n("a65d")),_=n.n(b),y=n("e057"),k=n.n(y),C=n("5b6c"),w=n.n(C),P=n("9ead"),T=n.n(P),O=n("5b7e"),D=n.n(O),S=n("a584"),x=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"app"}},[n("TopNav"),n("router-view"),n("Footer"),n("DialogAuth"),n("modal",{attrs:{name:"destinations",width:800,height:"auto",scrollable:""}},[n("div",{staticClass:"dest-dlg-title"},[e._v(" "+e._s(e.$t("Destinations"))+" "),n("button",{staticClass:"modal-close-button",on:{click:e.closeDestinations}},[n("i",{staticClass:"iconfont iconclose"})])]),n("Destinations")],1)],1)},A=[],R=n("5530"),E=n("2f62"),I=n("90b9"),$=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"top-nav"},[n("div",{staticClass:"top-nav-container container"},[n("a",{staticClass:"logo",attrs:{href:"/"}}),n("QuickSearch"),n("div",{staticClass:"menus"},[n("div",{staticClass:"menu-list"},[n("div",{staticClass:"menu-item",on:{click:e.showDestinations}},[e._v(" "+e._s(e.$t("Destinations"))+" ")]),e.$env.isCom&&e.isShowLangSwitch&&!e.isInCartRoutine?n("div",{staticClass:"menu-item"},[n("v-selectmenu",{ref:"currencySelector",attrs:{data:e.currencyData,type:"regular",align:"center",title:!1}},[n("span",[e._v(e._s(e.currency))])])],1):e._e(),e.$env.isCom&&e.isShowLangSwitch&&!e.isInCartRoutine?n("div",{staticClass:"menu-item"},[n("v-selectmenu",{ref:"langSelector",attrs:{data:e.langData,type:"regular",align:"center",title:!1}},[n("span",[e._v(e._s(e.localeName))])])],1):e._e(),n("div",{staticClass:"menu-item",on:{click:e.onBasketClick}},[n("i",{staticClass:"cart-icon iconfont iconcart1"}),n("span",[e._v(e._s(e.$t("Cart")))])]),e.userInfo?n("div",{staticClass:"menu-item"},[n("v-selectmenu",{ref:"accountMenus",staticClass:"user-info",attrs:{data:e.accountMenus,type:"regular",align:"center",title:!1}},[n("i",{staticClass:"iconfont iconhead"}),n("span",[e._v(e._s(e.userName))])])],1):n("div",{staticClass:"menu-item",on:{click:e.onLoginClick}},[e._v(" "+e._s(e.$t("Login"))+" ")])])])],1)])},N=[],j=(n("99af"),n("c975"),n("d81d"),n("45fc"),n("b0c0"),[{value:"en_US",text:"English"},{value:"zh_CN",text:"简体中文"},{value:"zh_HK",text:"繁體中文"}]),L=[{value:"CNY",text:"¥"},{value:"USD",text:"$"},{value:"HKD",text:"$"},{value:"TWD",text:"$"}],B=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"quick-search"},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.searchText,expression:"searchText"}],attrs:{type:"text",placeholder:e.$t("Search Destination, Ticket, Tour")},domProps:{value:e.searchText},on:{keypress:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.onEnterPressed(t)},keyup:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:e.onUpPressed(t)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:e.onDownPressed(t)}],focus:e.onInputFocus,blur:e.onInputBlur,input:function(t){t.target.composing||(e.searchText=t.target.value)}}}),e.showResults?n("div",{staticClass:"search-result"},[e.resultCities.length||e.resultProducts.length?n("div",{staticClass:"result-list"},[e._l(e.resultCities,(function(t,i){return n("a",{key:t.id,staticClass:"result-item city",class:{active:e.isActive(i,"city")},attrs:{href:"/product-list?dest="+t.id,target:"_blank"},on:{click:function(n){return e.deliverySearchEvent(t)}}},[n("span",[e._v(e._s(t.name[e.locale]))])])})),e._l(e.resultProducts,(function(t,i){return n("a",{key:t.id,staticClass:"result-item",class:{active:e.isActive(i,"product")},attrs:{href:"/product/"+t.seo_sn+"/"+t.id,target:"_blank"},on:{click:function(n){return e.deliverySearchEvent(t)}}},[n("span",[e._v(e._s(t.title[e.locale].title))])])}))],2):e.searchText?n("div",{staticClass:"no-result"},[e._v(" "+e._s(e.$t("No search result"))+" ")]):e.searching?e._e():n("div",{staticClass:"hot-dests"},[n("div",{staticClass:"hot-dests-title"},[e._v(" "+e._s(e.$t("Popular Cities"))+" ")]),n("Destinations",{staticClass:"hot-dest-list"})],1)]):e._e()])},M=[],F=(n("4de4"),n("fb6a"),n("ac1f"),n("841c"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"destinations"},[e.loading?n("vue-simple-spinner",{attrs:{"line-fg-color":"#36A4C5"}}):e._l(e.destinations,(function(t){return n("div",{key:t.name,staticClass:"dest-block"},[n("div",{staticClass:"dest-country"},[e._v(e._s(e._f("lang")(t.details,e.locale,"title")))]),n("div",{staticClass:"dest-cities"},e._l(t.cities,(function(t){return n("a",{key:t.id,staticClass:"dest-item",attrs:{href:"/product-list?dest="+t.id+(e.productFilter.type?"&type="+e.productFilter.type.join(","):"")},on:{click:function(n){return e.deliverySearchEvent(t)}}},[e._v(" "+e._s(e._f("lang")(t.details,e.locale,"title"))+" ")])})),0)])}))],2)}),U=[],q={data:function(){return{loading:!1}},mounted:function(){this.getData()},computed:Object(R["a"])({},Object(E["d"])("common",["destinations"]),{},Object(E["d"])("product",["productFilter"])),methods:Object(R["a"])({},Object(E["b"])("common",["getDestinations"]),{getData:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,e.loading=!0,t.next=4,e.getDestinations(e.$i18n.locale);case 4:t.next=8;break;case 6:t.prev=6,t.t0=t["catch"](0);case 8:return t.prev=8,e.loading=!1,t.finish(8);case 11:case"end":return t.stop()}}),t,null,[[0,6,8,11]])})))()},deliverySearchEvent:function(e){window.dataLayer.push({event:"search",search_item:e})}})},V=q,H=(n("3f2f"),n("2877")),W=Object(H["a"])(V,F,U,!1,null,"bc750a4e",null),z=W.exports,Y=n("b012"),G={components:{Destinations:z},data:function(){return{selectedIndex:0,searchText:"",showResults:!1,results:null,searching:!1}},computed:{resultCities:function(){var e=this;return this.results&&this.results.pog_cities?this.results.pog_cities.filter((function(t){return t.name&&t.name[e.locale]})).slice(0,3):[]},resultProducts:function(){var e=this;return this.results&&this.results.products?this.results.products.filter((function(t){return t.title&&t.title[e.locale]&&t.title[e.locale].title})).slice(0,10):[]}},created:function(){this.doSearchDebounce=Object(Y["debounce"])(this.doSearch,300)},methods:{isActive:function(e,t){var n=this.selectedIndex,i=this.resultCities.length,r=this.resultProducts.length;if(n>-1)switch(t){case"city":if(i>0)return n===e;break;case"product":if(r>0)return n===i+e;break}return!1},onUpPressed:function(){var e=this.resultCities.length+this.resultProducts.length;this.showResults&&e&&(this.selectedIndex=this.selectedIndex-1,this.selectedIndex<0&&(this.selectedIndex=e-1))},onDownPressed:function(){if(this.showResults){var e=this.resultCities.length+this.resultProducts.length;this.showResults&&e&&(this.selectedIndex=this.selectedIndex+1,this.selectedIndex>=e&&(this.selectedIndex=0))}},onInputFocus:function(){this.showResults=!0},onInputBlur:function(){var e=this;setTimeout((function(){e.showResults=!1}),300)},deliverySearchEvent:function(e){window.dataLayer.push({event:"search",search_item:e})},doSearch:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(e.searchText){t.next=3;break}return e.results=null,t.abrupt("return");case 3:return t.prev=3,e.searching=!0,t.next=7,e.$api.common.search({scope:"pog_city,product,RTR,RTR-product",keyword:e.searchText,platforms__in:0});case 7:n=t.sent,e.results=n;case 9:return t.prev=9,e.searching=!1,t.finish(9);case 12:case"end":return t.stop()}}),t,null,[[3,,9,12]])})))()},onEnterPressed:function(){var e=this.selectedIndex,t=this.resultCities,n=this.resultProducts;e>-1?e-1},isShowLangSwitch:function(){return["CheckoutInfo","CheckoutPayment"].indexOf(this.$route.name)<0},userName:function(){return this.userInfo?this.userInfo.first_name?"".concat(this.userInfo.first_name," ").concat(this.userInfo.last_name):this.userInfo.phone?this.userInfo.phone.national_number:this.userInfo.email?this.userInfo.email:"":""},accountMenus:function(){var e=this;return[{content:this.$t("Personal info"),callback:function(){e.onMyProfileClick()}},{content:this.$t("My coupon"),callback:function(){e.onMyCouponClick()}},{content:this.$t("My order"),callback:function(){e.onMyOrderClick()}},{content:this.$t("My favorites"),callback:function(){e.onWishListClick()}},{content:this.$t("Logout"),callback:function(){e.onLogoutClick()}}]},isShowFlanMarketLogo:function(){return"Home"===this.$route.name||"ProductListDelivery"===this.$route.name||"ProductListRestaurant"===this.$route.name||"RestaurantQRCode"===this.$route.name||"RestaurantTrasfer"===this.$route.name},isEventRoute:function(){return["EventInfo"].indexOf(this.$route.name)>-1}},methods:Object(R["a"])({},Object(E["b"])("common",["updateLocale","updateCurrency"]),{},Object(E["b"])("user",["logout"]),{hidePopupMenus:function(){this.$refs.langSelector&&this.$refs.langSelector.show&&this.$refs.langSelector.close(),this.$refs.currencySelector&&this.$refs.currencySelector.show&&this.$refs.currencySelector.close(),this.$refs.accountMenus&&this.$refs.accountMenus.show&&this.$refs.accountMenus.close()},onLangSelected:function(e){window.localStorage.setItem("locale",e.value),this.$i18n.locale=e.value,this.updateLocale(e.value)},onCurrencySelected:function(e){window.localStorage.setItem("currency",e.value),this.updateCurrency(e.value)},showDestinations:function(){this.$modal.show("destinations")},onLoginClick:function(){this.showAuthModal("authIndex")},onLogoutClick:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.logout();case 2:e.$route.matched.some((function(e){return e.meta&&e.meta.requiresAuth}))?window.location.href="/":window.location.reload();case 3:case"end":return t.stop()}}),t)})))()},onMyCouponClick:function(){"CouponList"!==this.$route.name&&this.$router.push({name:"CouponList"})},onMyOrderClick:function(){"OrderList"!==this.$route.name&&this.$router.push({name:"OrderList"})},onWishListClick:function(){"WishList"!==this.$route.name&&this.$router.push({name:"WishList"})},onMyProfileClick:function(){"Profile"!==this.$route.name&&this.$router.push({name:"Profile"})},onBasketClick:function(){"BasketList"!==this.$route.name&&(this.userInfo?this.$router.push({name:"BasketList"}):this.showAuthModal("authIndex"))}}),mounted:function(){window.addEventListener("scroll",this.hidePopupMenus),window.addEventListener("resize",this.hidePopupMenus)},beforeDestroy:function(){window.removeEventListener("scroll",this.hidePopupMenus),window.removeEventListener("resize",this.hidePopupMenus)}},Z=J,ee=(n("69d6"),Object(H["a"])(Z,$,N,!1,null,"20448cd0",null)),te=ee.exports,ne=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"footer"},[n("div",{staticClass:"container"},[n("div",{staticClass:"list"},[n("div",{staticClass:"list-item"},[n("div",{staticClass:"title"},[e._v(e._s(e.$t("About TravelFlan")))]),n("router-link",{attrs:{to:{path:"/about/us"}}},[e._v(e._s(e.$t("About us")))]),n("a",{attrs:{href:"https://blog.travelflan.com/",target:"_blank"}},[e._v(e._s(e.$t("Travel Blog")))]),n("router-link",{attrs:{to:{path:"/about/join"}}},[e._v(e._s(e.$t("Join us")))]),n("router-link",{attrs:{to:{path:"/about/partners"}}},[e._v(e._s(e.$t("Partners")))])],1),n("div",{staticClass:"list-item"},[n("div",{staticClass:"title"},[e._v(e._s(e.$t("Terms of service")))]),n("router-link",{attrs:{to:{path:"/policy/privacy"}}},[e._v(e._s(e.$t("Privacy policy")))]),n("router-link",{attrs:{to:{path:"/policy/terms-of-service"}}},[e._v(e._s(e.$t("Terms of service")))]),n("router-link",{attrs:{to:{path:"/policy/refund"}}},[e._v(e._s(e.$t("REFUND POLICIES")))]),n("router-link",{attrs:{to:{path:"/policy/faq"}}},[e._v(e._s(e.$t("FAQ")))])],1),n("div",{staticClass:"list-item contact"},[e.$env.isCom?n("div",{staticClass:"title"},[n("span",[e._v(e._s(e.$t("Go chat")))]),e._m(0),e._m(1)]):n("div",{staticClass:"title"},[e._v(e._s(e.$t("Contact us")))]),e.$env.isCom?n("div",{staticClass:"info"},[n("span",{staticClass:"label"},[e._v(e._s(e.$t("Phone")))]),n("span",[e._v("+852 2789 9773")])]):e._e(),n("div",{staticClass:"info"},[n("span",{staticClass:"label"},[e._v(e._s(e.$t("Email")))]),n("span",[e._v("hello@travelflan.com")])]),n("div",{staticClass:"info"},[n("span",{staticClass:"label"},[e._v(e._s(e.$t("Office hour")))]),e.$env.isCn?n("span",{staticClass:"content",domProps:{innerHTML:e._s(e.$t("Mon-Fri 10am - 7pm{timezone}, Sat 2pm-6pm{timezone} (Exclude Sun and Public Holiday)",{timezone:""}))}}):n("span",{staticClass:"content",domProps:{innerHTML:e._s(e.$t("Mon-Fri 10am - 7pm{timezone}, Sat 2pm-6pm{timezone} (Exclude Sun and Public Holiday)",{timezone:" (HKT)"}))}})])]),n("div",{staticClass:"list-item payment"},[e.$env.isCn?[e._m(2),e._m(3)]:e._e(),e.$env.isCom?[e._m(4),e._m(5),e._m(6),e._m(7),e._m(8)]:e._e()],2)]),n("div",{staticClass:"copyright"},[e.$env.isCn?n("span",[e._v("Copyright © 2020 深圳市前海自乐游旅游科技有限公司 "),n("a",{attrs:{href:"http://beian.miit.gov.cn/",target:"_blank"}},[e._v("粤ICP备17159594号")])]):e._e(),e.$env.isCom?n("span",[e._v("Copyright © 2020 freeD Group Limited")]):e._e(),n("span",[e._v(" | "+e._s(e.$t("Traveling Agency License No: 354488")))])])])])},ie=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("a",{attrs:{href:"http://m.me/travelflan",target:"_blank"}},[n("img",{attrs:{src:"/static/images/icons/icon_facebook@2x.png",alt:""}})])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("a",{attrs:{href:"https://wa.me/85267362836",target:"_blank"}},[n("img",{attrs:{src:"/static/images/icons/icon_whatsapp@2x.png",alt:""}})])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"payment-item"},[n("img",{attrs:{src:"/static/images/icons/icon_alipay2.jpg",alt:""}})])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"payment-item"},[n("img",{attrs:{src:"/static/images/icons/icon_wecahtpay.jpg",alt:""}})])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"payment-item"},[n("img",{attrs:{src:"/static/images/icons/icon_alipay2.jpg",alt:""}})])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"payment-item"},[n("img",{attrs:{src:"/static/images/icons/icon_pp.jpg",alt:""}})])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"payment-item"},[n("img",{attrs:{src:"/static/images/icons/icon_visa.jpg",alt:""}})])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"payment-item"},[n("img",{attrs:{src:"/static/images/icons/icon_master.jpg",alt:""}})])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"payment-item"},[n("img",{attrs:{src:"/static/images/icons/icon_axp.jpg",alt:""}})])}],re=(n("8f11"),{}),ae=Object(H["a"])(re,ne,ie,!1,null,"b759be0a",null),oe=ae.exports,se=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("modal",{attrs:{name:"authModal",width:560,height:"auto",scrollable:"","click-to-close":!1}},[n("div",{staticClass:"auth-title"},[n("button",{staticClass:"modal-close-button",on:{click:e.hideAuthModal}},[n("i",{staticClass:"iconfont iconclose"})])]),"authIndex"===e.authDialogType?n("AuthIndex"):e._e(),"signIn"===e.authDialogType?n("Login"):e._e(),"signUp"===e.authDialogType?n("Register"):e._e(),"passwordReset"===e.authDialogType?n("PasswordReset"):e._e(),"passwordResetResult"===e.authDialogType?n("PasswordResetResult"):e._e(),"verifyPhone"===e.authDialogType?n("VerifyPhone"):e._e()],1)},ce=[],ue=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"auth-container"},["wechat"===e.loginType?[i("div",{staticClass:"wechat-login-qr-code"},[i("iframe",{attrs:{allowTransparency:"true",scrolling:"no",width:"300px",height:"400px",src:e.wechatLoginQrCodeUrl,frameborder:"0"}})])]:i("form",{staticClass:"auth-form",on:{submit:function(t){return t.preventDefault(),e.handleLogin(t)}}},["email"===e.loginType?i("div",{staticClass:"form-item"},[i("label",[e._v(e._s(e.$t("Email")))]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.formData.username,expression:"formData.username"}],attrs:{type:"text",placeholder:e.$t("Email")},domProps:{value:e.formData.username},on:{input:function(t){t.target.composing||e.$set(e.formData,"username",t.target.value)}}})]):e._e(),"phone"===e.loginType||"code"===e.loginType?i("div",{staticClass:"form-item"},[i("label",[e._v("+86")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.formData.username,expression:"formData.username"}],attrs:{type:"text",maxlength:"11",placeholder:e.$t("auth.phoneNumber")},domProps:{value:e.formData.username},on:{input:function(t){t.target.composing||e.$set(e.formData,"username",t.target.value)}}})]):e._e(),"code"===e.loginType?i("div",{staticClass:"form-item"},[i("label",[e._v(e._s(e.$t("Code")))]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.formData.password,expression:"formData.password"}],attrs:{type:"text",autocomplete:"new-password",maxlength:"6",placeholder:e.$t("auth.sixDigits")},domProps:{value:e.formData.password},on:{input:function(t){t.target.composing||e.$set(e.formData,"password",t.target.value)}}}),i("button",{staticClass:"button-send-code",attrs:{type:"button",disabled:e.isVerifyCodeButtonDisabled},on:{click:e.sendVerifyClick}},[e._v(e._s(e.verifyCodeButtonText))])]):e._e(),"phone"===e.loginType||"email"===e.loginType?i("div",{staticClass:"form-item"},[i("label",[e._v(e._s(e.$t("Password")))]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.formData.password,expression:"formData.password"}],attrs:{type:"password",autocomplete:"new-password",placeholder:e.$t("Password")},domProps:{value:e.formData.password},on:{input:function(t){t.target.composing||e.$set(e.formData,"password",t.target.value)}}})]):e._e(),e.formError?i("div",{staticClass:"form-error"},[i("span",[e._v(e._s(e.formError))])]):e._e(),i("button",{staticClass:"submit-button",attrs:{type:"submit"}},[e.submitting?i("vue-simple-spinner",{attrs:{"line-fg-color":"#36A4C5"}}):i("span",[e._v(e._s(e.$t("Login")))])],1),e.$env.isCn&&"phone"===e.loginType?i("div",{staticClass:"logion-type-container"},[i("div",{staticClass:"logion-type-list"},[i("div",{staticClass:"logion-type-item",on:{click:function(t){return e.switchLoginType("wechat")}}},[i("img",{attrs:{src:n("a4b2")}}),i("span",[e._v(e._s(e.$t("auth.wechatLogin")))])]),i("div",{staticClass:"logion-type-item",on:{click:function(t){return e.switchLoginType("email")}}},[i("img",{attrs:{src:n("9fe4")}}),i("span",[e._v(e._s(e.$t("auth.emailLogin")))])]),i("div",{staticClass:"logion-type-item",on:{click:function(t){return e.switchLoginType("code")}}},[i("img",{attrs:{src:n("60d2")}}),i("span",[e._v(e._s(e.$t("auth.msgCodeLogin")))])])])]):e._e()]),e.$env.isCn?["phone"!==e.loginType?i("div",{staticClass:"switch-modal-type left"},[i("a",{staticClass:"highlight",on:{click:function(t){return e.switchLoginType("phone")}}},[e._v("<")]),i("a",{on:{click:function(t){return e.switchLoginType("phone")}}},[e._v(e._s(e.$t("auth.backToSign")))])]):i("div",{staticClass:"switch-modal-type"},[i("a",{on:{click:function(t){return e.updateAuthDialogType("passwordReset")}}},[e._v(e._s(e.$t("auth.forgotPassword")))]),i("a",{staticClass:"highlight",on:{click:function(t){return e.updateAuthDialogType("signUp")}}},[e._v(e._s(e.$t("auth.signup")))])])]:[i("div",{staticClass:"switch-modal-type"},[i("a",{staticClass:"highlight",on:{click:function(t){return e.updateAuthDialogType("passwordReset")}}},[e._v(e._s(e.$t("auth.forgotPassword")))])]),i("div",{staticStyle:{"text-align":"center"}},[i("button",{staticClass:"submit-button button-danger button-signup",staticStyle:{display:"inline-block",width:"auto"},on:{click:function(t){return e.updateAuthDialogType("signUp")}}},[i("span",[e._v(e._s(e.$t("Create account")))])])])]],2)},le=[],de=(n("498a"),{login:function(e){var t={scope:"email, public_profile",auth_types:"rerequest",return_scopes:!0};return window.FB.login(e,t)},getLoginStatus:function(e){return window.FB.getLoginStatus(e)},getUserInfo:function(e){var t="/me",n={fields:"id,name,email,first_name,last_name"};return window.FB.api(t,n,e)}}),pe={data:function(){return{loginType:this.$env.isCn?"phone":"email",formData:{username:null,password:null,password1:""},formError:"",submitting:!1,isVerifyCodeButtonDisabled:!1,verifyCodeButtonText:this.$t("auth.verification"),verifyCodeTimer:null}},methods:Object(R["a"])({},Object(E["b"])("user",["wechatLogin","login","facebookLogin","facebookRegister"]),{addWechatCallback:function(){var e=this;window.onWechatCodeRecieved||(window.onWechatCodeRecieved=function(){var t=Object(i["a"])(regeneratorRuntime.mark((function t(n){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,e.wechatLogin({code:n});case 3:e.hideAuthModal(),t.next=9;break;case 6:t.prev=6,t.t0=t["catch"](0),console.warn(t.t0);case 9:case"end":return t.stop()}}),t,null,[[0,6]])})));return function(e){return t.apply(this,arguments)}}())},initFormData:function(){Object.assign(this.formData,{username:null,password:null,password1:""})},switchLoginType:function(e){this.formError="",this.submitting=!1,this.loginType=e,this.initFormData(),this.verifyCodeTimer&&(this.isVerifyCodeButtonDisabled=!1,this.verifyCodeButtonText=this.$t("auth.verification"),clearInterval(this.verifyCodeTimer),this.verifyCodeTimer=null)},handleLogin:function(e){"phone"===this.loginType?this.phonePasswordLogin():"email"===this.loginType?this.emailPasswordLogin():"code"===this.loginType&&this.phoneCodeLogin()},phonePasswordLogin:function(){this.formError="",this.formData.username?/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.formData.username)?this.formData.password?this.doLogin({username:"+86 "+this.formData.username,password:this.formData.password,auth_type:1,provider:0}):this.formError=this.$t("auth.passwordNeeded"):this.formError=this.$t("auth.phoneNumberError"):this.formError=this.$t("auth.phoneNumberNeeded")},emailPasswordLogin:function(){this.formError="",this.formData.username.trim()?this.formData.password?this.doLogin({username:this.formData.username.trim(),password:this.formData.password,auth_type:0,provider:0}):this.formError=this.$t("auth.passwordNeeded"):this.formError=this.$t("auth.emailNeeded")},phoneCodeLogin:function(){this.formError="",this.formData.username?/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.formData.username)?this.formData.password?this.doLogin({username:"+86 "+this.formData.username,password:this.formData.password,auth_type:2,provider:0}):this.formError=this.$t("auth.verificationNeeded"):this.formError=this.$t("auth.phoneNumberError"):this.formError=this.$t("auth.phoneNumberNeeded")},doLogin:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function n(){var i;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return t.submitting=!0,n.prev=1,n.next=4,t.login(e);case 4:t.$env.isCn?t.userInfo.is_phone_verified?t.hideAuthModal():t.showAuthModal("verifyPhone"):t.hideAuthModal(),n.next=14;break;case 7:n.prev=7,n.t0=n["catch"](1),i=t.$t("auth.userNamePasswordInvalid"),n.t0.phone_not_exist&&(i=t.$t("auth.phoneNumberNotExist")),n.t0&&n.t0.non_field_errors.length&&(n.t0.non_field_errors[0]+"").indexOf("Unable to log in with provided")>-1&&(i=t.$t("auth.userNamePasswordInvalid")),n.t0&&n.t0.non_field_errors.length&&(n.t0.non_field_errors[0]+"").indexOf("This account is not signed up")>-1&&(i=t.$t("Account not exist, please register first")),t.formError=i;case 14:return n.prev=14,t.submitting=!1,n.finish(14);case 17:case"end":return n.stop()}}),n,null,[[1,7,14,17]])})))()},loginByFacebook:function(){var e=this;de.login(function(){var t=Object(i["a"])(regeneratorRuntime.mark((function t(n){var i,r;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(i=n.authResponse,r=n.status,i&&"connected"===r){t.next=3;break}return t.abrupt("return");case 3:return e.hideAuthModal(),t.prev=4,t.next=7,e.doFacebookLogin({asid:n.authResponse.userID,access_token:i.accessToken});case 7:t.next=12;break;case 9:t.prev=9,t.t0=t["catch"](4),e.doFacebookRegister(n.authResponse.userID,i.accessToken);case 12:case"end":return t.stop()}}),t,null,[[4,9]])})));return function(e){return t.apply(this,arguments)}}())},doFacebookLogin:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return n.next=2,t.facebookLogin(e);case 2:case"end":return n.stop()}}),n)})))()},doFacebookRegister:function(e,t){this.$router.push({name:"BindEmail",query:{asid:e,access_token:t,redirect:this.$route.query.redirect}})},sendVerifyClick:function(){var e=this;if(this.formError="",this.formData.username)if(/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.formData.username)){var t=new window.TencentCaptcha(this.$config.tencentCaptchaID,function(){var t=Object(i["a"])(regeneratorRuntime.mark((function t(n){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:0===n.ret&&e.fetchSMSCode({auth_type:1,purpose:1,phone:"+86 "+e.formData.username,ticket:n.ticket,randstr:n.randstr});case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}());t.show()}else this.formError=this.$t("auth.phoneNumberError");else this.formError=this.$t("auth.phoneNumberNeeded")},fetchSMSCode:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function n(){var i;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,t.$api.common.sendPhoneVerifyCode(e);case 3:t.isVerifyCodeButtonDisabled=!0,i=60,t.verifyCodeTimer=setInterval((function(){i>1?(i--,t.verifyCodeButtonText="".concat(t.$t("auth.retryVerification"),"(").concat(i,"s)")):(t.isVerifyCodeButtonDisabled=!1,t.verifyCodeButtonText=t.$t("auth.verification"),clearInterval(t.verifyCodeTimer))}),1e3),n.next=11;break;case 8:n.prev=8,n.t0=n["catch"](0),n.t0.phone_not_exist?t.formError=t.$t("auth.phoneNumberNotExist"):n.t0.data.sms_exceed_limit&&(t.formError=t.$t("auth.exceedMessageLimit"));case 11:case"end":return n.stop()}}),n,null,[[0,8]])})))()}}),computed:{wechatLoginQrCodeUrl:function(){var e=encodeURIComponent(this.$config.wechatAuthCallback);return"https://open.weixin.qq.com/connect/qrconnect?appid="+this.$config.wechatAppID+"&scope=snsapi_login&redirect_uri="+e+"&login_type=jssdk&self_redirect=true"}},mounted:function(){this.addWechatCallback()}},me=pe,he=(n("3f21"),Object(H["a"])(me,ue,le,!1,null,"2238067f",null)),fe=he.exports,ve=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"auth-container"},[n("form",{staticClass:"auth-form",on:{submit:function(t){return t.preventDefault(),e.handleRegister(t)}}},[e.$env.isCn?[n("div",{staticClass:"form-item"},[n("label",[e._v("+86")]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.formData.phone,expression:"formData.phone"}],attrs:{type:"text",maxlength:"11",placeholder:e.$t("auth.phoneNumber")},domProps:{value:e.formData.phone},on:{input:function(t){t.target.composing||e.$set(e.formData,"phone",t.target.value)}}})]),n("div",{staticClass:"form-item"},[n("label",[e._v(e._s(e.$t("Code")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.formData.verification_code,expression:"formData.verification_code"}],attrs:{type:"text",autocomplete:"off",maxlength:"6",placeholder:e.$t("auth.sixDigits")},domProps:{value:e.formData.verification_code},on:{input:function(t){t.target.composing||e.$set(e.formData,"verification_code",t.target.value)}}}),n("button",{staticClass:"button-send-code",attrs:{type:"button",disabled:e.isVerifyCodeButtonDisabled},on:{click:e.sendVerifyClick}},[e._v(e._s(e.verifyCodeButtonText))])])]:n("div",{staticClass:"form-item"},[n("label",[e._v(e._s(e.$t("Email")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.formData.email,expression:"formData.email"}],attrs:{type:"text",placeholder:e.$t("Email")},domProps:{value:e.formData.email},on:{input:function(t){t.target.composing||e.$set(e.formData,"email",t.target.value)}}})]),n("div",{staticClass:"form-item"},[n("label",[e._v(e._s(e.$t("Password")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.formData.password1,expression:"formData.password1"}],attrs:{type:"password",autocomplete:"new-password",placeholder:e.$t("auth.passwordPolicy")},domProps:{value:e.formData.password1},on:{input:function(t){t.target.composing||e.$set(e.formData,"password1",t.target.value)}}})]),e.formError?n("div",{staticClass:"form-error"},[n("span",[e._v(e._s(e.formError))])]):e._e(),n("button",{staticClass:"submit-button button-danger",attrs:{type:"submit"}},[e.submitting?n("vue-simple-spinner",{attrs:{"line-fg-color":"#36A4C5"}}):n("span",[e._v(e._s(e.$t("Create account")))])],1)],2),n("div",{staticClass:"switch-modal-type"},[n("a",{staticClass:"highlight",on:{click:function(t){return e.updateAuthDialogType("signIn")}}},[e._v(e._s(e.$t("Go login")))])])])},ge=[],be=(n("c740"),{data:function(){return{loginType:"phone",formData:{phone:"",email:"",password1:"",verification_code:""},formError:"",submitting:!1,isVerifyCodeButtonDisabled:!1,verifyCodeButtonText:this.$t("auth.verification"),verifyCodeTimer:null}},methods:Object(R["a"])({},Object(E["b"])("user",["register"]),{handleRegister:function(e){this.$env.isCn?this.phoneRegister():this.emailRegister()},phoneRegister:function(){this.formError="",this.formData.phone?/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.formData.phone)?this.formData.verification_code?this.formData.password1?Object(I["a"])(this.formData.password1)?this.doRegister({phone:"+86 "+this.formData.phone,password1:this.formData.password1,verification_code:this.formData.verification_code,auth_type:1}):this.formError=this.$t("auth.passwordPolicy"):this.formError=this.$t("auth.passwordNeeded"):this.formError=this.$t("auth.codeNeeded"):this.formError=this.$t("auth.phoneNumberError"):this.formError=this.$t("auth.phoneNumberNeeded")},emailRegister:function(){this.formError="",this.formData.email.trim()?Object(I["e"])(this.formData.email.trim())?this.formData.password1?Object(I["a"])(this.formData.password1)?this.doRegister({email:this.formData.email.trim(),password1:this.formData.password1,password2:this.formData.password1,auth_type:0,provider:0}):this.formError=this.$t("auth.passwordPolicy"):this.formError=this.$t("auth.passwordNeeded"):this.formError=this.$t("Incorrect email format"):this.formError=this.$t("auth.emailNeeded")},doRegister:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function n(){var i;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return t.submitting=!0,n.prev=1,n.next=4,t.register(e);case 4:t.hideAuthModal(),n.next=13;break;case 7:n.prev=7,n.t0=n["catch"](1),console.log(n.t0),i=t.$t("Failed to register"),n.t0.verification_code_error?i=t.$t("Wrong SMS verification code"):n.t0.password1?i=t.$t("The password is too simple"):n.t0.phone_exist?i=t.$t("This phone number has been registered, please login directly"):n.t0.email&&n.t0.email.length&&n.t0.email.findIndex((function(e){return"This field must be unique."===e}))>-1&&(i=t.$t("The email exists, please login directly")),t.formError=i;case 13:return n.prev=13,t.submitting=!1,n.finish(13);case 16:case"end":return n.stop()}}),n,null,[[1,7,13,16]])})))()},sendVerifyClick:function(){var e=this;if(this.formError="",this.formData.phone)if(/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.formData.phone)){var t=new window.TencentCaptcha(this.$config.tencentCaptchaID,function(){var t=Object(i["a"])(regeneratorRuntime.mark((function t(n){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:0===n.ret&&e.fetchSMSCode({auth_type:1,purpose:0,phone:"+86 "+e.formData.phone,ticket:n.ticket,randstr:n.randstr});case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}());t.show()}else this.formError=this.$t("auth.phoneNumberError");else this.formError=this.$t("auth.phoneNumberNeeded")},fetchSMSCode:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function n(){var i,r;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,t.$api.common.sendPhoneVerifyCode(e);case 3:t.isVerifyCodeButtonDisabled=!0,i=60,t.verifyCodeTimer=setInterval((function(){i>1?(i--,t.verifyCodeButtonText="".concat(t.$t("auth.retryVerification"),"(").concat(i,"s)")):(t.isVerifyCodeButtonDisabled=!1,t.verifyCodeButtonText=t.$t("auth.verification"),clearInterval(t.verifyCodeTimer))}),1e3),n.next=12;break;case 8:n.prev=8,n.t0=n["catch"](0),r=n.t0.response,r&&r.data&&r.data.phone_not_exist?t.formError=t.$t("auth.phoneNumberNotExist"):r&&r.data&&r.data.sms_exceed_limit&&(t.formError=t.$t("auth.exceedMessageLimit"));case 12:case"end":return n.stop()}}),n,null,[[0,8]])})))()}})}),_e=be,ye=(n("e3dc"),Object(H["a"])(_e,ve,ge,!1,null,"3d1c1782",null)),ke=ye.exports,Ce=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"auth-container"},[n("form",{staticClass:"auth-form",on:{submit:function(t){return t.preventDefault(),e.handleSubmit(t)}}},[e.$env.isCn?[n("div",{staticClass:"form-item"},[n("label",[e._v("+86")]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.formData.phone,expression:"formData.phone"}],attrs:{type:"text",maxlength:"11",placeholder:e.$t("auth.phoneNumber")},domProps:{value:e.formData.phone},on:{input:function(t){t.target.composing||e.$set(e.formData,"phone",t.target.value)}}})]),n("div",{staticClass:"form-item"},[n("label",[e._v(e._s(e.$t("Code")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.formData.verification_code,expression:"formData.verification_code"}],attrs:{type:"text",autocomplete:"off",maxlength:"6",placeholder:e.$t("auth.sixDigits")},domProps:{value:e.formData.verification_code},on:{input:function(t){t.target.composing||e.$set(e.formData,"verification_code",t.target.value)}}}),n("button",{staticClass:"button-send-code",attrs:{type:"button",disabled:e.isVerifyCodeButtonDisabled},on:{click:e.sendVerifyClick}},[e._v(e._s(e.verifyCodeButtonText))])]),n("div",{staticClass:"form-item"},[n("label",[e._v(e._s(e.$t("Password")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.formData.password1,expression:"formData.password1"}],attrs:{type:"password",autocomplete:"new-password",placeholder:e.$t("auth.passwordPolicy")},domProps:{value:e.formData.password1},on:{input:function(t){t.target.composing||e.$set(e.formData,"password1",t.target.value)}}})])]:n("div",{staticClass:"form-item"},[n("label",[e._v(e._s(e.$t("Email")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.formData.email,expression:"formData.email"}],attrs:{type:"text",placeholder:e.$t("Email")},domProps:{value:e.formData.email},on:{input:function(t){t.target.composing||e.$set(e.formData,"email",t.target.value)}}})]),e.formError?n("div",{staticClass:"form-error"},[n("span",[e._v(e._s(e.formError))])]):e._e(),n("button",{staticClass:"submit-button",attrs:{type:"submit"}},[e.submitting?n("vue-simple-spinner",{attrs:{"line-fg-color":"#36A4C5"}}):n("span",[e._v(e._s(e.$t("Submit")))])],1)],2),n("div",{staticClass:"switch-modal-type"},[n("a",{staticClass:"highlight",on:{click:function(t){return e.updateAuthDialogType("signIn")}}},[e._v(e._s(e.$t("Go login")))])])])},we=[],Pe={data:function(){return{loginType:"phone",formData:{phone:"",email:"",password1:"",verification_code:""},formError:"",submitting:!1,isVerifyCodeButtonDisabled:!1,verifyCodeButtonText:this.$t("auth.verification"),verifyCodeTimer:null}},methods:{handleSubmit:function(e){this.$env.isCn?this.phoneSubmit():this.emailSubmit()},phoneSubmit:function(){this.formError="",this.formData.phone?/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.formData.phone)?this.formData.verification_code?this.formData.password1?Object(I["a"])(this.formData.password1)?this.doSubmit({phone:"+86 "+this.formData.phone,password1:this.formData.password1,verification_code:this.formData.verification_code,auth_type:1}):this.formError=this.$t("auth.passwordPolicy"):this.formError=this.$t("auth.passwordNeeded"):this.formError=this.$t("auth.codeNeeded"):this.formError=this.$t("auth.phoneNumberError"):this.formError=this.$t("auth.phoneNumberNeeded")},emailSubmit:function(){this.formError="",this.formData.email?this.doSubmit({email:this.formData.email.trim()}):this.formError=this.$t("auth.emailNeeded")},doSubmit:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function n(){var i;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return t.submitting=!0,n.prev=1,n.next=4,t.$api.auth.passwordReset(e,t.locale);case 4:t.updateAuthDialogType("passwordResetResult"),n.next=12;break;case 7:n.prev=7,n.t0=n["catch"](1),i=t.$t("Password reset failed"),n.t0.verification_code_error?i=t.$t("Wrong SMS verification code"):n.t0.password1?i=t.$t("The password is too simple"):n.t0.phone_not_exist&&(i=t.$t("The phone number is not registered or bound")),t.formError=i;case 12:return n.prev=12,t.submitting=!1,n.finish(12);case 15:case"end":return n.stop()}}),n,null,[[1,7,12,15]])})))()},sendVerifyClick:function(){var e=this;if(this.formError="",this.formData.phone)if(/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.formData.phone)){var t=new window.TencentCaptcha(this.$config.tencentCaptchaID,function(){var t=Object(i["a"])(regeneratorRuntime.mark((function t(n){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:0===n.ret&&e.fetchSMSCode({auth_type:1,purpose:2,phone:"+86 "+e.formData.phone,ticket:n.ticket,randstr:n.randstr});case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}());t.show()}else this.formError=this.$t("auth.phoneNumberError");else this.formError=this.$t("auth.phoneNumberNeeded")},fetchSMSCode:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function n(){var i,r;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,t.$api.common.sendPhoneVerifyCode(e);case 3:t.isVerifyCodeButtonDisabled=!0,i=60,t.verifyCodeTimer=setInterval((function(){i>1?(i--,t.verifyCodeButtonText="".concat(t.$t("auth.retryVerification"),"(").concat(i,"s)")):(t.isVerifyCodeButtonDisabled=!1,t.verifyCodeButtonText=t.$t("auth.verification"),clearInterval(t.verifyCodeTimer))}),1e3),n.next=12;break;case 8:n.prev=8,n.t0=n["catch"](0),r=n.t0.response,r&&r.data&&r.data.phone_not_exist?t.formError=t.$t("auth.phoneNumberNotExist"):r&&r.data&&r.data.sms_exceed_limit&&(t.formError=t.$t("auth.exceedMessageLimit"));case 12:case"end":return n.stop()}}),n,null,[[0,8]])})))()}}},Te=Pe,Oe=(n("ae17"),Object(H["a"])(Te,Ce,we,!1,null,"7d5f476e",null)),De=Oe.exports,Se=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"auth-container"},[e.$env.isCn?n("h3",[e._v(e._s(e.$t("Password reset successful, please login")))]):e._e(),e.$env.isCom?n("h3",[e._v(e._s(e.$t("Password reset email sent, please check your email and reset your password")))]):e._e(),e.$env.isCn?n("button",{staticClass:"button-ok",on:{click:function(t){return e.updateAuthDialogType("signIn")}}},[e._v(e._s(e.$t("OK")))]):e._e(),e.$env.isCom?n("button",{staticClass:"button-ok",on:{click:function(t){return e.hideAuthModal()}}},[e._v(e._s(e.$t("OK")))]):e._e()])},xe=[],Ae=(n("d29d"),{}),Re=Object(H["a"])(Ae,Se,xe,!1,null,"39a4b62c",null),Ee=Re.exports,Ie=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"auth-container"},[n("form",{staticClass:"auth-form",on:{submit:function(t){return t.preventDefault(),e.handleSubmit(t)}}},[n("div",{staticClass:"form-item"},[n("label",[e._v("+86")]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.formData.phone,expression:"formData.phone"}],attrs:{type:"text",maxlength:"11",placeholder:e.$t("auth.phoneNumber")},domProps:{value:e.formData.phone},on:{input:function(t){t.target.composing||e.$set(e.formData,"phone",t.target.value)}}})]),n("div",{staticClass:"form-item"},[n("label",[e._v(e._s(e.$t("Code")))]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.formData.verification_code,expression:"formData.verification_code"}],attrs:{type:"text",autocomplete:"off",maxlength:"6",placeholder:e.$t("auth.sixDigits")},domProps:{value:e.formData.verification_code},on:{input:function(t){t.target.composing||e.$set(e.formData,"verification_code",t.target.value)}}}),n("button",{staticClass:"button-send-code",attrs:{type:"button",disabled:e.isVerifyCodeButtonDisabled},on:{click:e.sendVerifyClick}},[e._v(e._s(e.verifyCodeButtonText))])]),e.formError?n("div",{staticClass:"form-error"},[n("span",[e._v(e._s(e.formError))])]):e._e(),n("button",{staticClass:"submit-button",attrs:{type:"submit"}},[e.submitting?n("vue-simple-spinner",{attrs:{"line-fg-color":"#36A4C5"}}):n("span",[e._v(e._s(e.$t("Submit")))])],1)]),n("div",{staticClass:"switch-modal-type"},[e._v(" "+e._s(e.$t("auth.mobileNeededReason"))+" ")])])},$e=[],Ne={data:function(){return{loginType:"phone",formData:{phone:"",verification_code:""},formError:"",submitting:!1,isVerifyCodeButtonDisabled:!1,verifyCodeButtonText:this.$t("auth.verification"),verifyCodeTimer:null}},methods:Object(R["a"])({},Object(E["b"])("user",["updatePhoneNumber"]),{handleSubmit:function(e){this.submitting||(this.formError="",this.formData.phone?/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.formData.phone)?this.formData.verification_code?this.doSubmit({phone:"+86 "+this.formData.phone,verification_code:this.formData.verification_code}):this.formError=this.$t("auth.codeNeeded"):this.formError=this.$t("auth.phoneNumberError"):this.formError=this.$t("auth.phoneNumberNeeded"))},doSubmit:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function n(){var i;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return t.submitting=!0,n.prev=1,n.next=4,t.$api.auth.updatePrivacy(t.userInfo.user_id,e);case 4:t.hideAuthModal(),t.updatePhoneNumber(t.formData.phone),n.next=13;break;case 8:n.prev=8,n.t0=n["catch"](1),i=t.$t("Failed to bind the phone, please try again"),n.t0.phone_exist?i=t.$t("This phone number has been bound to other accounts"):n.t0.verification_code_error&&(i=t.$t("Wrong SMS verification code")),t.formError=i;case 13:return n.prev=13,t.submitting=!1,n.finish(13);case 16:case"end":return n.stop()}}),n,null,[[1,8,13,16]])})))()},sendVerifyClick:function(){var e=this;if(this.formError="",this.formData.phone)if(/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.formData.phone)){var t=new window.TencentCaptcha(this.$config.tencentCaptchaID,function(){var t=Object(i["a"])(regeneratorRuntime.mark((function t(n){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:0===n.ret&&e.fetchSMSCode({auth_type:1,purpose:3,phone:"+86 "+e.formData.phone,ticket:n.ticket,randstr:n.randstr});case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}());t.show()}else this.formError=this.$t("auth.phoneNumberError");else this.formError=this.$t("auth.phoneNumberNeeded")},fetchSMSCode:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function n(){var i,r;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,t.$api.common.sendPhoneVerifyCode(e);case 3:t.isVerifyCodeButtonDisabled=!0,i=60,t.verifyCodeTimer=setInterval((function(){i>1?(i--,t.verifyCodeButtonText="".concat(t.$t("auth.retryVerification"),"(").concat(i,"s)")):(t.isVerifyCodeButtonDisabled=!1,t.verifyCodeButtonText=t.$t("auth.verification"),clearInterval(t.verifyCodeTimer))}),1e3),n.next=12;break;case 8:n.prev=8,n.t0=n["catch"](0),r=n.t0.response,r&&r.data&&r.data.phone_not_exist?t.formError=t.$t("auth.phoneNumberNotExist"):r&&r.data&&r.data.sms_exceed_limit&&(t.formError=t.$t("auth.exceedMessageLimit"));case 12:case"end":return n.stop()}}),n,null,[[0,8]])})))()}}),beforeDestroy:function(){this.verifyCodeTimer&&clearInterval(this.verifyCodeTimer)}},je=Ne,Le=(n("4604"),Object(H["a"])(je,Ie,$e,!1,null,"0bf81dcc",null)),Be=Le.exports,Me=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"auth-container"},[n("button",{staticClass:"submit-button facebook",on:{click:function(t){return e.loginByFacebook()}}},[n("span",{staticClass:"iconfont iconfacebook1"}),n("span",[e._v(e._s(e.$t("Login")))])]),n("button",{staticClass:"submit-button",on:{click:function(t){return e.updateAuthDialogType("signIn")}}},[n("span",{staticClass:"iconfont iconemail2"}),n("span",[e._v(e._s(e.$t("Login")))])]),n("button",{staticClass:"submit-button button-danger",on:{click:function(t){return e.updateAuthDialogType("signUp")}}},[n("span",[e._v(e._s(e.$t("Create account")))])])])},Fe=[],Ue={methods:Object(R["a"])({},Object(E["b"])("user",["wechatLogin","login","facebookLogin","facebookRegister"]),{loginByFacebook:function(){var e=this;de.login(function(){var t=Object(i["a"])(regeneratorRuntime.mark((function t(n){var i,r;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(i=n.authResponse,r=n.status,i&&"connected"===r){t.next=3;break}return t.abrupt("return");case 3:return e.hideAuthModal(),t.prev=4,t.next=7,e.doFacebookLogin({asid:n.authResponse.userID,access_token:i.accessToken});case 7:t.next=12;break;case 9:t.prev=9,t.t0=t["catch"](4),e.doFacebookRegister(n.authResponse.userID,i.accessToken);case 12:case"end":return t.stop()}}),t,null,[[4,9]])})));return function(e){return t.apply(this,arguments)}}())}})},qe=Ue,Ve=(n("176a"),Object(H["a"])(qe,Me,Fe,!1,null,"3bd80d7a",null)),He=Ve.exports,We={components:{Login:fe,Register:ke,PasswordReset:De,PasswordResetResult:Ee,VerifyPhone:Be,AuthIndex:He},computed:Object(R["a"])({},Object(E["d"])("user",["authDialogVisible","authDialogType"])),mounted:function(){this.authDialogVisible&&this.showModal()},methods:{showModal:function(){this.$modal.show("authModal")},hideModal:function(){this.$modal.hide("authModal")}},watch:{authDialogVisible:function(e,t){e&&!t&&this.showModal(),!e&&t&&this.hideModal()}}},ze=We,Ye=(n("8cf6"),Object(H["a"])(ze,se,ce,!1,null,"d3b0adc2",null)),Ge=Ye.exports,Ke={components:{TopNav:te,Footer:oe,DialogAuth:Ge,Destinations:z},methods:Object(R["a"])({},Object(E["b"])("common",["getPageSettings"]),{initFacebookSDK:function(){var e=this;this.$env.isCn||(window.fbAsyncInit=function(){window.FB.init({appId:e.$config.fbAppId,cookie:!0,xfbml:!0,version:"v2.10"}),window.FB.AppEvents.logPageView()},function(e,t,n){var i,r=e.getElementsByTagName(t)[0];e.getElementById(n)||(i=e.createElement(t),i.id=n,i.src="//connect.facebook.net/en_US/sdk.js",r.parentNode.insertBefore(i,r))}(document,"script","facebook-jssdk"))},initTravelflanChatbot:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(!window.TF_CHATBOT){t.next=2;break}return t.abrupt("return");case 2:return t.next=4,Object(I["d"])(e.$config.agentScriptSrc);case 4:n={platform:e.$env.isCn?"cn":"com",environment:e.$env.isProduction?"production":"alpha"},window.TF_CHATBOT.init(n);case 6:case"end":return t.stop()}}),t)})))()}}),mounted:function(){this.getPageSettings(),this.initFacebookSDK()},watch:{locale:function(){this.getPageSettings()}}},Qe=Ke,Xe=(n("5c0b"),Object(H["a"])(Qe,x,A,!1,null,null,null)),Je=Xe.exports,Ze=(n("d3b7"),n("8c4f")),et=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"page"},[n("HomeBanner"),n("div",{staticClass:"container"},[n("HotCategories"),n("PopularTours"),n("HotDestinations"),n("div",{staticClass:"home-mid-banner",style:{backgroundImage:"url('/static/images/banner/default_banner_"+e.locale+".jpg')"}}),n("TravelFlanBlog")],1)],1)},tt=[],nt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"home-banner"},[e.pcBanners.length?n("swiper",{ref:"mySwiper",attrs:{options:e.swiperOptions}},[e._l(e.pcBanners,(function(e){return n("swiper-slide",{key:e.id},[n("a",{staticClass:"slide-image",style:{backgroundImage:"url('"+e.image_url+"')"},attrs:{href:e.href||"javascript:;",target:e.href?"_blank":""}})])})),n("div",{staticClass:"swiper-pagination",attrs:{slot:"pagination"},slot:"pagination"})],2):n("div",{staticClass:"default-banner",style:{backgroundImage:"url('/static/images/banner/default_top_"+e.locale+".jpg')"}})],1)},it=[],rt={data:function(){return{swiperOptions:{autoplay:!0,delay:5e3,loop:!0,pagination:{clickable:!0,el:".swiper-pagination"}}}},methods:{openChatbot:function(){window.TF_CHATBOT&&window.TF_CHATBOT.open()}},computed:Object(R["a"])({},Object(E["d"])("common",["defaultHotCity","banners"]),{defaultHotCityId:function(){return this.defaultHotCity?this.defaultHotCity.id:""},pcBanners:function(){return this.banners.filter((function(e){return e.image_url}))}})},at=rt,ot=(n("0d4d"),Object(H["a"])(at,nt,it,!1,null,"1d5a7778",null)),st=ot.exports,ct=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"dest-list"},[i("div",{staticClass:"list-head"},[i("h2",[e._v(e._s(e.$t("Popular Cities")))]),i("h4",[e._v(e._s(e.$t("Everybody been here, you cannot miss them")))])]),i("div",{staticClass:"list"},[e._l(e.destinations,(function(t){return i("button",{key:t.id,staticClass:"list-item",class:{current:e.currentDest&&e.currentDest.id===t.id},on:{click:function(n){return e.onDestinationClick(t)}}},[e._v(" "+e._s(e._f("lang")(t.details,e.locale,"title"))+" ")])})),e.destinations.length?i("button",{staticClass:"list-item",on:{click:e.onMoreCititesClick}},[e._v(" "+e._s(e.$t("More Cities"))+" ")]):e._e()],2),i("div",{staticClass:"dest-products"},[i("ProductList",{attrs:{products:e.currentDestProducts}})],1),e.currentDest?i("router-link",{staticClass:"link-all",attrs:{to:{name:"ProductList",query:{dest:e.currentDest.id}}}},[e._v(" "+e._s(e.$t("See more"))+" "),i("img",{attrs:{src:n("afde")}})]):e._e()],1)},ut=[],lt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"product-list"},e._l(e.formattedProducts,(function(t){return n("router-link",{key:t.id,staticClass:"list-item",attrs:{target:"_blank",to:{name:"ProductDetailWithSN",params:{id:t.id,sn:t.seo_sn}}}},[n("a",{staticClass:"product-image",style:{"background-image":"url('"+t.imageUrl+"')"}}),n("div",{staticClass:"product-info"},[t.pog_countries&&t.pog_countries.length||t.pog_cities&&t.pog_cities.length?n("div",{staticClass:"product-loc"},[t.pog_countries.length?n("span",[e._v(e._s(t.pog_countries[0].name[e.locale]))]):e._e(),t.pog_cities.length?n("span",[e._v("·"+e._s(t.pog_cities[0].name[e.locale]))]):e._e()]):e._e(),n("div",{staticClass:"product-name"},[e._v(e._s(t.title))]),n("div",{staticClass:"product-price"},[t.has_multiple_price&&"en_US"===e.locale?n("span",{staticClass:"price-from"},[e._v("From")]):e._e(),n("span",[e._v(e._s(e.currencyName))]),n("span",[e._v(e._s(t.price[e.currency]))]),!t.has_multiple_price||"zh_CN"!==e.locale&&"zh_HK"!==e.locale?e._e():n("span",{staticClass:"price-from"},[e._v("起")]),t.original_price&&t.original_price[e.currency]&&t.original_price[e.currency]>t.price[e.currency]?n("span",{staticClass:"price-original"},[n("span",[e._v(e._s(e.currencyName))]),e._v(e._s(t.original_price[e.currency])+" ")]):e._e(),t.priceOffPct>0?n("div",{staticClass:"sale-percent"},["zh_CN"===e.locale||"zh_HK"===e.locale?n("span",[e._v(e._s(e._f("priceDic")(t.priceOffPct))+" 折")]):n("span",[e._v(e._s(t.priceOffPct)+"% off")])]):e._e()])])])})),1)},dt=[],pt=(n("a9e3"),n("b680"),{props:{products:{type:Array,default:function(){return[]}}},computed:{formattedProducts:function(){var e=this;return this.products.map((function(t){var n=t.id,i=t.seo_sn,r=t.images,a=t.details,o=t.pog_cities,s=t.pog_countries,c=t.mkp_display_price,u=t.mkp_display_original_price,l=t.has_multiple_price,d=c[e.currency],p=u[e.currency],m="",h="";r.mobile&&r.mobile.title?m=r.mobile.title:r.base&&(m=r.base.title),a[e.locale]&&(h=a[e.locale].title);var f=0;return p>d&&(f=Number((100*(p-d)/p).toFixed(0))),{id:n,seo_sn:i,title:h,has_multiple_price:l,details:a,imageUrl:m,pog_cities:o,pog_countries:s,price:c,original_price:u,priceOffPct:f}}))}}}),mt=pt,ht=(n("7dbf"),Object(H["a"])(mt,lt,dt,!1,null,"255b8632",null)),ft=ht.exports,vt={components:{ProductList:ft},created:function(){this.getData()},data:function(){return{destinations:[],currentDest:null,currentDestProducts:[]}},methods:Object(R["a"])({},Object(E["b"])("common",["updateDefaultHotCity"]),{getData:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.$api.location.getHotDestinations({scope:"TV",ordering:"-flan__bias",type__in:"TKT,TOR,RNT,LGG",page_size:8,product__platform:0,locale:e.$i18n.locale});case 2:n=t.sent,e.destinations=n.results.slice(0,7),e.destinations.length&&(e.currentDest=e.destinations[0],e.updateDefaultHotCity(e.currentDest),e.getCurrentDestProducts(e.currentDest.id));case 5:case"end":return t.stop()}}),t)})))()},getCurrentDestProducts:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function n(){var i,r;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(t.currentDestProducts=[],t.currentDest){n.next=3;break}return n.abrupt("return");case 3:return i={page:1,page_size:5,ordering:"-flan__priority",pog_city__in:t.currentDest.id,status:"ACT",platforms__in:t.$env.platform,locale:t.locale,type__in:"TKT,TOR,RNT,LGG",scope:"TV"},n.next=6,t.$api.product.getProductList(i);case 6:r=n.sent,e===t.currentDest.id&&(t.currentDestProducts=r.results);case 8:case"end":return n.stop()}}),n)})))()},onDestinationClick:function(e){this.currentDest=e,this.getCurrentDestProducts(e.id)},onMoreCititesClick:function(){this.$modal.show("destinations")}})},gt=vt,bt=(n("06d4"),Object(H["a"])(gt,ct,ut,!1,null,"39616f08",null)),_t=bt.exports,yt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"popular-list"},[n("div",{staticClass:"list-head"},[n("h2",[e._v(e._s(e.$t("The hottest in the season")))]),n("h4",[e._v(e._s(e.$t("Hot sells in the season, for you to begin your journey")))])]),n("ProductList",{attrs:{products:e.products}})],1)},kt=[],Ct={components:{ProductList:ft},data:function(){return{products:[]}},created:function(){this.getData()},methods:{getData:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){var n,i;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return n={ordering:"-flan__priority",status:"ACT",page_size:10,platforms__in:e.$env.platform,locale:e.locale,scope:"TV"},t.next=3,e.$api.product.getProductList(n);case 3:i=t.sent,e.products=i.results;case 5:case"end":return t.stop()}}),t)})))()}}},wt=Ct,Pt=(n("86f6"),Object(H["a"])(wt,yt,kt,!1,null,"29074910",null)),Tt=Pt.exports,Ot=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"blog-banner"},[n("div",{staticClass:"head"},[n("h2",[e._v(e._s(e.$t("Exclusive Travel handbook")))]),n("h4",[e._v(e._s(e.$t("Looking for inspiration and detail ? Click here to begin your journey")))])]),n("a",{staticClass:"banner-image",attrs:{href:"https://blog.travelflan.com/",target:"_blank"}},[n("img",{attrs:{src:"/static/images/blog_banner_h_300.jpg"}}),n("div",{staticClass:"blog-button"},[e._v(" "+e._s(e.$t("Travel Blog"))+" ")])])])},Dt=[],St=(n("11f0"),{}),xt=Object(H["a"])(St,Ot,Dt,!1,null,"00302d18",null),At=xt.exports,Rt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"cat-list"},[n("div",{staticClass:"list"},[e._l(e.categories,(function(t){return n("router-link",{key:t.value,staticClass:"list-item",attrs:{to:{name:"ProductList",query:{type:t.value,dest:e.defaultHotCity?e.defaultHotCity.id:""}}}},[n("div",{staticClass:"cat-name"},[n("span",{staticClass:"iconfont",class:t.icon}),n("span",[e._v(e._s(t.name))])]),n("div",{staticClass:"cat-tips"},[e._v(" "+e._s(t.tips)+" ")])])})),n("router-link",{staticClass:"list-item",attrs:{to:{name:"ProductListDelivery"}}},[n("div",{staticClass:"cat-name"},[n("span",{staticClass:"iconfont icongoods"}),n("span",[e._v(e._s(e.$t("Shopping")))])]),n("div",{staticClass:"cat-tips"},[e._v(" "+e._s(e.$t("Oversea delivery"))+" ")]),n("div",{staticClass:"new-mark"},[e._v("NEW")])]),n("a",{staticClass:"list-item",attrs:{href:e.restaurantUrl,target:"_blank"}},[n("div",{staticClass:"cat-name"},[n("span",{staticClass:"iconfont iconrestaurant"}),n("span",[e._v(e._s(e.$t("Restaurant")))])]),n("div",{staticClass:"cat-tips"},[e._v(" "+e._s(e.$t("Local Dining"))+" ")]),n("div",{staticClass:"new-mark"},[e._v("NEW")])])],2)])},Et=[],It={computed:Object(R["a"])({},Object(E["d"])("common",["defaultHotCity"]),{categories:function(){return[{value:"Attractions,Transport,Local Cuisine",name:this.$t("Ticket"),tips:this.$t("See the World"),icon:"iconticket"},{value:"Tours,Local Workshops",name:this.$t("Activities"),tips:this.$t("Fun to Do"),icon:"icontour"},{value:"Luggage,Rental",name:this.$t("Services"),tips:this.$t("Rent no Carry"),icon:"iconrental"}]},restaurantUrl:function(){return"/restaurant/qrcode"}}),methods:{onCategoryClick:function(e){this.currentDest=e,this.getCurrentDestProducts(e.id)}}},$t=It,Nt=(n("1017"),Object(H["a"])($t,Rt,Et,!1,null,"70a9d6e5",null)),jt=Nt.exports,Lt={components:{HomeBanner:st,HotDestinations:_t,PopularTours:Tt,TravelFlanBlog:At,HotCategories:jt}},Bt=Lt,Mt=(n("9ea1"),Object(H["a"])(Bt,et,tt,!1,null,"d7650594",null)),Ft=Mt.exports,Ut=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"page"},[i("div",{staticClass:"top-banner"},[i("div",{staticClass:"top-banner-img",style:{"background-image":"url('"+e.bannerImage+"')"}}),i("div",{staticClass:"container top-banner-content"},[i("span",{staticClass:"title"},[e._v(e._s(e.bannerTitle))]),i("img",{staticClass:"button-switch-city",attrs:{src:n("ad92"),alt:""},on:{click:e.showDestinations}})])]),i("div",{staticClass:"container"},[i("div",{staticClass:"filter-options"},[i("affix",{attrs:{"relative-element-selector":"#city_product_List",offset:{top:100,bottom:0},"scroll-affix":!0}},[i("ProductTypeFilter",{on:{change:e.onTypeFilterChange,init:e.onTypeFilterInit}})],1)],1),i("div",{staticClass:"product-list",attrs:{id:"city_product_List"}},[i("ProductList",{staticClass:"product-list-comp",attrs:{"parent-id":e.parentId,types:e.selectedTypes,type:e.productType}})],1)])])},qt=[],Vt=(n("a15b"),n("5319"),n("365c")),Ht=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"product-list"},[n("div",{staticClass:"sort"},[n("div",{staticClass:"title"},[e._v(" "+e._s(e.$t("Product list"))+" ")]),n("div",{staticClass:"sort-item",class:{selected:"-id"===e.sortBy},on:{click:function(t){return e.onSortBy("-id")}}},[e._v(" "+e._s(e.$t("Newest"))+" ")]),n("div",{staticClass:"sort-item",class:{selected:"mkp_display_price"===e.sortBy},on:{click:function(t){return e.onSortBy("mkp_display_price")}}},[e._v(" "+e._s(e.$t("Lowest price"))+" ")])]),n("div",{staticClass:"list"},e._l(e.products,(function(t){return n("router-link",{key:t.id,staticClass:"list-item",attrs:{target:"_blank",to:{name:"ProductDetailWithSN",params:{id:t.id,sn:t.seo_sn}}}},[n("div",{staticClass:"list-item-image",style:{"background-image":"url('"+t.imageUrl+"')"}}),n("div",{staticClass:"product-detail"},[n("div",{staticClass:"product-name",attrs:{to:{name:"ProductDetailWithSN",params:{id:t.id,sn:t.seo_sn}}}},[e._v(" "+e._s(t.details[e.locale].title)+" ")]),t.pog_countries&&t.pog_countries.length||t.pog_cities&&t.pog_cities.length?n("div",{staticClass:"product-location"},[t.pog_countries.length?n("span",[e._v(e._s(t.pog_countries[0].name[e.locale]))]):e._e(),e._l(t.pog_cities,(function(t){return n("span",{key:t.id},[e._v("·"+e._s(t.name[e.locale]))])}))],2):e._e(),n("div",{staticClass:"product-brief"},[n("span",{domProps:{innerHTML:e._s(t.details[e.locale].meta.sub_description)}})])]),n("div",{staticClass:"product-price"},[n("div",[t.has_multiple_price&&"en_US"===e.locale?n("span",{staticClass:"price-from"},[e._v("From")]):e._e(),n("span",[e._v(e._s(e.currencyName))]),n("span",[e._v(e._s(t.price[e.currency]))]),!t.has_multiple_price||"zh_CN"!==e.locale&&"zh_HK"!==e.locale?e._e():n("span",{staticClass:"price-from"},[e._v("起")])]),t.original_price&&t.original_price[e.currency]&&t.original_price[e.currency]>t.price[e.currency]?n("div",{staticClass:"price-original"},[n("span",[e._v(e._s(e.currencyName))]),e._v(e._s(t.original_price[e.currency])+" ")]):e._e(),t.priceOffPct>0?n("div",{staticClass:"sale-percent"},["zh_CN"===e.locale||"zh_HK"===e.locale?n("span",[e._v(e._s(e._f("priceDic")(t.priceOffPct))+" 折")]):n("span",[e._v(e._s(t.priceOffPct)+"% off")])]):e._e()])])})),1),n("div",{staticClass:"load-more"},[e.loading?n("vue-simple-spinner",{attrs:{"line-fg-color":"#36A4C5"}}):e.nextPage?n("button",{on:{click:e.getData}},[e._v(e._s(e.$t("Load more")))]):n("span",[e._v(e._s(e.$t("No more content")))])],1)])},Wt=[],zt={props:{type:String,parentId:[String,Number],types:{type:Array,default:function(){return[]}},scope:{type:String,default:"TV"}},data:function(){return{currentPage:1,nextPage:null,products:[],loading:!1,sortBy:"",requestId:0}},methods:{reloadData:function(){this.currentPage=1,this.nextPage=null,this.products=[],this.getData()},getData:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){var n,i,r,a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return n={page:e.currentPage,ordering:"-flan__priority",pog_city__in:e.parentId,status:"ACT",platforms__in:e.$env.platform,locale:e.locale},e.sortBy&&(n.ordering=e.sortBy),"mkp_display_price"===n.ordering&&(n.ordering="".concat(n.ordering,"__").concat(e.currency)),e.types&&e.types.length&&(1===e.types.length?n.categories__id=e.types[0].id:n.categories__id__in=e.types.map((function(e){return e.id})).join(",")),e.type&&(n.type__in=e.type),e.scope&&(n.scope=e.scope),e.loading=!0,t.prev=7,i=++e.requestId,t.next=11,e.$api.product.getProductList(n);case 11:r=t.sent,a=r.results.filter((function(t){return t.details[e.locale]})).map((function(t){var n=t.id,i=t.seo_sn,r=t.images,a=t.details,o=t.pog_cities,s=t.pog_countries,c=t.mkp_display_price,u=t.mkp_display_original_price,l=t.has_multiple_price,d=c[e.currency],p=u[e.currency],m=0;return p>d&&(m=Number((100*(p-d)/p).toFixed(0))),{id:n,seo_sn:i,details:a,has_multiple_price:l,imageUrl:r.base.title,pog_cities:o,pog_countries:s,original_price:u,price:c,priceOffPct:m}})),i===e.requestId&&(e.products=e.products.concat(a),e.nextPage=r.next,e.currentPage++),t.next=18;break;case 16:t.prev=16,t.t0=t["catch"](7);case 18:return t.prev=18,e.loading=!1,t.finish(18);case 21:case"end":return t.stop()}}),t,null,[[7,16,18,21]])})))()},onSortBy:function(e){this.currentPage=1,this.products=[],this.sortBy=e,this.getData()}},watch:{parentId:function(){this.reloadData()},types:function(e){this.reloadData()},locale:function(){this.reloadData()}}},Yt=zt,Gt=(n("76c9"),Object(H["a"])(Yt,Ht,Wt,!1,null,"47354c1b",null)),Kt=Gt.exports,Qt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"filter-wrapper"},[n("div",{staticClass:"title"},[e._v(" "+e._s(e.$t("Travel Category"))+" ")]),n("div",{staticClass:"options"},e._l(e.types,(function(t){return n("div",{key:t.id,staticClass:"option-item"},[n("div",{staticClass:"option-name"},[n("input",{directives:[{name:"model",rawName:"v-model",value:t.checked,expression:"item.checked"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(t.checked)?e._i(t.checked,null)>-1:t.checked},on:{change:[function(n){var i=t.checked,r=n.target,a=!!r.checked;if(Array.isArray(i)){var o=null,s=e._i(i,o);r.checked?s<0&&e.$set(t,"checked",i.concat([o])):s>-1&&e.$set(t,"checked",i.slice(0,s).concat(i.slice(s+1)))}else e.$set(t,"checked",a)},function(n){return e.onParentCategoryChange(t)}]}}),n("span",[e._v(e._s(t.name[e.locale]))]),n("button",{on:{click:function(e){t.expand=!t.expand}}},[t.expand?n("span",{staticClass:"iconfont iconarrowup"}):n("span",{staticClass:"iconfont iconarrowdown"})])]),t.expand?n("div",{staticClass:"sub-option-list"},e._l(t.children,(function(i){return n("div",{key:i.id,staticClass:"sub-option-name"},[n("input",{directives:[{name:"model",rawName:"v-model",value:i.checked,expression:"subItem.checked"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(i.checked)?e._i(i.checked,null)>-1:i.checked},on:{change:[function(t){var n=i.checked,r=t.target,a=!!r.checked;if(Array.isArray(n)){var o=null,s=e._i(n,o);r.checked?s<0&&e.$set(i,"checked",n.concat([o])):s>-1&&e.$set(i,"checked",n.slice(0,s).concat(n.slice(s+1)))}else e.$set(i,"checked",a)},function(n){return e.onChildCategoryChange(t)}]}}),n("span",[e._v(e._s(i.name[e.locale]))])])})),0):e._e()])})),0)])},Xt=[],Jt=(n("a623"),n("7db0"),n("4160"),n("a434"),n("25f0"),n("1276"),n("159b"),{data:function(){return{types:[]}},computed:{defaultSeleted:function(){return this.$route.query.type?this.$route.query.type.split(","):[]}},created:function(){this.getMkpTagTree()},methods:{getMkpTagTree:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){var n,i,r,a,o,s,c;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return n={depth:1,status:"ACT"},t.next=3,e.$api.tag.getCategoryTree(n);case 3:i=t.sent,r=i.results.filter((function(e){return"Delivery"!==e.name.en_US&&"Hotel"!==e.name.en_US&&"Restaurant"!==e.name.en_US})),a=r.findIndex((function(e){return"Luggage"===e.name.en_US})),o=r.splice(a,1),s=r.find((function(e){return"Rental"===e.name.en_US})),c=[],s.children=o[0].children.concat(s.children),r.forEach((function(t){var n=!0,i=!1;t.children.forEach((function(t){t.checked=e.defaultSeleted.findIndex((function(e){return e===t.name.en_US||e===t.id.toString()}))>-1,n=n&&t.checked,i=i||t.checked,t.checked&&c.push({id:t.id,name:t.name.en_US})})),t.checked=n,t.expand=i})),e.types=r,e.$emit("init",c);case 13:case"end":return t.stop()}}),t)})))()},onParentCategoryChange:function(e){e.children.forEach((function(t){t.checked=e.checked})),this.updateValue()},onChildCategoryChange:function(e,t){e.checked=e.children.every((function(e){return e.checked})),this.updateValue()},updateValue:function(){var e=[];this.types.forEach((function(t){t.children.forEach((function(t){t.checked&&e.push({id:t.id,name:t.name.en_US})}))})),this.$emit("change",e)}},watch:{defaultSeleted:function(){var e=this,t=[];this.types.forEach((function(n){var i=!0,r=!1;n.children.forEach((function(n){n.checked=e.defaultSeleted.findIndex((function(e){return e===n.name.en_US||e===n.id.toString()}))>-1,i=i&&n.checked,r=r||n.checked,n.checked&&t.push({id:n.id,name:n.name.en_US})})),n.checked=i,n.expand=r})),this.$emit("init",t)}}}),Zt=Jt,en=(n("ab42"),Object(H["a"])(Zt,Qt,Xt,!1,null,"2a0def48",null)),tn=en.exports,nn={components:{ProductList:Kt,ProductTypeFilter:tn},data:function(){return{city:null,selectedTypes:[]}},computed:{parentId:function(){return this.$route.query.dest},bannerTitle:function(){return this.city?this.$options.filters.lang(this.city.details,this.locale,"title"):""},bannerImage:function(){return this.city?this.city.images.base&&this.city.images.base.banners.length?this.city.images.base.banners[0]:"/static/images/banner/city_default.jpg":""},productType:function(){return this.selectedTypes.length?null:"TKT,TOR,RNT,LGG"}},created:function(){var e={type:null,dest:this.$route.query.dest||null};this.setProductFilter(e),this.getCityInfo()},methods:Object(R["a"])({},Object(E["b"])("product",["setProductFilter"]),{getCityInfo:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,Vt["a"].location.getCities({id:e.parentId});case 2:if(n=t.sent,n&&n.length){t.next=5;break}return t.abrupt("return");case 5:e.city=n[0];case 6:case"end":return t.stop()}}),t)})))()},onTypeFilterChange:function(e){this.$router.replace({name:this.$route.name,query:{dest:this.$route.query.dest,type:e.map((function(e){return e.name})).join(",")}})},showDestinations:function(){this.$modal.show("destinations")},onTypeFilterInit:function(e){this.selectedTypes=e,this.setProductFilter({type:e.map((function(e){return e.name}))})}}),watch:{parentId:function(){this.getCityInfo()}}},rn=nn,an=(n("c417"),Object(H["a"])(rn,Ut,qt,!1,null,"5e71e5d6",null)),on=an.exports,sn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"page"},[e._m(0),n("div",{staticClass:"container"},[n("div",{staticClass:"filter-options"},[n("affix",{attrs:{"relative-element-selector":"#city_product_List",offset:{top:100,bottom:0},"scroll-affix":!0}},[n("DeliveryTypeFilter",{on:{change:e.onTypeFilterChange,init:e.onTypeFilterInit}})],1)],1),n("div",{staticClass:"product-list",attrs:{id:"city_product_List"}},[n("ProductList",{staticClass:"product-list-comp",attrs:{types:e.selectedTypes,type:"DEI"}})],1)])])},cn=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"top-banner"},[n("div",{staticClass:"top-banner-img"})])}],un=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"filter-wrapper"},[n("div",{staticClass:"title"},[e._v(" "+e._s(e.$t("Category"))+" ")]),n("div",{staticClass:"options"},e._l(e.types,(function(t){return n("div",{key:t.id,staticClass:"option-item"},[n("div",{staticClass:"option-name"},[n("input",{directives:[{name:"model",rawName:"v-model",value:t.checked,expression:"item.checked"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(t.checked)?e._i(t.checked,null)>-1:t.checked},on:{change:[function(n){var i=t.checked,r=n.target,a=!!r.checked;if(Array.isArray(i)){var o=null,s=e._i(i,o);r.checked?s<0&&e.$set(t,"checked",i.concat([o])):s>-1&&e.$set(t,"checked",i.slice(0,s).concat(i.slice(s+1)))}else e.$set(t,"checked",a)},e.onParentCategoryChange]}}),n("span",[e._v(e._s(t.name[e.locale]))])])])})),0)])},ln=[],dn={data:function(){return{types:[]}},computed:{defaultSeleted:function(){return this.$route.query.type?this.$route.query.type.split(","):[]}},created:function(){this.getMkpTagTree()},methods:{getMkpTagTree:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){var n,i,r,a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return n={status:"ACT",parent__name:"Delivery"},t.next=3,e.$api.tag.getCategoryTree(n);case 3:i=t.sent,r=i.results,a=[],r.forEach((function(t){t.checked=e.defaultSeleted.findIndex((function(e){return e===t.name.en_US||e===t.id.toString()}))>-1,t.checked&&a.push({id:t.id,name:t.name.en_US})})),e.types=r,e.$emit("init",a);case 9:case"end":return t.stop()}}),t)})))()},onParentCategoryChange:function(e){this.updateValue()},updateValue:function(){var e=[];this.types.forEach((function(t){t.checked&&e.push({id:t.id,name:t.name.en_US})})),this.$emit("change",e)}},watch:{defaultSeleted:function(){var e=this,t=[];this.types.forEach((function(n){n.checked=e.defaultSeleted.findIndex((function(e){return e===n.name.en_US||e===n.id.toString()}))>-1,n.checked&&t.push({id:n.id,name:n.name.en_US})})),this.$emit("init",t)}}},pn=dn,mn=(n("6e6a"),Object(H["a"])(pn,un,ln,!1,null,"0cb45e47",null)),hn=mn.exports,fn={components:{ProductList:Kt,DeliveryTypeFilter:hn},data:function(){return{city:null,selectedTypes:[]}},methods:{onTypeFilterChange:function(e){this.$router.replace({name:this.$route.name,query:{type:e.map((function(e){return e.name})).join(",")}})},showDestinations:function(){this.$modal.show("destinations")},onTypeFilterInit:function(e){this.selectedTypes=e}}},vn=fn,gn=(n("7ffd"),Object(H["a"])(vn,sn,cn,!1,null,"aa218460",null)),bn=gn.exports,_n=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"page"},[e._m(0),n("div",{staticClass:"container"},[n("div",{staticClass:"filter-options"},[n("affix",{attrs:{"relative-element-selector":"#city_product_List",offset:{top:100,bottom:0},"scroll-affix":!0}},[n("RestaurantTypeFilter",{on:{change:e.onTypeFilterChange,init:e.onTypeFilterInit}})],1)],1),n("div",{staticClass:"product-list",attrs:{id:"city_product_List"}},[n("ProductList",{staticClass:"product-list-comp",attrs:{types:e.selectedTypes,type:"RTR",scope:"TV"}})],1)])])},yn=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"top-banner"},[n("div",{staticClass:"top-banner-img"})])}],kn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"filter-wrapper"},[n("div",{staticClass:"title"},[e._v(" "+e._s(e.$t("Category"))+" ")]),n("div",{staticClass:"options"},e._l(e.types,(function(t){return n("div",{key:t.id,staticClass:"option-item"},[n("div",{staticClass:"option-name"},[n("input",{directives:[{name:"model",rawName:"v-model",value:t.checked,expression:"item.checked"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(t.checked)?e._i(t.checked,null)>-1:t.checked},on:{change:[function(n){var i=t.checked,r=n.target,a=!!r.checked;if(Array.isArray(i)){var o=null,s=e._i(i,o);r.checked?s<0&&e.$set(t,"checked",i.concat([o])):s>-1&&e.$set(t,"checked",i.slice(0,s).concat(i.slice(s+1)))}else e.$set(t,"checked",a)},e.onParentCategoryChange]}}),n("span",[e._v(e._s(t.name[e.locale]))])])])})),0)])},Cn=[],wn={data:function(){return{types:[]}},computed:{defaultSeleted:function(){return this.$route.query.type?this.$route.query.type.split(","):[]}},created:function(){this.getMkpTagTree()},methods:{getMkpTagTree:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){var n,i,r,a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return n={depth:2,synonyms__name:"Restaurant"},t.next=3,e.$api.tag.getCategoryTree(n);case 3:i=t.sent,r=i.results[0].children,a=[],r.forEach((function(t){t.checked=e.defaultSeleted.findIndex((function(e){return e===t.name.en_US||e===t.id.toString()}))>-1,t.checked&&a.push({id:t.id,name:t.name.en_US})})),e.types=r,e.$emit("init",a);case 9:case"end":return t.stop()}}),t)})))()},onParentCategoryChange:function(e){this.updateValue()},updateValue:function(){var e=[];this.types.forEach((function(t){t.checked&&e.push({id:t.id,name:t.name.en_US})})),this.$emit("change",e)}},watch:{defaultSeleted:function(){var e=this,t=[];this.types.forEach((function(n){n.checked=e.defaultSeleted.findIndex((function(e){return e===n.name.en_US||e===n.id.toString()}))>-1,n.checked&&t.push({id:n.id,name:n.name.en_US})})),this.$emit("init",t)}}},Pn=wn,Tn=(n("311a"),Object(H["a"])(Pn,kn,Cn,!1,null,"503e9e79",null)),On=Tn.exports,Dn={components:{ProductList:Kt,RestaurantTypeFilter:On},data:function(){return{city:null,selectedTypes:[]}},methods:{onTypeFilterChange:function(e){this.$router.replace({name:this.$route.name,query:{type:e.map((function(e){return e.name})).join(",")}})},showDestinations:function(){this.$modal.show("destinations")},onTypeFilterInit:function(e){this.selectedTypes=e}}},Sn=Dn,xn=(n("aecd"),Object(H["a"])(Sn,_n,yn,!1,null,"648749da",null)),An=xn.exports,Rn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"page"},[e.isProductHide?n("div",{staticClass:"container product-hide-alert"},[n("p",[e._v(e._s(e.$t("Product has been taken off")))]),n("a",{attrs:{href:"/"}},[e._v(e._s(e.$t("Return to the home page")))])]):e.product?[n("ProductBanner"),e.hasCurrentLangTrans?n("div",{staticClass:"container"},[n("ProductTitle"),n("ProductCoupon"),n("div",{staticClass:"product-detail-menu"},[n("affix",{attrs:{"relative-element-selector":"#product-info",offset:{top:82,bottom:0},"scroll-affix":!0}},[n("scrollactive",{staticClass:"product-detail-menu-affix",attrs:{offset:160,"highlight-first-item":""}},[e.highlight?n("a",{staticClass:"scrollactive-item",attrs:{href:"#product-highlight"}},[e._v(e._s(e.$t("WHAT TO EXPECT")))]):e._e(),e.detail?n("a",{staticClass:"scrollactive-item",attrs:{href:"#product-detail"}},[e._v(e._s(e.$t("DETAILS")))]):e._e(),e.costIncluded?n("a",{staticClass:"scrollactive-item",attrs:{href:"#product-inclusions"}},[e._v(e._s(e.$t("INCLUSIONS")))]):e._e(),e.costNotIncluded?n("a",{staticClass:"scrollactive-item",attrs:{href:"#product-exclusions"}},[e._v(e._s(e.$t("EXCLUSIONS")))]):e._e(),e.refundPolicy?n("a",{staticClass:"scrollactive-item",attrs:{href:"#product-policy"}},[e._v(e._s(e.refundPolicyTitle))]):e._e(),e.precautions?n("a",{staticClass:"scrollactive-item",attrs:{href:"#product-precautions"}},[e._v(e._s(e.$t("IMPORTANT TO KNOW")))]):e._e(),e.orderDetail?n("a",{staticClass:"scrollactive-item",attrs:{href:"#product-order-detail"}},[e._v(e._s(e.$t("ORDER & DELIVERY")))]):e._e()])],1)],1),n("div",{staticClass:"product-detail"},[n("div",{staticClass:"product-info",attrs:{id:"product-info"}},[e.highlight?n("div",{staticClass:"product-content",attrs:{id:"product-highlight"}},[n("h3",{staticClass:"title"},[e._v(e._s(e.$t("WHAT TO EXPECT")))]),n("div",{domProps:{innerHTML:e._s(e.highlight)}})]):e._e(),e.detail?n("div",{staticClass:"product-content",attrs:{id:"product-detail"}},[n("h3",{staticClass:"title"},[e._v(e._s(e.$t("DETAILS")))]),n("div",{domProps:{innerHTML:e._s(e.detail)}})]):e._e(),e.costIncluded?n("div",{staticClass:"product-content",attrs:{id:"product-inclusions"}},[n("h3",{staticClass:"title"},[e._v(e._s(e.$t("INCLUSIONS")))]),n("div",{domProps:{innerHTML:e._s(e.costIncluded)}})]):e._e(),e.costNotIncluded?n("div",{staticClass:"product-content",attrs:{id:"product-exclusions"}},[n("h3",{staticClass:"title"},[e._v(e._s(e.$t("EXCLUSIONS")))]),n("div",{domProps:{innerHTML:e._s(e.costNotIncluded)}})]):e._e(),e.refundPolicy?n("div",{staticClass:"product-content",attrs:{id:"product-policy"}},[n("h3",{staticClass:"title"},[e._v(e._s(e.refundPolicyTitle))]),n("div",{domProps:{innerHTML:e._s(e.refundPolicy)}})]):e._e(),e.precautions?n("div",{staticClass:"product-content",attrs:{id:"product-precautions"}},[n("h3",{staticClass:"title"},[e._v(e._s(e.$t("IMPORTANT TO KNOW")))]),n("div",{domProps:{innerHTML:e._s(e.precautions)}})]):e._e(),e.orderDetail?n("div",{staticClass:"product-content",attrs:{id:"product-order-detail"}},[n("h3",{staticClass:"title"},[e._v(e._s(e.$t("ORDER & DELIVERY")))]),n("div",{domProps:{innerHTML:e._s(e.orderDetail)}})]):e._e()]),n("div",{staticClass:"affix-wrapper"},[e.product.options.length?n("div",{staticClass:"booking-wrapper"},[n("affix",{staticClass:"booking-affix",attrs:{"relative-element-selector":"#product-info",offset:{top:120,bottom:0},"scroll-affix":!0}},[n("BookingForm")],1)],1):e._e()])]),e.relatedProducts.length?n("div",{staticClass:"product-content"},[n("h3",{staticClass:"title"},[e._v(e._s(e.$t("You might like")))]),n("div",{staticClass:"related-products"},[n("RelatedProductList",{attrs:{products:e.relatedProducts}})],1)]):e._e()],1):n("div",{staticClass:"container no-trans"},[n("h3",[e._v(e._s(e.$t("Oops, this product is not yet in current language")))]),n("p",[e._v(e._s(e.$t("But It has other language supported, click to see")))]),n("div",{staticClass:"lang-buttons"},[e.product.details.en_US?n("button",{on:{click:function(t){return e.onLangSelected("en_US")}}},[e._v(e._s(e.$t("In English")))]):e._e(),e.product.details.zh_CN?n("button",{on:{click:function(t){return e.onLangSelected("zh_CN")}}},[e._v(e._s(e.$t("In Simplified Chinese")))]):e._e(),e.product.details.zh_HK?n("button",{on:{click:function(t){return e.onLangSelected("zh_HK")}}},[e._v(e._s(e.$t("In Traditional Chinese")))]):e._e()]),n("a",{staticClass:"back-home-link",attrs:{href:"/"}},[e._v(e._s(e.$t("Back to Home page")))])])]:e._e()],2)},En=[],In=(n("a4d3"),n("e01a"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"product-banner"},[n("div",{staticClass:"image-view"},[n("div",{staticClass:"image-item",style:{backgroundImage:"url('"+e.images[0]+"')"}}),e.images.length>1?n("div",{staticClass:"image-item",style:{backgroundImage:"url('"+e.images[1]+"')"}}):e._e(),3===e.images.length?n("div",{staticClass:"image-item",style:{backgroundImage:"url('"+e.images[2]+"')"}}):e._e(),e.images.length>3?n("div",{staticClass:"image-col"},[n("div",{staticClass:"image-item",style:{backgroundImage:"url('"+e.images[2]+"')"}}),n("div",{staticClass:"image-item",style:{backgroundImage:"url('"+e.images[3]+"')"}})]):e._e()]),n("button",{staticClass:"button-view-image",on:{click:function(t){e.showImageGallery=!0}}},[e._v(e._s(e.$t("View Image")))]),e.showImageGallery?n("div",{staticClass:"image-gallery"},[n("div",{staticClass:"container image-gallery-content"},[n("div",{staticClass:"image-container",style:e.imageViewStyle},[e.images.length?n("div",{staticClass:"image-page"},[e._v(" "+e._s(e.currentIndex+1)+" / "+e._s(e.images.length)+" ")]):e._e()]),e.currentImageCaptions?n("div",{staticClass:"image-caption"},[e._v(" "+e._s(e.currentImageCaptions[e.locale])+" ")]):e._e(),n("div",{ref:"imageThumbList",staticClass:"image-thumb-list"},e._l(e.images,(function(t,i){return n("div",{key:i,staticClass:"image-thumb-item",class:{selected:t===e.currentImage},style:{backgroundImage:"url('"+t+"')"},on:{click:function(t){return e.onImageClick(i)}}})})),0),n("button",{staticClass:"button-arrow button-arrow-left",on:{click:function(t){return e.updateImageIndex(-1)}}},[n("span",{staticClass:"iconfont iconarrow_left1"})]),n("button",{staticClass:"button-arrow button-arrow-right",on:{click:function(t){return e.updateImageIndex(1)}}},[n("span",{staticClass:"iconfont iconarrow_right"})])]),n("button",{staticClass:"button-close",on:{click:function(t){e.showImageGallery=!1}}},[n("span",{staticClass:"iconfont iconclose"})])]):e._e()])}),$n=[],Nn={data:function(){return{showImageGallery:!1,currentIndex:0}},computed:Object(R["a"])({},Object(E["d"])("product",{product:function(e){return e.current}}),{images:function(){if(this.product){var e=this.product.images.base.backgrounds;return e.splice(0,0,this.product.images.base.title),e}return[]},imageCaptions:function(){if(this.product&&this.product.images.captions){var e=this.product.images.captions.backgrounds;return e.splice(0,0,this.product.images.captions.title),e}return[]},imageViewStyle:function(){return this.currentImage?{backgroundImage:"url('".concat(this.currentImage,"')")}:null},currentImage:function(){return this.images.length?this.images[this.currentIndex]:null},currentImageCaptions:function(){return this.imageCaptions.length?this.imageCaptions[this.currentIndex]:null}}),watch:{images:function(e){this.setDefaultImage()}},methods:{onImageClick:function(e){this.currentIndex=e,this.adjustThumbListScroll()},updateImageIndex:function(e){var t=this.currentIndex+e;t>-1&&t=this.images.length&&(this.currentIndex=0,this.adjustThumbListScroll())},adjustThumbListScroll:function(){var e=this.$refs.imageThumbList.getElementsByClassName("image-thumb-item"),t=e[this.currentIndex];t&&(t.offsetLeft+88>1200||t.offsetLeft0||this.userLimited>0},limitedText:function(){var e=[];return this.userLimited>0&&e.push(this.$t("Maximum limit pieces per person",{num:this.userLimited})),this.dayLimited>0&&e.push(this.$t("limit pieces release per day",{num:this.dayLimited})),e.join(",")},isFavorite:function(){return!!this.product&&this.product.is_favourite},isLimitPurchased:function(){return!!this.product&&this.product.is_limit_purchased},limitedData:function(){if(!this.product)return{};var e=this.product.limit_purchased_start_date,t=this.product.limit_purchased_end_date;return e=qn()(e).format("YYYY.MM.DD"),t=qn()(t).format("YYYY.MM.DD"),{num:this.product.limit_purchased_num,start:e,end:t}}}),methods:Object(R["a"])({},Object(E["b"])("product",["updateProductFavorite"]),{onFavoriteClick:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(e.userInfo){t.next=3;break}return e.showAuthModal("authIndex"),t.abrupt("return");case 3:if(!e.isFavorite){t.next=9;break}return t.next=6,e.$api.common.removeFavourites({product_id_list:[e.$route.params.id]});case 6:e.updateProductFavorite(!1),t.next=12;break;case 9:return t.next=11,e.$api.common.addFavourites({type:"PRD",id:e.$route.params.id});case 11:e.updateProductFavorite(!0);case 12:case"end":return t.stop()}}),t)})))()}})},Wn=Hn,zn=(n("3ecf"),Object(H["a"])(Wn,Mn,Fn,!1,null,"92a01c0a",null)),Yn=zn.exports,Gn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"booking-container"},[e.bookingOption?n("div",{staticClass:"options-wrapper"},[e.formattedOptions.length>1?n("v-selectmenu",{ref:"bookingOptions",staticClass:"option-select",attrs:{"full-width":"",data:e.formattedOptions,type:"regular",title:!1}},[n("div",{staticClass:"option-name"},[n("span",{staticClass:"iconfont iconarrowdown"}),e._v(" "+e._s(e.bookingOption.details[e.locale].title)+" ")])]):n("div",{staticClass:"option-name"},[e._v(" "+e._s(e.bookingOption.details[e.locale].title)+" ")])],1):e._e(),e.bookingOption?[e.product.type===e.$productTypes.RNT?[n("div",{staticClass:"booking-date-wrapper"},[n("date-picker",{staticClass:"booking-datepicker",attrs:{"popup-class":"booking-datepicker-popup","input-class":"booking-datepicker-input","append-to-body":!1,placeholder:e.$t("Rent time"),"disabled-date":e.startDateDisabled,lang:e.datePickerlang,editable:!1,"value-type":"YYYY-MM-DD"},on:{change:e.bookingStartDateChange},model:{value:e.selectedBookingStartDate,callback:function(t){e.selectedBookingStartDate=t},expression:"selectedBookingStartDate"}})],1),n("div",{staticClass:"booking-date-wrapper"},[n("date-picker",{staticClass:"booking-datepicker",attrs:{"popup-class":"booking-datepicker-popup","input-class":"booking-datepicker-input","append-to-body":!1,"disabled-date":e.notBeforeDate,placeholder:e.$t("Return time"),lang:e.datePickerlang,editable:!1,"value-type":"YYYY-MM-DD"},on:{change:e.bookingEndDateChange},model:{value:e.selectedBookingEndDate,callback:function(t){e.selectedBookingEndDate=t},expression:"selectedBookingEndDate"}})],1),n("div",{staticClass:"rental-days"},[e._v(" "+e._s(e.$t("Leased days"))+" "),n("span",{staticClass:"days"},[e._v(e._s(e.totalDays))])])]:e.bookingOption.book_date_required?n("div",{staticClass:"booking-date-wrapper"},[n("date-picker",{staticClass:"booking-datepicker",attrs:{"popup-class":"booking-datepicker-popup","input-class":"booking-datepicker-input","append-to-body":!1,placeholder:e.$t("Travel date"),"disabled-date":e.bookingDateDisabled,lang:e.datePickerlang,editable:!1,clearable:!1,"default-value":e.startDate,"value-type":"YYYY-MM-DD"},on:{change:e.bookingDateChange},model:{value:e.selectedBookingDate,callback:function(t){e.selectedBookingDate=t},expression:"selectedBookingDate"}}),e.isNeedReservationDateTime?n("date-picker",{staticClass:"booking-datepicker",staticStyle:{"margin-top":"15px"},attrs:{"popup-class":"booking-datepicker-popup","input-class":"booking-datepicker-input","append-to-body":!1,placeholder:e.$t("Reservation time"),lang:e.datePickerlang,editable:!1,clearable:!1,"time-picker-options":e.timePickerOptions,format:"HH:mm","value-type":"format",type:"time"},on:{change:e.bookingTimeChange},model:{value:e.selectedBookingTime,callback:function(t){e.selectedBookingTime=t},expression:"selectedBookingTime"}}):e._e()],1):e._e()]:e._e(),n("div",{staticClass:"suboptions-wrapper"},e._l(e.subOptions,(function(t){return n("div",{key:t.id,staticClass:"suboption-item",class:{disabled:!t.available}},[n("div",{staticClass:"suboption-info"},[n("div",{staticClass:"label"},[n("span",[e._v(e._s(t.details[e.locale].title))])]),n("div",{staticClass:"price"},[n("div",[e._v(" "+e._s(e.currencyName)+e._s(t.price[e.currency]||"--")+" "),e.product.type===e.$productTypes.RNT?n("span",[e._v(e._s(e.$t("/day/unit")))]):e._e()]),t.priceOffPct>0?n("div",{staticClass:"original-price"},[n("span",[e._v(e._s(e.currencyName))]),n("span",[e._v(e._s(t.originalPrice))])]):e._e()])]),n("div",{staticClass:"suboption-info"},[n("div",{staticClass:"tips"},[t.available?n("span",[e._v(e._s(t.details[e.locale].meta.brief))]):n("span",[e._v(e._s(e.$t("Not available this day")))])]),n("div",{staticClass:"option-order-count"},[n("div",{staticClass:"amount-button",class:{disabled:10===t.num},on:{click:function(n){return e.increaseSubOptionNum(t)}}},[e._v("+")]),n("span",{staticClass:"number"},[e._v(e._s(t.num))]),n("div",{staticClass:"amount-button",class:{disabled:0===t.num},on:{click:function(n){return e.decreaseSubOptionNum(t)}}},[e._v("-")])])])])})),0),n("div",{staticClass:"submit-wrapper"},[n("div",{staticClass:"submit-container"},[e.isSoldOut?n("div",{staticClass:"soldout"},[n("span",[e._v(e._s(e.$t("Daily limit, sold out today!")))])]):[n("span",{staticClass:"label"},[e._v(e._s(e.$t("Total")))]),n("span",{staticClass:"price"},[e._v(e._s(e.currencyName)+" "+e._s(e.actualAmountDisplay))]),n("button",{staticClass:"button-booking",attrs:{disabled:!e.isOrderDataValid},on:{click:e.onBookingClick}},[n("span",[e._v(e._s(e.$t("Book now")))])]),e.canLineToBasket?n("button",{staticClass:"button-add-cart",attrs:{disabled:!e.isOrderDataValid},on:{click:e.onAdd2BacketClick}},[n("span",[e._v(e._s(e.$t("Add to Cart")))])]):e._e()]],2)])],2)},Kn=[],Qn=(n("b64b"),{data:function(){return{selectedBookingDate:null,selectedBookingStartDate:null,selectedBookingEndDate:null,selectedOptionId:null,selectedBookingTime:null}},computed:Object(R["a"])({},Object(E["d"])("checkout",["bookingDate","bookingStartDate","bookingEndDate","bookingStartTime","bookingEndTime","bookingOption","bookingSubOptions"]),{},Object(E["d"])("product",{product:function(e){return e.current}}),{},Object(E["d"])("purchase",["lines"]),{},Object(E["c"])("checkout",["amountPrice","actualAmount","totalDays"]),{},Object(E["c"])("product",["productOptions"]),{actualAmountDisplay:function(){return this.actualAmount.toFixed(2)},formattedOptions:function(){var e=this;if(!this.product)return[];var t=this.product.options.filter((function(t){var n=t.details[e.$i18n.locale];return n&&n.title&&t.sub_options.length}));return t.map((function(t){var n=t.details,i=t.id;return{value:i,content:n[e.locale].title,callback:function(){e.onOptionSelected(t)}}}))},isSoldOut:function(){return this.product&&"Expired"===this.product.status},isOrderDataValid:function(){return 0!==this.bookingSubOptions.filter((function(e){return e.num>0})).length&&(this.product.type===this.$productTypes.RNT?null!==this.bookingStartDate&&null!==this.bookingEndDate:!this.bookingOption.book_date_required||null!==this.bookingDate)},canLineToBasket:function(){var e=this.product,t=e.type,n=e.scope,i=t===Vn["e"].RTR&&"EC"===n,r=t===Vn["e"].DEI&&"TV"===n;return i||r},availableOptionDates:function(){var e=this;if(!this.bookingOption)return[];var t=this.bookingOption.sub_options[0].book_n_days_before_book_date,n=[],i=Object.keys(this.bookingOption.available_book_dates);return i.forEach((function(i){var r=e.bookingOption.available_book_dates[i];qn()(i).isBefore(qn()().add(t,"days"))||r.some((function(e){return e&&e.length>1&&0!==e[1]}))&&n.push(i)})),n},startDate:function(){return this.availableOptionDates.length>0?new Date(this.availableOptionDates[0]):qn()().toDate()},endDate:function(){return this.availableOptionDates.length>1?new Date(this.availableOptionDates[this.availableOptionDates.length-1]):qn()().add(6,"months").toDate()},subOptions:function(){var e=this;return this.bookingSubOptions.map((function(t){var n=t.price[e.currency],i=t.original_price[e.currency],r=0;return i>n&&(r=Number((100*(i-n)/i).toFixed(0))),Object.assign({},t,{priceOffPct:r,originalPrice:i})}))},timePickerOptions:function(){if(!this.product||!this.isNeedReservationDateTime)return null;var e=this.product,t=e.book_start_time,n=e.book_end_time,i=e.book_time_interval;return{start:t,step:"00:".concat(i),end:n,format:"HH:mm"}},isNeedReservationDateTime:function(){return!!this.product&&(this.product.book_end_time&&this.product.book_start_time&&this.product.book_time_interval)}}),mounted:function(){this.formattedOptions.length&&(this.selectedOptionId=this.formattedOptions[0].value),this.isNeedReservationDateTime?(this.selectedBookingTime=this.timePickerOptions.start.substring(0,5),this.setBookingTime(this.selectedBookingTime)):this.setBookingTime(null),window.addEventListener("scroll",this.hidePopupMenus),window.addEventListener("resize",this.hidePopupMenus)},methods:Object(R["a"])({},Object(E["b"])("basket",["addToBasket"]),{},Object(E["b"])("purchase",["initPurchaseInfo"]),{},Object(E["b"])("checkout",["setBookingOption","setBookingSubOptions","setBookingDate","setBookingTime","setBookingStartDate","setBookingStartTime","setBookingEndDate","setBookingEndTime","updateBookingSubOptionNum"]),{bookingTimeChange:function(e){this.setBookingTime(e)},bookingDateChange:function(e){this.setBookingDate(e)},bookingStartDateChange:function(e){this.setBookingStartDate(e)},bookingEndDateChange:function(e){this.setBookingEndDate(e)},onOptionSelected:function(e){this.selectedOptionId=e.id},initSubOptions:function(){var e=this,t=[];if(this.bookingOption){t=this.bookingOption.sub_options.filter((function(t){return t.details[e.$i18n.locale]}));var n=!1;t=t.map((function(t){var i=!0;i=e.bookingOption.book_date_required?!e.bookingDate||t.available_book_dates.findIndex((function(t){return t.date===e.bookingDate}))>-1:t.max_quantity_per_sub_option<0||t.max_quantity_per_sub_option>=t.min_purchase_quantity;var r=Object.assign({},t,{available:i});return!n&&i?(r.num=t.min_purchase_quantity,n=!0):r.num=0,r}))}this.setBookingSubOptions(t)},updateBookingOption:function(){var e=this;this.selectedOptionId||this.setBookingOption(null),this.setBookingOption(this.productOptions.find((function(t){return t.id===e.selectedOptionId})))},decreaseSubOptionNum:function(e){if(e.available){var t=1;e.min_purchase_quantity>0&&(t=e.min_purchase_quantity),e.num>t?e.num--:e.num=0,this.updateBookingSubOptionNum(e)}},increaseSubOptionNum:function(e){if(e.available){var t=10,n=1,i=-1;e.min_purchase_quantity>0&&(n=e.min_purchase_quantity),e.max_purchase_quantity>0&&(t=e.max_purchase_quantity),e.max_quantity_per_sub_option>-1&&(i=e.max_quantity_per_sub_option),i>-1&&n>i?this.$toasted.show(this.$t("Out of Stock")):e.num-1&&e.num>=i?this.$toasted.show(this.$t("We only have {stock} left",{stock:i})):e.num>=t?this.$toasted.show(this.$t("Max {max} per person",{max:t})):this.$toasted.show(this.$t("Quantity out of range"))}},onBookingClick:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){var n,i,r,a,o,s,c,u;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(e.userInfo){t.next=3;break}return e.showAuthModal("authIndex"),t.abrupt("return");case 3:if(!e.$env.isCn||e.userInfo.is_phone_verified){t.next=6;break}return e.showAuthModal("verifyPhone"),t.abrupt("return");case 6:return n=e.bookingDate,i=e.bookingStartDate,r=e.bookingEndDate,a=e.bookingStartTime,o=e.bookingEndTime,s=e.bookingOption,c=e.bookingSubOptions,u=e.product,t.next=9,e.initPurchaseInfo({lines:c.filter((function(e){return e.num>0})).map((function(e){return{warehouse:u.warehouse,product:u,option:s,subOption:e,quantity:e.num,booking_fields:{bookingDate:n,bookingStartDate:i,bookingEndDate:r,bookingStartTime:a,bookingEndTime:o}}})),locale:e.$i18n.locale});case 9:e.$router.push({name:"BasketConfirm",query:{ProductId:u.id},params:{selected:e.lines}});case 10:case"end":return t.stop()}}),t)})))()},onAdd2BacketClick:function(){var e=this;if(this.userInfo){this.$env.isCn&&!this.userInfo.is_phone_verified&&this.showAuthModal("verifyPhone");var t=this.product,n=this.bookingOption,i=this.bookingSubOptions;this.addToBasket(Object(R["a"])({product:t},n,{subOptions:i})),this.$toasted.show(this.$t("Added to Cart"),{className:"cart-toast",duration:5e3,position:"bottom-right",action:{text:this.$t("Click to see"),class:"cart-toast-action",onClick:function(){e.$toasted.clear(),e.$router.push({name:"BasketList"})}}})}else this.showAuthModal("authIndex")},validateInputs:function(){if(this.product.type===this.$productTypes.RNT){if(!this.bookingStartDate)return this.$toast.info(this.$t("Rent date is required")),!1;if(!this.bookingStartTime)return this.$toast.info(this.$t("Rent time is required")),!1;if(!this.bookingEndDate)return this.$toast.info(this.$t("Return date is required")),!1;if(!this.bookingEndTime)return this.$toast.info(this.$t("Return time is required")),!1;if(!this.totalDays)return this.$toast.info(this.$t("At least one leased day")),!1}else if(this.bookingOption&&this.bookingOption.book_date_required&&!this.bookingDate)return this.$toast.info(this.$t("Travel date is required")),!1;return!0},startDateDisabled:function(e){var t=!1,n=qn()(),i=this.bookingOption.sub_options[0].book_n_days_before_book_date;return i>0&&(n=n.add(i,"days").toDate()),t=enew Date(this.bookingEndDate)),t},notBeforeDate:function(e){return!!this.bookingStartDate&&eqn()(Date.now())})).sort((function(e,t){return e.valid_end_dt>t.valid_end_dt?1:e.valid_end_dt===t.valid_end_dt?0:e.valid_end_dtqn()(Date.now())?o="".concat(this.$t("Available period")," ").concat(qn()(r).format("YYYY.MM.DD"),"-").concat(qn()(a).format("YYYY.MM.DD")):t?o="".concat(a?this.$t("Expired in {time}",{time:qn.a.duration(qn()(a)-qn()(Date.now())).locale(this.$i18n.locale).humanize()}):this.$t("Expired in {time} after redeeming",{time:qn.a.duration(3600*t*1e3).locale(this.$i18n.locale).humanize()})):a&&(o="".concat(this.$t("Valid until")," ").concat(qn()(a).format("YYYY.MM.DD"))),o},getCouponList:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){var n,i,r,a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(n=e.product,!n){t.next=13;break}return e.loading=!0,t.prev=3,i={platforms__in:e.$env.platform,locale:e.$i18n.locale,product_id:n.id,visible_in_storefront:"True"},t.next=7,e.$api.coupon.getProductCouponList(i);case 7:r=t.sent,a=r.results,e.couponList=a.map((function(e){return e.redeeming=!1,e}));case 10:return t.prev=10,e.loading=!1,t.finish(10);case 13:case"end":return t.stop()}}),t,null,[[3,,10,13]])})))()},isCollected:function(e){return e&&!e.is_available},GetCoupon:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function n(){var i,r,a,o;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(!t.loading&&!e.redeeming){n.next=2;break}return n.abrupt("return");case 2:if(t.userInfo){n.next=5;break}return t.showAuthModal("authIndex"),n.abrupt("return");case 5:if(!t.$env.isCn||t.userInfo.is_phone_verified){n.next=8;break}return t.showAuthModal("verifyPhone"),n.abrupt("return");case 8:if(i=e.user_limit,r=e.coupon_list&&e.coupon_list.length||0,!(i>0&&i<=r.length)){n.next=13;break}return t.$toasted.show(t.$t("Exceed redeem limit"),{duration:3e3}),n.abrupt("return");case 13:return n.prev=13,e.redeeming=!0,n.next=17,t.$api.coupon.redeemCoupon({platform:t.$env.platform,base_coupon_id:e.id});case 17:return n.next=19,t.getCouponList();case 19:t.$toasted.success(t.$t("Redeem successful"),{duration:3e3,theme:"toasted-success"}),n.next=47;break;case 22:if(n.prev=22,n.t0=n["catch"](13),console.log(n.t0),!n.t0||!n.t0.error_code){n.next=46;break}a=n.t0.error_code,o="",n.t1=+a,n.next=24002===n.t1?31:24003===n.t1?33:24004===n.t1?33:24005===n.t1?35:24006===n.t1?37:24007===n.t1?39:24011===n.t1?41:43;break;case 31:return o=t.$t("Code invalid"),n.abrupt("break",43);case 33:return o=t.$t("Reach the limit of this coupon"),n.abrupt("break",43);case 35:return o=t.$t("This Code cannot be used to this product"),n.abrupt("break",43);case 37:return o=t.$t("Conditions of Usage are not met"),n.abrupt("break",43);case 39:return o=t.$t("This Code is not Valid now"),n.abrupt("break",43);case 41:return o=t.$t("This Code has been redeemed"),n.abrupt("break",43);case 43:t.$toasted.error(o,{duration:3e3}),n.next=47;break;case 46:t.$toasted.error(t.$t("Redeem fail"),{duration:3e3});case 47:return n.prev=47,e.redeeming=!1,n.finish(47);case 50:case"end":return n.stop()}}),n,null,[[13,22,47,50]])})))()}},beforeMount:function(){this.getCouponList()},watch:{userInfo:function(e,t){var n=this;return Object(i["a"])(regeneratorRuntime.mark((function i(){return regeneratorRuntime.wrap((function(i){while(1)switch(i.prev=i.next){case 0:if(e===t){i.next=3;break}return i.next=3,n.getCouponList();case 3:case"end":return i.stop()}}),i)})))()}}},ii=ni,ri=(n("d3924"),Object(H["a"])(ii,ei,ti,!1,null,"1b925d3e",null)),ai=ri.exports,oi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"product-list"},e._l(e.formattedProducts,(function(t){return n("router-link",{key:t.id,staticClass:"list-item",attrs:{target:"_blank",to:{name:"ProductDetailWithSN",params:{id:t.id,sn:t.seo_sn}}}},[n("a",{staticClass:"product-image",style:{"background-image":"url('"+t.imageUrl+"')"}}),n("div",{staticClass:"product-info"},[t.pog_countries&&t.pog_countries.length||t.pog_cities&&t.pog_cities.length?n("div",{staticClass:"product-loc"},[t.pog_countries.length?n("span",[e._v(e._s(t.pog_countries[0].name[e.locale]))]):e._e(),t.pog_cities.length?n("span",[e._v("·"+e._s(t.pog_cities[0].name[e.locale]))]):e._e()]):e._e(),n("div",{staticClass:"product-name"},[e._v(e._s(t.title))]),n("div",{staticClass:"product-price"},[t.has_multiple_price&&"en_US"===e.locale?n("span",{staticClass:"price-from"},[e._v("From")]):e._e(),n("span",[e._v(e._s(e.currencyName))]),n("span",[e._v(e._s(t.price[e.currency]))]),!t.has_multiple_price||"zh_CN"!==e.locale&&"zh_HK"!==e.locale?e._e():n("span",{staticClass:"price-from"},[e._v("起")])])])])})),1)},si=[],ci={props:{products:{type:Array,default:function(){return[]}}},computed:{formattedProducts:function(){var e=this;return this.products.map((function(t){var n=t.id,i=t.seo_sn,r=t.images,a=t.details,o=t.pog_countries,s=t.pog_cities,c=t.mkp_display_price,u=t.has_multiple_price,l="",d="";return r.mobile&&r.mobile.title?l=r.mobile.title:r.base&&(l=r.base.title),a[e.locale]&&(d=a[e.locale].title),{id:n,seo_sn:i,has_multiple_price:u,title:d,details:a,imageUrl:l,pog_countries:o,pog_cities:s,price:c}}))}}},ui=ci,li=(n("bcad"),Object(H["a"])(ui,oi,si,!1,null,"0c235b3a",null)),di=li.exports,pi={components:{ProductBanner:Bn,ProductTitle:Yn,ProductCoupon:ai,BookingForm:Zn,RelatedProductList:di},data:function(){return{productError:!1}},computed:Object(R["a"])({},Object(E["d"])({product:function(e){return e.product.current}}),{},Object(E["c"])("product",["productPlain"]),{images:function(){return this.product?this.product.images.base.backgrounds:[]},name:function(){return this.product?this.product.details[this.locale].title:""},price:function(){return this.product?(this.product.mkp_display_price||this.product.display_price)[this.currency]:null},tags:function(){var e=[];return this.product.min_age>0?e.push(this.$t("n+ years old",{year:this.product.min_age})):e.push(this.$t("Applicable to all ages")),e},highlight:function(){return this.productPlain?this.productPlain.highlight:null},shipping:function(){return this.productPlain?this.productPlain.shipping:null},costIncluded:function(){return this.productPlain?this.productPlain.costIncluded:null},costNotIncluded:function(){return this.product?this.productPlain.costNotIncluded:null},detail:function(){return this.productPlain?this.productPlain.description:null},extra:function(){return this.productPlain?this.productPlain.extra:null},precautions:function(){return this.productPlain?this.productPlain.precautions:null},orderDetail:function(){return this.productPlain?this.productPlain.orderDetail:null},refundPolicy:function(){return this.productPlain?this.productPlain.refundPolicy:null},promoted:function(){return this.product&&this.product.is_promotion},dayLimited:function(){return this.product&&this.product.limited_each_day},userLimited:function(){return this.product&&this.product.limited_each_user},bookingLimited:function(){return this.product&&this.product.limited_each_booking},isSoldOut:function(){return this.product&&"Expired"===this.product.status},isProductHide:function(){return!!this.productError||!(!this.product||"Active"===this.product.status||"Active-Ads"===this.product.status)},hasCurrentLangTrans:function(){return this.product&&this.product.details[this.locale]},relatedProducts:function(){return this.product?this.product.related_products.slice(0,10):[]},refundPolicyTitle:function(){if(!this.product)return"";var e=this.product,t=e.type,n=e.scope,i="Delivery-Item"===t&&"TV"===n;return i?this.$t("CHANGE & REFUND POLICIES"):this.$t("REFUND POLICIES")}}),created:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.initBookingInfo(),t.prev=1,t.next=4,e.getProductData(e.$route.params.id);case 4:"EC"===e.product.scope&&"Restaurant"===e.product.type&&e.$router.replace({name:"RestaurantQRCode",query:{productId:e.$route.params.id}}),t.next=10;break;case 7:t.prev=7,t.t0=t["catch"](1),e.productError=!0;case 10:case"end":return t.stop()}}),t,null,[[1,7]])})))()},methods:Object(R["a"])({},Object(E["b"])("product",["getProductData"]),{},Object(E["b"])("checkout",["initBookingInfo"]),{},Object(E["b"])("common",["updateLocale"]),{onLangSelected:function(e){window.localStorage.setItem("locale",e),this.$i18n.locale=e,this.updateLocale(e)}}),watch:{locale:function(){this.getProductData(this.$route.params.id)}}},mi=pi,hi=(n("9f0a"),Object(H["a"])(mi,Rn,En,!1,null,"05da3e47",null)),fi=hi.exports,vi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"page-event",style:{backgroundColor:e.backgroundColor}},[e.eventError?n("div",{staticClass:"container product-hide-alert"},[n("p",[e._v(e._s(e.$t("Event has been taken off")))]),n("a",{attrs:{href:"/"}},[e._v(e._s(e.$t("Return to the home page")))])]):e.hasCurrentLangTrans?[n("div",{staticClass:"event-banner",style:{backgroundImage:"url("+e.bannerImage+")"}},[n("ProductCoupon",{attrs:{coupons:e.coupons,refresh:e.getEventData}})],1),n("div",{staticClass:"container"},[n("div",{staticClass:"section-list"},e._l(e.sections,(function(t){return n("div",{key:t.id,staticClass:"section-list-item"},[n("div",{staticClass:"section-title",style:{backgroundImage:"url("+t.images.pc+")"}}),"DEI"===t.product_type?n("div",{staticClass:"product-list"},e._l(t.products,(function(e){return n("ProductItemDelivery",{key:e.id,attrs:{product:e}})})),1):"RTR"===t.product_type?n("div",{staticClass:"product-list"},e._l(t.products,(function(e){return n("ProductItemRestaurant",{key:e.id,attrs:{product:e}})})),1):n("div",{staticClass:"product-list"},e._l(t.products,(function(e){return n("ProductItem",{key:e.id,attrs:{product:e}})})),1)])})),0),e.description?n("div",{staticClass:"event-desc"},[n("div",{domProps:{innerHTML:e._s(e.description)}})]):e._e()])]:e.eventInfo?n("div",{staticClass:"container no-trans"},[n("h3",[e._v(e._s(e.$t("Oops, this event is not yet in current language")))]),n("p",[e._v(e._s(e.$t("But It has other language supported, click to see")))]),n("div",{staticClass:"lang-buttons"},[e.eventInfo.details.en_US?n("button",{on:{click:function(t){return e.onLangSelected("en_US")}}},[e._v(e._s(e.$t("In English")))]):e._e(),e.eventInfo.details.zh_CN?n("button",{on:{click:function(t){return e.onLangSelected("zh_CN")}}},[e._v(e._s(e.$t("In Simplified Chinese")))]):e._e(),e.eventInfo.details.zh_HK?n("button",{on:{click:function(t){return e.onLangSelected("zh_HK")}}},[e._v(e._s(e.$t("In Traditional Chinese")))]):e._e()])]):e._e()],2)},gi=[],bi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"product-item",on:{click:function(t){return e.onProductClick(e.item)}}},[n("div",{staticClass:"product-info"},[n("div",{staticClass:"product-image",style:{backgroundImage:"url('"+e.imageUrl+"')"}}),n("div",{staticClass:"product-name"},[e._v(" "+e._s(e._f("lang")(e.product.details,e.locale,"title"))+" ")]),n("div",{staticClass:"product-price"},[n("span",{staticClass:"price"},[n("span",{staticClass:"scale"},[e._v(e._s(e.currencyName))]),e._v(e._s(e.price))]),e.originalPrice>e.price?n("span",{staticClass:"origin-price"},[e._v(e._s(e.currencyName)+e._s(e.originalPrice))]):e._e(),e.priceOffPct>0?n("div",{staticClass:"sale-percent"},["zh_CN"===e.locale||"zh_HK"===e.locale?n("span",[e._v(e._s(e._f("priceDic")(e.priceOffPct))+" 折")]):n("span",[e._v(e._s(e.priceOffPct)+"% off")])]):e._e()])])])},_i=[],yi={props:{product:{type:Object,required:!0}},computed:{imageUrl:function(){return this.product.images.base.title},price:function(){return this.product.mkp_display_price[this.currency]},originalPrice:function(){return this.product.mkp_display_original_price[this.currency]},priceOffPct:function(){var e=0;return this.originalPrice>this.price&&(e=Number((100*(this.originalPrice-this.price)/this.originalPrice).toFixed(0))),e}},methods:{onProductClick:function(){this.$router.push({name:"ProductDetailWithSN",params:{id:this.product.id,sn:this.product.seo_sn}})}}},ki=yi,Ci=(n("b30f"),Object(H["a"])(ki,bi,_i,!1,null,"ac742de6",null)),wi=Ci.exports,Pi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"product-item",on:{click:function(t){return e.onProductClick(e.item)}}},[n("div",{staticClass:"product-info"},[n("div",{staticClass:"product-image",style:{backgroundImage:"url('"+e.imageUrl+"')"}}),n("div",{staticClass:"product-name"},[e._v(" "+e._s(e._f("lang")(e.product.details,e.locale,"title"))+" ")]),n("div",{staticClass:"sale-price"},[n("span",{staticClass:"currency scale"},[e._v(e._s(e.currencyName))]),n("span",[e._v(e._s(e.product.mkp_display_price[e.currency]))]),e.product.mkp_display_original_price[e.currency]>e.product.mkp_display_price[e.currency]?n("div",{staticClass:"origin-price"},[n("span",{staticClass:"currency"},[e._v(e._s(e.currencyName))]),n("span",[e._v(e._s(e.product.mkp_display_original_price[e.currency]))])]):e._e()])])])},Ti=[],Oi={props:{product:{type:Object,required:!0}},computed:{imageUrl:function(){return this.product.images.base.title}},methods:{onProductClick:function(){this.$router.push({name:"ProductDetailWithSN",params:{id:this.product.id,sn:this.product.seo_sn}})}}},Di=Oi,Si=(n("2943"),Object(H["a"])(Di,Pi,Ti,!1,null,"6e6f6838",null)),xi=Si.exports,Ai=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("router-link",{staticClass:"product-item",attrs:{to:e.linkRoute}},[n("div",{staticClass:"product-image",style:{"background-image":"url('"+e.image+"')"}}),n("div",{staticClass:"product-info"},[n("div",{staticClass:"product-name"},[e._v(" "+e._s(e._f("lang")(e.product.details,e.locale,"title"))+" ")]),n("div",{staticClass:"product-price"},[n("span",{staticClass:"price"},[n("span",{staticClass:"scale"},[e._v(e._s(e.currencyName))]),e._v(e._s(e.price))]),e.originalPrice>e.price?n("span",{staticClass:"origin-price"},[e._v(e._s(e.currencyName)+" "+e._s(e.originalPrice))]):e._e(),e.priceOffPct>0?n("div",{staticClass:"sale-percent"},["zh_CN"===e.locale||"zh_HK"===e.locale?n("span",[e._v(e._s(e._f("priceDic")(e.priceOffPct))+" 折")]):n("span",[e._v(e._s(e.priceOffPct)+"% off")])]):e._e()])])])},Ri=[],Ei={props:{product:Object},computed:{linkRoute:function(){return this.product.type===this.$productTypes.RTR?{name:"RestaurantProductDetail",params:{id:this.product.id}}:{name:"ProductDetailWithSN",params:{id:this.product.id,sn:this.product.seo_sn}}},productTitle:function(){return this.product&&this.product.details[this.locale]?this.product.details[this.locale].title:""},image:function(){var e=this.product.images.base;return e?e.title:""},price:function(){return this.product.mkp_display_price[this.currency]},originalPrice:function(){return this.product.mkp_display_original_price[this.currency]},priceOffPct:function(){var e=0;return this.originalPrice>this.price&&(e=Number((100*(this.originalPrice-this.price)/this.originalPrice).toFixed(0))),e}}},Ii=Ei,$i=(n("693a"),Object(H["a"])(Ii,Ai,Ri,!1,null,"5f5a7efa",null)),Ni=$i.exports,ji=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"coupon-list"},[e.coupons&&e.coupons.length?n("div",{staticClass:"event-coupon"},e._l(e.coupons,(function(t,i){return n("div",{key:i+ +new Date,class:"coupon-item "+(e.isCollected(t)?"coupon-item--iscollected":"")},[n("div",{staticClass:"coupon-icon iconfont iconicon_ticket"}),n("div",{staticClass:"coupon-content-wrapper"},[n("div",{staticClass:"coupon-name"},[n("div",{staticClass:"text"},[0===t.discount_type?n("span",[e._v(" "+e._s(e.currencyName)+e._s(t.discount_value[e.currency])+" off")]):e._e(),1===t.discount_type?n("span",[e._v(e._s(t.discount_value[e.currency])+"% off")]):e._e()]),n("div",{directives:[{name:"popover",rawName:"v-popover",value:{name:"coupon-desc-popover"},expression:"{ name: 'coupon-desc-popover' }"}],staticClass:"button-tip iconfont iconinfo",on:{mouseenter:function(n){e.current=t},mouseleave:function(t){e.current=null}}})]),n("div",{staticClass:"coupon-valid-dt"},[e._v(" "+e._s(e._f("date")(t.valid_start_dt,"{YYYY}.{Mo}.{DD}"))+" - "+e._s(e._f("date")(t.valid_end_dt,"{YYYY}.{Mo}.{DD}"))+" ")]),n("div",{staticClass:"coupon-status"},[n("div",{class:"button-get-coupon "+(t.redeeming?"button-redeeming-coupon":""),on:{click:function(n){return e.GetCoupon(t)}}},[t.redeeming?n("vue-simple-spinner",{staticClass:"redeem-spinner",attrs:{size:"tiny"}}):[e._v(e._s(e.$t("Get")))]],2),n("span",{staticClass:"tip-collected"},[e._v(e._s(e.$t("Collected")))])])])])})),0):e._e(),e.desc?n("popover",{staticClass:"coupon-detail",attrs:{name:"coupon-desc-popover",event:"hover"}},[n("div",{domProps:{innerHTML:e._s(e.desc)}})]):e._e()],1)},Li=[],Bi={props:{coupons:{type:Array,default:function(){return[]}},refresh:{type:Function}},computed:Object(R["a"])({},Object(E["d"])("product",{product:function(e){return e.current}}),{},Object(E["d"])("user",{userInfo:function(e){return e.info}}),{desc:function(){var e=this.current;if(!e)return"";var t=this.$options.filters.lang(e.details,this.$i18n.locale,"meta");return t&&t.description}}),data:function(){return{current:null,loading:!1}},methods:{getDays:function(e){return qn.a.duration(3600*e*1e3).locale(this.$i18n.locale).humanize()},getMyCouponEarlestNotUseOrExpired:function(e,t){if(!e)return null;var n=e.coupon_list;if(!n||!n.length)return null;var i=n.filter((function(e){var t=e.valid_end_dt;return"ACT"===e.status&&!e.used_dt&&qn()(t)>qn()(Date.now())})).sort((function(e,t){return e.valid_end_dt>t.valid_end_dt?1:e.valid_end_dt===t.valid_end_dt?0:e.valid_end_dtqn()(Date.now())?o="".concat(this.$t("Available period")," ").concat(qn()(r).format("YYYY.MM.DD"),"-").concat(qn()(a).format("YYYY.MM.DD")):t?o="".concat(a?this.$t("Expired in {time}",{time:qn.a.duration(qn()(a)-qn()(Date.now())).locale(this.$i18n.locale).humanize()}):this.$t("Expired in {time} after redeeming",{time:qn.a.duration(3600*t*1e3).locale(this.$i18n.locale).humanize()})):a&&(o="".concat(this.$t("Valid until")," ").concat(qn()(a).format("YYYY.MM.DD"))),o},isCollected:function(e){return e&&!e.is_available},GetCoupon:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function n(){var i,r,a,o;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(!t.loading&&!e.redeeming){n.next=2;break}return n.abrupt("return");case 2:if(t.userInfo){n.next=5;break}return t.showAuthModal("authIndex"),n.abrupt("return");case 5:if(!t.$env.isCn||t.userInfo.is_phone_verified){n.next=8;break}return t.showAuthModal("verifyPhone"),n.abrupt("return");case 8:if(i=e.user_limit,r=e.coupon_list&&e.coupon_list.length||0,!(i>0&&i<=r.length)){n.next=13;break}return t.$toasted.show(t.$t("Exceed redeem limit"),{duration:3e3}),n.abrupt("return");case 13:return n.prev=13,e.redeeming=!0,n.next=17,t.$api.coupon.redeemCoupon({platform:t.$env.platform,base_coupon_id:e.id});case 17:return n.next=19,t.refresh();case 19:t.$toasted.success(t.$t("Redeem successful"),{duration:3e3,theme:"toasted-success"}),n.next=47;break;case 22:if(n.prev=22,n.t0=n["catch"](13),console.log(n.t0),!n.t0||!n.t0.error_code){n.next=46;break}a=n.t0.error_code,o="",n.t1=+a,n.next=24002===n.t1?31:24003===n.t1?33:24004===n.t1?33:24005===n.t1?35:24006===n.t1?37:24007===n.t1?39:24011===n.t1?41:43;break;case 31:return o=t.$t("Code invalid"),n.abrupt("break",43);case 33:return o=t.$t("Reach the limit of this coupon"),n.abrupt("break",43);case 35:return o=t.$t("This Code cannot be used to this product"),n.abrupt("break",43);case 37:return o=t.$t("Conditions of Usage are not met"),n.abrupt("break",43);case 39:return o=t.$t("This Code is not Valid now"),n.abrupt("break",43);case 41:return o=t.$t("This Code has been redeemed"),n.abrupt("break",43);case 43:t.$toasted.error(o,{duration:3e3}),n.next=47;break;case 46:t.$toasted.error(t.$t("Redeem fail"),{duration:3e3});case 47:return n.prev=47,e.redeeming=!1,n.finish(47);case 50:case"end":return n.stop()}}),n,null,[[13,22,47,50]])})))()}},watch:{userInfo:function(e,t){var n=this;return Object(i["a"])(regeneratorRuntime.mark((function i(){return regeneratorRuntime.wrap((function(i){while(1)switch(i.prev=i.next){case 0:if(e===t){i.next=3;break}return i.next=3,n.refresh();case 3:case"end":return i.stop()}}),i)})))()}}},Mi=Bi,Fi=(n("4f3b"),Object(H["a"])(Mi,ji,Li,!1,null,"b52ad404",null)),Ui=Fi.exports,qi={components:{ProductItem:wi,ProductItemDelivery:xi,ProductItemRestaurant:Ni,ProductCoupon:Ui},data:function(){return{eventInfo:null,eventError:!1}},computed:{backgroundColor:function(){return this.eventInfo&&this.hasCurrentLangTrans?this.eventInfo.color:null},coupons:function(){return this.eventInfo?this.eventInfo.coupons:null},eventMeta:function(){return this.eventInfo?this.eventInfo.details[this.locale]:null},bannerImage:function(){return this.eventMeta?this.eventMeta.images.pc:null},sections:function(){return this.eventMeta?this.eventMeta.sections:[]},description:function(){return this.eventMeta?this.eventMeta.meta.description:""},hasCurrentLangTrans:function(){return this.eventInfo&&this.eventInfo.details[this.locale]}},created:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,e.getEventData();case 3:t.next=8;break;case 5:t.prev=5,t.t0=t["catch"](0),e.eventError=!0;case 8:case"end":return t.stop()}}),t,null,[[0,5]])})))()},methods:Object(R["a"])({},Object(E["b"])("common",["updateLocale"]),{getEventData:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,Vt["a"].common.getEventInfo(e.$route.params.id);case 2:n=t.sent,e.eventInfo=n;case 4:case"end":return t.stop()}}),t)})))()},onLangSelected:function(e){window.localStorage.setItem("locale",e),this.$i18n.locale=e,this.updateLocale(e)}})},Vi=qi,Hi=(n("3ec1"),Object(H["a"])(Vi,vi,gi,!1,null,"37082fd8",null)),Wi=Hi.exports;r["default"].use(Ze["a"]);var zi=[{path:"/",name:"Home",component:Ft,meta:{backgroundColor:"#ffffff"}},{path:"/product-list",name:"ProductList",component:on},{path:"/product-list/delivery",name:"ProductListDelivery",component:bn},{path:"/product-list/restaurant",name:"ProductListRestaurant",component:An},{path:"/product/:id",name:"ProductDetail",component:fi,meta:{backgroundColor:"#ffffff"}},{path:"/product/:sn/:id",name:"ProductDetailWithSN",component:fi,meta:{backgroundColor:"#ffffff"}},{path:"/cart",name:"Basket",component:function(){return Promise.all([n.e("account~checkout"),n.e("checkout")]).then(n.bind(null,"14db"))},redirect:"/cart/list",hidden:!0,meta:{requiresAuth:!0},children:[{path:"list",name:"BasketList",component:function(){return Promise.all([n.e("account~checkout"),n.e("checkout")]).then(n.bind(null,"1c0a"))}},{path:"confirm",name:"BasketConfirm",component:function(){return Promise.all([n.e("account~checkout"),n.e("checkout")]).then(n.bind(null,"8c61"))}},{path:"payment",name:"BasketPayment",component:function(){return Promise.all([n.e("account~checkout"),n.e("checkout")]).then(n.bind(null,"044d"))}}]},{path:"/checkout",component:function(){return Promise.all([n.e("account~checkout"),n.e("checkout")]).then(n.bind(null,"0e24"))},redirect:"/checkout/info",hidden:!0,meta:{requiresAuth:!0},children:[{path:"info",name:"CheckoutInfo",component:function(){return Promise.all([n.e("account~checkout"),n.e("checkout")]).then(n.bind(null,"a1ef"))}},{path:"payment",name:"CheckoutPayment",component:function(){return Promise.all([n.e("account~checkout"),n.e("checkout")]).then(n.bind(null,"1013"))}},{path:"result",name:"CheckoutResult",meta:{backgroundColor:"#ffffff"},component:function(){return Promise.all([n.e("account~checkout"),n.e("checkout")]).then(n.bind(null,"edfd"))}}]},{path:"/about",component:function(){return n.e("about").then(n.bind(null,"8eae"))},redirect:"/about/us",hidden:!0,children:[{path:"us",name:"AboutUs",component:function(){return n.e("about").then(n.bind(null,"97d3"))}},{path:"join",name:"JoinUs",component:function(){return n.e("about").then(n.bind(null,"eff0"))}},{path:"partners",name:"Partners",component:function(){return n.e("about").then(n.bind(null,"69de"))}}]},{path:"/policy",component:function(){return n.e("policy").then(n.bind(null,"ce8d"))},redirect:"/policy/privacy",hidden:!0,children:[{path:"privacy",name:"PolicyPrivacy",component:function(){return n.e("policy").then(n.bind(null,"38bd"))}},{path:"terms-of-service",name:"TermsOfService",component:function(){return n.e("policy").then(n.bind(null,"0108"))}},{path:"refund",name:"RefundPolicy",component:function(){return n.e("policy").then(n.bind(null,"b559"))}},{path:"faq",name:"FAQ",component:function(){return n.e("policy").then(n.bind(null,"65e4"))}}]},{path:"/order-list/purchases",name:"OrderList",component:function(){return Promise.all([n.e("account~checkout"),n.e("account")]).then(n.bind(null,"9f93"))}},{path:"/order/purchase/:id",name:"PurchaseOrderDetail",component:function(){return Promise.all([n.e("account~checkout"),n.e("account")]).then(n.bind(null,"cc8e"))}},{path:"/order-list/reservations",name:"ReservationList",component:function(){return Promise.all([n.e("account~checkout"),n.e("account")]).then(n.bind(null,"c283"))}},{path:"/coupon-list",name:"CouponList",component:function(){return Promise.all([n.e("account~checkout"),n.e("account")]).then(n.bind(null,"56c8"))}},{path:"/wish-list",name:"WishList",component:function(){return Promise.all([n.e("account~checkout"),n.e("account")]).then(n.bind(null,"cf77"))}},{path:"/account",component:function(){return Promise.all([n.e("account~checkout"),n.e("account")]).then(n.bind(null,"7a8d"))},redirect:"/account/profile",hidden:!0,meta:{requiresAuth:!0},children:[{path:"profile",name:"Profile",component:function(){return Promise.all([n.e("account~checkout"),n.e("account")]).then(n.bind(null,"488c"))}},{path:"reset-password",name:"ResetPassword",component:function(){return Promise.all([n.e("account~checkout"),n.e("account")]).then(n.bind(null,"6db0"))}},{path:"bind-email",name:"BindEmail",component:function(){return Promise.all([n.e("account~checkout"),n.e("account")]).then(n.bind(null,"cd9b"))}}]},{path:"/restaurant/qrcode",name:"RestaurantQRCode",component:function(){return Promise.all([n.e("account~checkout"),n.e("account")]).then(n.bind(null,"51fc"))}},{path:"/restaurant/:id",name:"RestaurantTrasfer",redirect:function(e){return{name:"RestaurantQRCode",query:{restaurantId:e.params.id}}}},{path:"/event/:id",name:"EventInfo",component:Wi}],Yi=new Ze["a"]({mode:"history",base:"/",routes:zi,scrollBehavior:function(e,t,n){return n||{x:0,y:0}}});Yi.beforeEach((function(e,t,n){e.meta&&e.meta.backgroundColor?document.body.style.backgroundColor=e.meta.backgroundColor:document.body.style.backgroundColor="#f8f8f8",n()}));var Gi=Yi,Ki=n("4360"),Qi=n("fe07"),Xi={install:function(e){e.prototype.$api=Vt["a"]}},Ji=n("2aaa"),Zi={install:function(e){e.prototype.$env=Ji["a"]}},er="";er=Ji["a"].isCn?Ji["a"].isProduction?"https://widget.travelflan.com.cn":"https://alpha-widget.travelflan.com.cn":Ji["a"].isProduction?"https://widget.travelflan.com":"https://alpha-widget.travelflan.com",er+="/loader/travelflan/dist/widget.travelflan.min.js";var tr={fbAppId:Ji["a"].isProduction?"900961253350127":"365071080500284",agentScriptSrc:er,tencentCaptchaID:"2080315480",wechatAppID:Ji["a"].isProduction?"wx239f3f76cb616c22":"wxb866e593e3f2e8cf",wechatAuthCallback:(Ji["a"].isProduction?"https://marketplace.travelflan.com.cn":"https://alpha-marketplace.travelflan.com.cn/")+"/static/wechatauthcallback.html"},nr={install:function(e){e.prototype.$config=tr}},ir=(n("8a79"),n("498b")),rr=n.n(ir),ar={install:function(e){e.filter("date",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"{YYYY}-{Mo}-{DD} {H}:{mm}:{ss}";if(!e)return"";e=new Date(e);var n=rr()(t,{padMonth:!0,padDays:!0,padHours:!0});return n.render(e)})),e.filter("orderStatus",(function(e){return Qi["b"].t(Vn["b"][e])})),e.filter("lang",(function(e,t,n){return Object(I["b"])(e,t,n)})),e.filter("formattedCode",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(!e)return e;e+="",t<1&&(t=4);for(var n=e.split(""),i=Math.floor((e.length-1)/t);i>-1;i--)n.splice(i*t,0," ");return n.join("")})),e.filter("priceDic",(function(e){var t=((100-e)/10).toFixed(1);return t<=1?+t:t.endsWith(".0")?+t:t.replace(".","")}))}},or={install:function(e){e.directive("plaintext",{bind:function(e,t,n){e.innerHTML=e.innerText}})}},sr="";sr=Ji["a"].isProduction?"GTM-T97GZVH":"GTM-NSWQ8W8",function(e,t,n,i,r){e[i]=e[i]||[],e[i].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var a=t.getElementsByTagName(n)[0],o=t.createElement(n),s="dataLayer"!==i?"&l="+i:"";o.async=!0,o.src="https://www.googletagmanager.com/gtm.js?id="+r+s,a.parentNode.insertBefore(o,a)}(window,document,"script","dataLayer",sr);var cr,ur={gtmKey:sr},lr={install:function(e){e.use(Xi),e.use(Zi),e.use(nr),e.use(ar),e.use(or),e.use(ur)}},dr=n("57b2"),pr={computed:Object(R["a"])({},Object(E["d"])({userInfo:function(e){return e.user.info},currency:function(e){return e.common.currency},locale:function(e){return e.common.locale}}),{datePickerlang:function(){return"zh_CN"===this.locale?"zh-cn":"zh_HK"===this.locale?"zh-tw":"en"},localeName:function(){var e=this,t=j.find((function(t){return t.value===e.locale}));return t?t.text:""},currencyName:function(){var e=this,t=L.find((function(t){return t.value===e.currency}));return t?t.text:""},currencyCode:function(){return"HKD"===this.currency?1:"TWD"===this.currency?2:"USD"===this.currency?3:"CNY"===this.currency?4:"KRW"===this.currency?5:0}}),methods:Object(R["a"])({},Object(E["b"])("user",["getUserInfo","updateAuthDialogVisble","updateAuthDialogType"]),{showAuthModal:function(e){this.updateAuthDialogType(e),this.updateAuthDialogVisble(!0)},hideAuthModal:function(){this.updateAuthDialogVisble(!1),this.updateAuthDialogType("")},closeDestinations:function(){this.$modal.hide("destinations")},getPriceOffPct:function(e,t){if(!e||!t)return"";var n=this,i=e[n],r=t[n];if(!i||!r)return"";if(i>=r)return"";var a=this.$i18n.locale,o=Number((100*(i-r)/i).toFixed(0)),s=((100-o)/10).toFixed(1);return 0===s?"":"zh_CN"===a||"zh_HK"===a?s<=1?"".concat(+s," 折"):s.endsWith(".0")?"".concat(+s," 折"):"".concat(s.replace(".","")," 折"):"".concat(s,"% off")}})};function mr(){return hr.apply(this,arguments)}function hr(){return hr=Object(i["a"])(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,Ki["a"].dispatch("user/getUserInfo");case 2:new r["default"]({i18n:Qi["b"],router:Gi,store:Ki["a"],render:function(e){return e(Je)}}).$mount("#app");case 3:case"end":return e.stop()}}),e)}))),hr.apply(this,arguments)}r["default"].use(v.a),r["default"].use(w.a),r["default"].use(o.a),r["default"].use(p.a),r["default"].use(c.a),r["default"].use(l.a,{dialog:!0}),r["default"].use(T.a),r["default"].use(g["default"]),r["default"].use(_.a,{position:"top-center",duration:3e3}),r["default"].use(k.a),r["default"].use(h.a),r["default"].use(lr),r["default"].component("vue-simple-spinner",D.a),r["default"].mixin(pr),r["default"].prototype.$productTypes=dr["a"],r["default"].config.productionTip=!1,cr=Ji["a"].isProduction?Ji["a"].isCn?"UA-61910850-5":"UA-61910850-2":Ji["a"].isCn?"UA-61910850-11":"UA-61910850-14",r["default"].use(S["a"],{config:{id:cr}},Gi),mr()},"57b2":function(e,t,n){"use strict";t["a"]={TKT:"Ticket/Pass",ACM:"Accommodation",RNT:"Rental",PKG:"Package",TOR:"Tour",SFT:"Self-Trip",LCD:"Local Deals",LGG:"Luggage",RTR:"Restaurant",PCK:"Pick-Up",DEI:"Delivery-Item"}},"59b9":function(e,t,n){},"5c0b":function(e,t,n){"use strict";var i=n("9c0c"),r=n.n(i);r.a},"5fac":function(e,t,n){"use strict";var i=n("d392"),r=n.n(i);r.a},"60d2":function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8BAMAAADI0sRBAAAAIVBMVEVHcEyAnP2AnP2Bnf2Am/2AnP2Bnf+Bnv+HpP+Bof9/m/09HpzaAAAACnRSTlMAg5ZrqeNIMxAbpWuMBAAAAH5JREFUOMtjYBgFgxckKkGBGDZZllVwoIBFOmupIBRELcciLRUBY01djE0aaCSbsXEB0Bpc0l2rVi3AI83s5GSARxrqh1HpUWlipEs08UpHLcUnzbFqFV7dXovwSrMl4JTGn4mylipCcqAQ1izIhMjAAlizPywDi48WhYMYAADlXzfQWlxvnQAAAABJRU5ErkJggg=="},6305:function(e,t,n){"use strict";var i=n("6b2f"),r=n.n(i);r.a},6818:function(e,t,n){"use strict";n.d(t,"c",(function(){return l})),n.d(t,"b",(function(){return d})),n.d(t,"a",(function(){return m}));n("d3b7");var i=n("bc3a"),r=n.n(i),a=n("2aaa"),o=n("4360"),s=window.localStorage.getItem("token"),c="";c=a["a"].isProduction?a["a"].isCn?"https://api.travelflan.com.cn/main":a["a"].isMars?"https://mars.travelflan.com/flanb":a["a"].isComDemo?"https://mars-test-hk.travelflan.com/flanb-demo":"https://mars-hk.travelflan.com/flanb":a["a"].isCn?"https://api.travelflan.com.cn/main-development":a["a"].isMars?"https://mars-test.travelflan.com/flanb":a["a"].isHKTest?"https://mars-test-hk.travelflan.com/flanb":a["a"].isHKDemo?"https://mars-test-hk.travelflan.com/flanb-demo":a["a"].isComDemo?"https://mars-test-hk.travelflan.com/flanb-demo":"https://mars-test-hk.travelflan.com/flanb";var u=r.a.create({baseURL:c});function l(e){s=e}function d(){return s}u.interceptors.request.use((function(e){s&&(e.headers.Authorization="Bearer "+s||!1);var t=o["a"].state.common,n=t.currency,i=t.locale;return n&&(e.headers.currency=n),i&&(e.headers.locale=i),e.headers.platform=a["a"].platform,e})),u.interceptors.response.use((function(e){return e.data}),(function(e){return e.response?Promise.reject(e.response.data):Promise.reject(e)}));var p=r.a.create({baseURL:"/static"});p.interceptors.response.use((function(e){return e.data}),(function(e){return Promise.reject(e)}));var m=u},6887:function(e,t,n){},"693a":function(e,t,n){"use strict";var i=n("59b9"),r=n.n(i);r.a},"69d6":function(e,t,n){"use strict";var i=n("3a92"),r=n.n(i);r.a},"6b2f":function(e,t,n){},"6e6a":function(e,t,n){"use strict";var i=n("9e08"),r=n.n(i);r.a},"76c9":function(e,t,n){"use strict";var i=n("e1ec"),r=n.n(i);r.a},"7dbf":function(e,t,n){"use strict";var i=n("0e53"),r=n.n(i);r.a},"7ffd":function(e,t,n){"use strict";var i=n("ea54"),r=n.n(i);r.a},8061:function(e,t,n){},8100:function(e,t,n){},"86f6":function(e,t,n){"use strict";var i=n("d5a1"),r=n.n(i);r.a},"8cf6":function(e,t,n){"use strict";var i=n("072e"),r=n.n(i);r.a},"8ea5":function(e,t,n){},"8f11":function(e,t,n){"use strict";var i=n("4bfd"),r=n.n(i);r.a},"90b9":function(e,t,n){"use strict";n.d(t,"c",(function(){return i})),n.d(t,"e",(function(){return r})),n.d(t,"a",(function(){return o})),n.d(t,"d",(function(){return s})),n.d(t,"b",(function(){return c}));n("d3b7"),n("4d63"),n("ac1f"),n("25f0"),n("466d");var i=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window.location.href,n=decodeURIComponent(t).match(new RegExp("[?&]"+e+"=([^&]+)","i"));return null==n||n.length<1?"":n[1]},r=function(e){var t=e.length,n=/(^$|^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$)/;return t>0&&n.test(e)},a=function(e,t){return!e||null!==e.match(t)},o=function(e){var t=/^(?=.*\d)(?=.*[A-z])[A-z0-9-!$%^&*()_+|~=`{}[:;<>?,.@#\]]{6,20}$/;return a(e,t)};function s(e){var t=document.createElement("script");return new Promise((function(n,i){t.onload=function(){n()},t.onerror=function(){i(new Error("load script failed"))},t.src=e,document.head.appendChild(t)}))}var c=function(e,t,n){if(!e)return"";var i=null;return i=void 0!==e[t]?e[t]:e[t]||e.zh_HK||e.en_US||e.zh_CN||e.ko_KR,n?i[n]:i}},"911a":function(e,t,n){},"94a5":function(e,t,n){},"9a36":function(e,t,n){"use strict";n.d(t,"d",(function(){return r})),n.d(t,"e",(function(){return a})),n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return s})),n.d(t,"g",(function(){return c})),n.d(t,"f",(function(){return u})),n.d(t,"c",(function(){return l})),n.d(t,"h",(function(){return p}));var i=n("5530"),r={DFT:"Draft",ACT:"Active",REV:"Under Review",DCT:"Deactivated",SDT:"Sold-Out",EXP:"Expired",ACT_ADS:"Active-Ads",DCT_ADS:"Deactivated-Ads"},a={TKT:"Ticket/Pass",ACM:"Accommodation",RNT:"Rental",PKG:"Package",TOR:"Tour",SFT:"Self-Trip",LCD:"Local Deals",LGG:"Luggage",RTR:"Restaurant",PCK:"Pick-Up",DEI:"Delivery-Item"},o={0:"Payment Waiting",1:"Payment Completed",2:"Payment Declined",3:"Refund Waiting",4:"Refund Completed",5:"Refund Declined",6:"Partial Refund Waiting",7:"Partial Refund Completed",8:"Partial Refund Declined"},s={ACT:"Valid",DCT:"Invalid",USD:"Used",FRZ:"Frozen"},c={PickupAndDelivery:0,PickupOnly:1,DeliveryOnly:2},u={SpecificPeriod:0,SpecificDate:1,SpecificTime:2},l={id:1,details:{en_US:{title:"Other area"},zh_HK:{title:"其他地區"},zh_CN:{title:"其他地区"}}},d={id:1,name:{en_US:"Other area",zh_HK:"其他地區",zh_CN:"其他地区"}},p=function(e){if(e){var t=e.address_district;t&&t.id===d.id&&(e.address_district=Object(i["a"])({},d))}}},"9c0c":function(e,t,n){},"9e08":function(e,t,n){},"9ea1":function(e,t,n){"use strict";var i=n("fbeb"),r=n.n(i);r.a},"9f0a":function(e,t,n){"use strict";var i=n("fc0d"),r=n.n(i);r.a},"9fe4":function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8BAMAAADI0sRBAAAAJ1BMVEVHcEz/szP2qCT4qCT3pyX3qCP2pyP2piP/sCf5qSX2pyP3piT2piOhZF5AAAAADHRSTlMACU9GWl6f6xMsx3d7/M3cAAAAp0lEQVQ4y2NgGAUjEgiiADRJjvQzKKCsAUWa6wwaWIAiPee0MQrIOYkiHXMA1TKeI4NJetsEGIczBYt0zWkYZ88pLNLmZ1ZC2LPOFGOR5sg5swHE5D5zrAGb05hqTgGt51xzXAG7y9vOAK3fcyYDl8fUz6ycdaYIp7+B1oMsxhksTDUgi3GHWlvGoIsxHzRpGVTpOceUUABaUiSQkAlkAwKZaBSMEAAAh26CwMsR7gYAAAAASUVORK5CYII="},a3eb:function(e,t,n){},a4b2:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAP1BMVEVHcEwvwwAuwgAtwgAuwgAuwwAtwgAtwgA2ygAuwgBB3QAvwwA0xgAuwgAuxAAwxAAwxAAtwwAtwQAtwgAtwgCCKj+fAAAAFXRSTlMAPl/AhlSkkxBqBSIZtEopNXnl1P78OctPAAAA00lEQVQ4y91T2RLCIAwMkIOkLdDq/3+raNWmto7v8gCB7GQ3BwB/tsYSy/DdHSZWUkk4nrozS34B45k/tbdtokeAFIAodx0SADgcAkx9u1w7CV3led0tugfNjwyqWdAlfijV4sAJY+jZ7GhoE86zrayCDjDwy8INKuQQXNezdiQtI+QlgqXsqpxWVXNnHjqJzV2x+hA1PXIQ34uyKxiGRi2j176LAJdJVJjFPSVzF3s2kbeKYDzt6ruXiOdjYThpGJrW9HVyMs2CxEv9MYAt/9N3ugGV2gWXulAStQAAAABJRU5ErkJggg=="},a9cb:function(e,t,n){},ab42:function(e,t,n){"use strict";var i=n("bbab"),r=n.n(i);r.a},ad92:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAABGdBTUEAALGPC/xhBQAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAKKADAAQAAAABAAAAKAAAAABZLkSWAAAEvElEQVRYCe2XT0jlVRTHZ7JpRsZhhoahJiimbIYmipAKWtYmctFSWkXQJqGyoGaCqHBh/xa1GcLaBIkhLQJRECVdVNJCUREU/5AYoiLiP3IeWv5+7/X9PN953Hff7/fe7z1nlweO995zzj3n+8695/yuJ04c03EGjjNQMgMnS2rLK9397tzdmXEW7twRx0/vjlfFalwgzF1mk+kNDKMxeiPT2zpyNGeRygih2TPeJbaRua3NxkClpTNGxtzA2SjR0YigBqZG81PiM4ODg9c2Nzff29/f/yUIgj/T6fRtmPne3t7gysrKBx0dHU/I9ry4jj1i9uLD/0ESVUcuOK7E6aGhofpUKvVDJpMJxOUo2NnZ+bG9vR2gF8Rn8SHG1x0BaZnD4Rll5RUh+rscKl+vzO5OTk6+Jh8XxefwJXZBalk5FYBTJm4ocNoPXsE6XFxc/EQwLomPDNKOlvtyOpe5sAIwcabh6Ojo6w5IjpsYFk/TZGTZO8WdU7SKjzUOIcfd2tr6jGBw3NxJCsfuo6bJCIDZe5criLh4VcnX19d/kv/LYgrH7iMxE1E+e7QSIUhSrZUCDZTF54SG+0gLiswiaY2jLMiGhoaXZcAdyZP63vLu7u5MXlB6ktne3h5Xb9zxzGqamppekszvi55Z9NKOt5Ym7KUmbGxsfFHbnp2dnf3e0/nLYGBg4CPZPt3Z2dnsK9UVfpXuIfG94loxV4rYZYnM8svO8lXwHff29t6QrkH85Nzc3De+nrUK4aCvr++mbJ7Cbn5+/jvfTj9+UbqHxRyzWyxaliYDWMeny3cs2T/d3d1vysXj4scE8ivXRvp/9SPekY6vx3Vl+ktXb/MwDFPS14vvE7v3UMvSBMB7xOeiABIAEGo/b8nmmvjqzMzMZzn5fk9PzxuSXUe3sLDwtQHyxxzAR2V3v5jGTcxSdSH1IeUBRh2xE+hgeHj4XW0hSP3U1NTH/f39r9p6aWnplmNbNNWD4q+cbVUAuYN1vEqKPBcKgpGRkfdly1Fxn67Aq6ur3xaaFa+2trZ+l23VR5wtEp5Mxa6LJOHExMSHCvYI4NbW1spVd9bB2NjYp7KvqkhOaiMlX8t7Tt6SNOr0xsZGr/rjH0XwowVBS0vLC4pRVZsBYI2YD/l53nPRMaqXLi8v/yzfV8UPEEPsPhq0PKRSFcNznOd52NXV9bmg0BLuCKkDpNra2m7J2UGOQ43EquhfADtmPuQXeGwK5FHegpbutBr42/JJ5Vf9WNDe7CeHDGeLReNFHptHBJkeHx//Qr7onQ/iU+x+QUhKYsLYvYs00ks8NuOat6UoalRTvp3LHOAoDD5v+HTvXkUAtTefRSqao86C5LHJe05AklR3QEE0Nzc/r/0cK5kzcPjENydVMTjtyRIbceCC5Ggu856bnp5u1XPqNz78fLpgvhA0YfpcrpVQrVfYI2YvPzQRuCSozcaA0n4Ay900Zo3czUS+C0geiK1iGVn7lRtZwRZc9iXJ7Bh9oAAzjgMIGNgHZqBslEkhWeBCafzK7A2kjQAzcGZDUJj+ZmxrA2SjTKLJnEVro6XuHuYus8P0FpzRZWwg0x+uYv6asxh1WbG73527G10g7ty1OZ7/fzPwHzA7hTPNTkhvAAAAAElFTkSuQmCC"},ae17:function(e,t,n){"use strict";var i=n("0c58"),r=n.n(i);r.a},aeab:function(e,t,n){},aecd:function(e,t,n){"use strict";var i=n("fae0"),r=n.n(i);r.a},afde:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAC1UlEQVRYR8WWy2sTURSHz5lJ0iZGBRcKCoq6UBEVsXSSiYrYSWuVggrGpim4EAQX7v0T/AdcuNBVpy1Bax8IUvpSmkkmjdVW1I3gzoKPaKsYm8nMkWltOunCedbO+s79vvO75z4QNvjDDeaDqUCsO3+4QpV7AFBi/HAzm+DfeyltKsCJ0iQRxf5C5zDACnIi8tYrCVOBRlF6BkSnq0CEz8D64vl2bsYLCVOBSG/2EKk0TkQ7VoCIWPQxbEsmyRXcSpgK6IBYeupApayMEtCuqgTgAsNCazbJS24kLAnogJPi1D4FlDEi2rOaBPxEhmnLJaMTTiUsCywnUditKItjQLDfsBwlYJmLcntk2ImELYEliZ7pnRXt9ygRHTQ05iKDzJVcR3TIroRtAR3A92W2qyUcIaIjq0BUkKUOORl7aEfCkYAOiKalbZoCw0R0wtATKgJzLZeKilYlHAvoACFd2PqjvPiUACKGJDRAuJFP8fetSLgS0AFn0m/Cv5T5J7WHFRIS3JI7+btmEq4FdEDbUCH0aaE8QESCEYgsXpeT/IN/SXgisJTE+If60sc5vTFX7g1AxFk5xR/7LwIRMSsQ0CARBQ39kM538lfXXYDrzsWBNH0JqnBEfB3EwNmJjoYv6yqwBNfUQQKoN5yOs0EMNJnB9fGueoDrzTVDRR2ogQPMBJk6wQrclUBUlFo0ov618HDI1zR6mftqtv2qaVkdaBwX7ZbOqUT9QFBnuA9ebQ76BDtwRwlEurKtGmqPa+H4kvWDkE3wRbsF2eoBTsydJ1D7vILbSqCxJ3MBNHhkhCPgtB/DwmTq6De7ldvqgWU49gFRwLDVXvghHHcDt5SAvtVI1YaMcEAohEKh+MSl49+dVm45AU6U3q15/XgGt5ZAV+Y5AZxaNsap0KZgsxeVW06gMS3vhbJ6BxCKW/yB2yOJhnm3sddc2V5O5mQuW+eAE4DZP38AuL4WMO0JlL0AAAAASUVORK5CYII="},b2ac:function(e,t,n){},b30f:function(e,t,n){"use strict";var i=n("8061"),r=n.n(i);r.a},b656:function(e,t,n){},b6f7:function(e,t,n){},bbab:function(e,t,n){},bcad:function(e,t,n){"use strict";var i=n("8ea5"),r=n.n(i);r.a},c417:function(e,t,n){"use strict";var i=n("a9cb"),r=n.n(i);r.a},c528:function(e,t,n){},d29d:function(e,t,n){"use strict";var i=n("94a5"),r=n.n(i);r.a},d392:function(e,t,n){},d3924:function(e,t,n){"use strict";var i=n("1631"),r=n.n(i);r.a},d5a1:function(e,t,n){},dc85:function(e,t,n){"use strict";var i=n("e90a"),r=n.n(i);r.a},e1ec:function(e,t,n){},e3dc:function(e,t,n){"use strict";var i=n("4063"),r=n.n(i);r.a},e90a:function(e,t,n){},ea54:function(e,t,n){},f544:function(e,t,n){},fae0:function(e,t,n){},fbeb:function(e,t,n){},fc0d:function(e,t,n){},fe07:function(e,t,n){"use strict";n("4160"),n("c975"),n("b64b"),n("159b");var i=n("2b0e"),r=n("a925"),a=n("90b9"),o=n("2aaa"),s={auth:{phoneNumber:"Mobile number",sixDigits:"6 digits",passwordPolicy:"Enter a 6-20 digit password, with alphanumeric",wechatLogin:"WeChat Login",emailLogin:"Email login",msgCodeLogin:"Mobile varification login",msgPhoneLogin:"Mobile password login",forgotPassword:"Forgot password ?",signup:"Sign up",backToSign:"Back to sign-in",passwordRemembered:"Password Remembered!",toLogin:"To login",mobileVerify:"Mobile verification",submitVerify:"Submit verification",mobileNeededReason:'According to the "Cyber Security Law", in order to ensure that you use the relevant functions normally, the account needs to bind your mobile phone.',verification:"Verification",verificationNeeded:"Please enter verification",phoneNumberNeeded:"Please enter your mobile number",phoneNumberError:"Number with wrong format",passwordNeeded:"Please enter your password",emailNeeded:"Please enter your Email",codeNeeded:"Please enter the verification code",phoneNumberNotExist:"The number has not been registered or bound, please register or bind",userNamePasswordInvalid:"User name/password is incorrect, please re-enter",codeInvalid:"Wrong verification code, please enter again",phoneNumberExist:"The number has registered, please log in directly",signUpFailed:"Registration failed, please try again",resetPasswordFailed:"Failed to reset password, please try again",phoneNumberUsed:"The number has bound to another account, please log in directly through the number",phoneNumberUpdateFailed:"Binding phone failed, please try again",retryVerification:"Retry",passwordTooSimple:"The password is too simple",exceedMessageLimit:"Reach the amount limit of validation",alreadyHaveAccount:"There has already started the account? ",facebookLogin:"Sign in with Facebook",confirmPassword:"Confirm password"},OK:"OK",Code:"Code",Login:"Login",Register:"Register",Password:"Password","Enter email address":"Enter email address","Forget PW":"Forget PW",CNY:"CNY",USD:"USD",HKD:"HKD",TWD:"TWD","We got a best travelling plan for you!":"We got a best travelling plan for you!","Your personal travel assistant":"Your personal travel assistant","Find your destination or tour":"Find your destination or tour","Popular Cities":"Popular Cities","Everybody been here, you cannot miss them":"Everybody been here, you cannot miss them","The hottest in the season":"The hottest in the season","Hot sells in the season, for you to begin your journey":"Hot sells in the season, for you to begin your journey","What you may looking for":"What you may looking for","Search Features quarter around the theme":"Search Features quarter around the theme","About TravelFlan":"About TravelFlan","About us":"About us","Travel Blog":"Travel Blog","Join us":"Join us",Partners:"Partners","Terms of service":"Terms of service","Privacy policy":"Privacy policy","REFUND POLICIES":"REFUND POLICIES",FAQ:"FAQ","Contact us":"Contact us","Office hour":"Office hour",Email:"Email","Mon-Fri 10am - 7pm{timezone}, Sat 2pm-6pm{timezone} (Exclude Sun and Public Holiday)":"Mon-Fri 10am - 7pm{timezone}.
Sat 2pm-6pm{timezone}
Exclude Sun and Public Holiday
Please Whatsapp during off work hours","Copyright © 2020 freeD Group Limited | Traveling Agency License No.354488":"Copyright © 2020 freeD Group Limited | Traveling Agency License No.354488",Destinations:"Destinations","Load more":"Load more","No more content":"No more content","WHAT TO EXPECT":"WHAT TO EXPECT",DETAILS:"DETAILS",INCLUSIONS:"INCLUSIONS",EXCLUSIONS:"EXCLUSIONS","IMPORTANT TO KNOW":"IMPORTANT TO KNOW","CHANGE & REFUND POLICIES":"CHANGE & REFUND POLICIES","ORDER & DELIVERY":"ORDER & DELIVERY","Other information":"Other information","Coupon code":"Coupon code",No:"No",Yes:"Yes","Enter then verify":"Enter then verify",Verify:"Verify","FWC member":"FWC member","Last name":"Last name","First name":"First name","Last name spell":"Last name spell","First name spell":"First name spell","Member number":"Member number",Note:"Note","Rent time":"Rent time","Rent date":"Rent date","Return time":"Return time","Return date":"Return date","Leased days":"Leased days","Travel date":"Travel date",Total:"Total","Quantity out of range":"Quantity out of range","Book now":"Book now",Limit:"Limit",Promoted:"Promoted","Due to it's promotion product, please read the precautions and order detail carefully before booking":"Due to it's promotion product, please read the precautions and order detail carefully before booking","Maximum limit pieces per person":"Maximum {num} pieces per person","limit pieces release per day":"{num} pieces release per day","By completing this reservation, means that you have read and accepted the rules and restrictions, terms of use and privacy policy":"By completing this reservation, means that you have read and accepted the rules and restrictions, terms of use and privacy policy","We use secure transmission and encrypted storage to ensure the security of your personal data":"We use secure transmission and encrypted storage to ensure the security of your personal data","Main passenger contact information":"Main passenger contact information",Gender:"Gender","Phone number":"Phone number",Male:"Male",Female:"Female",Submit:"Submit","Failed to register":"Failed to register","The password is too simple":"The password is too simple","Wrong SMS verification code":"Wrong SMS verification code","This phone number has been registered, please login directly":"This phone number has been registered, please login directly","Password reset failed":"Password reset failed","The phone number is not registered or bound":"The phone number is not registered or bound","Forget password":"Forget password","Password reset successful, please login":"Password reset successful, please login","Password reset email sent, please check your email and reset your password":"Password reset email sent, please check your email and reset your password",Title:"Title","The same as passport":"The same as passport","Country/Region code":"Country/Region code","Code Invalid":"Code Invalid","Code valid":"Code valid","Receive FWC member credit":"Receive FWC member credit","Non FWC member":"Non FWC member","Member ID":"Member ID","Register FWC membership now":"Register FWC membership now","Travel Category":"Travel Category","Sort by":"Sort by","Lowest price":"Lowest price",Newest:"Newest","Next step":"Next step","Last name spell is required":"Last name spell is required","First name spell is required":"First name spell is required","Gender is required":"Gender is required","Phone number is required":"Phone number is required","Email is required":"Email is required","Invalid email":"Invalid email","WeChat Pay":"WeChat Pay",Alipay:"Alipay","All payment information is secured and encrypted":"All payment information is secured and encrypted",Pay:"Pay","Please choose payment method!":"Please choose payment method!",Submitting:"Submitting","Failed to pay":"Failed to pay","Previous page":"Previous page","Failed to submit order, please check your information!":"Failed to submit order, please check your information!","Failed to submit order, exceeding the purchase limit":"Failed to submit order, exceeding the purchase limit","Failed to submit order, wrong booking date":"Failed to submit order, wrong booking date","Personal info":"Personal info","My order":"My order",Favorite:"Favorite",Favored:"Favored","My favorites":"My favorites",Logout:"Logout","Order SN":"Order SN","Cancel order":"Cancel order",Option:"Option",Quantity:"Quantity","Rental time":"Rental time","Awaiting payment":"Awaiting payment",Closed:"Closed","Info requested":"Info requested",Paid:"Paid",Processing:"Processing","Voucher sent":"Voucher sent","Order failed":"Order failed",Refunding:"Refunding","Refund completed":"Refund completed","Refund declined":"Refund declined","Refund error":"Refund error","Go to home page":"Go to home page","No orders, go explore more trips!":"No orders, go explore more trips!",Cancel:"Cancel","FWC member info":"FWC member info","Password reset":"Password reset","New password":"New password",Saved:"Saved","Save failed":"Save failed","Two passwords do not match":"Two passwords do not match","Failed to bind the phone, please try again":"Failed to bind the phone, please try again","This phone number has been bound to other accounts":"This phone number has been bound to other accounts","Mobile phone verification successful":"Mobile phone verification successful","Date of birth":"Date of birth","Date of birth is required":"Date of birth is required","Change phone number":"Change phone number","See more":"See more","Exclusive Travel handbook":"Exclusive Travel handbook","Looking for inspiration and detail ? Click here to begin your journey":"Looking for inspiration and detail ? Click here to begin your journey","More Cities":"More Cities","Search Destination, Ticket, Tour":"Search Destination, Ticket, Tour","Payment successful":"Payment successful","We will confirm your booking ASAP":"We will confirm your booking ASAP","Order detail":"Order detail","Home page":"Home page",Wechat:"Wechat","Mini Program":"Mini Program","Follow TravelFlan, easy access, quick FAQ, make life easier.":'Follow "TravelFlan", easy access, quick FAQ, make life easier.',"Tired of travel planning?":"Tired of travel planning?","Smart Travel AI solution":"Smart Travel AI solution","Make your travel easy!":"Make your travel easy!","Click here to connect to your personal travel concierge!":"Click here to connect to your personal travel concierge!","No search result":"No search result","Please use Wechat Scan
to scan the QR code for payment":"Please use Wechat Scan
to scan the QR code for payment","Please use Alipay Scan
to scan the QR code for payment":"Please use Alipay Scan
to scan the QR code for payment",Ticket:"Ticket",Tour:"Tour","Luggage service":"Luggage service","Device rental":"Device rental","Physical goods":"Physical goods",Discount:"Discount","If you are buying a physical item such as a mask, please fill in the delivery address here":"If you are buying a physical item such as a mask, please fill in the delivery address here","Not available this day":"Not available this day","System validating":"System validating","System confirming, please wait":"System confirming, please wait","Oops, this product is not yet in current language":"Oops, this product is not yet in English","Oops, this event is not yet in current language":"Oops, this event is not yet in English","Order time":"Order time","/day/unit":"/day/unit",Delete:"Delete","Product has been taken off":"Product has been taken off","Return to the home page":"Return to the home page","But It has other language supported, click to see":"But It has other language supported, click to see","The email exists, please login directly":"The email exists, please login directly","Incorrect email format":"Incorrect email format","The password renew request has expired. Please submit a new request to renew password":"The password renew request has expired. Please submit a new request to renew password","Reset Password":"Reset Password","Reset password successfully":"Reset password successfully","Please login with changed password":"Please login with changed password","Please use Alipay Scan only":"Please use Alipay Scan only","Multiple cities":"Multiple cities","This password is too common.":"This password is too common.","Bind email":"Bind email","Please share your email with us for receiving and confirming order":"Please share your email with us for receiving and confirming order","Back to Home page":"Back to Home page","In English":"In English","In Simplified Chinese":"In Simplified Chinese","In Traditional Chinese":"In Traditional Chinese","Shipping Address":"Shipping Address","Shipping Address is required":"Shipping Address is required",'Enter address, or enter "Pickup" if it is a self pickup item':'Enter address, or enter "Pickup" if it is a self pickup item',"View Image":"View Image","You might like":"You might like","Product list":"Product list",Activities:"Activities",Services:"Services",Luggage:"Luggage",Shopping:"Shopping","See the World":"See the World","Fun to Do":"Fun to Do","Rent no Carry":"Rent no Carry","Travel Light":"Travel Light","Oversea delivery":"Oversea delivery","Chat now":"Chat now",Category:"Category","Shipping code":"Shipping code","No shipping info":"No shipping info","Expired at":"Expired at","Go chat":"Go chat",Phone:"Phone",Copied:"Copied","Redeem code":"Redeem code","To receive booking confirmation":"To receive booking confirmation",Cart:"Cart","Add to Cart":"Add to Cart","Added to Cart":"Added to Cart","Click to see":"Click to see","Shopping cart":"Shopping cart","Related info":"Related info","Unit price":"Unit price",Subtotal:"Subtotal",Suboption:"Suboption","Valid date":"Valid date",Restaurant:"Restaurant","No longer available":"No longer available","Select All":"Select All","Remove selected item":"Remove selected item",Purchase:"Purchase","{count} item Total":"{count} item Total","{count} items Total":"{count} items Total","The cart is empty!":"The cart is empty!","To receive order confirmation":"To receive order confirmation","Confirm information":"Confirm information",Contact:"Contact",Shipping:"Shipping",Pickup:"Pickup","Confirm order":"Confirm order","Set as default":"Set as default","Contact information":"Contact information","Area code":"Area code","Area code is required":"Area code is required",Save:"Save","Shipping address":"Shipping address","Shipping address is required":"Shipping address is required","Select option":"Select option",Suboptional:"Suboptional","Option is required":"Option is required","Suboption is required":"Suboption is required","Out of Stock":"Out of Stock","Minimum {min} orders":"Minimum {min} orders","Max {max} per person":"Max {max} per person","Different warehouses need separate orders":"Different warehouses need separate orders",Next:"Next","Remove item":"Remove item","Payment Waiting":"Payment Waiting","Payment Completed":"Payment Completed","Reservation Declined":"Reservation Declined","Refund Waiting":"Refund Waiting","Refund Completed":"Refund Completed","Refund Declined":"Refund Declined","Partial Refund Waiting":"Partial Refund Waiting","Partial Refund Completed":"Partial Refund Completed","Partial Refund Decline":"Partial Refund Decline","Payment Processing":"Payment Processing","Payment Declined":"Payment Declined","Booking time":"Booking time","Booking ID":"Booking ID","Ship to":"Ship to","Pickup at":"Pickup at","Stock low, please reduce number of order":"Stock low, please reduce number of order","Please reselect option":"Please reselect option","We only have {stock} left":"We only have {stock} left","Coupon discount":"Coupon discount",Ok:"Ok","Are you sure?":"Are you sure?","Confirm Delete":"Confirm Delete","Local Dining":"Local Dining","Please add shipping address":"Please add shipping address","Scan QR code to view on mobile website":"Scan QR code to view on mobile website","for better shopping experience":"for better shopping experience","My coupon":"My coupon",Valid:"Valid",Invalid:"Invalid","See condition":"See condition","Available period":"Available period",Collected:"Collected",Get:"Get","Redeemed successfully":"Redeemed successfully","Exceed redeem limit":"Exceed redeem limit","Use coupon":"Use coupon","Anything we should pay attention to ?":"Anything we should pay attention to ?","No coupons, go explore more!":"No coupons, go explore more!",Condition:"Condition","Redeem fail":"Redeem fail","Code invalid":"Code invalid","Reach the limit of this coupon":"Reach the limit of this coupon","The coupon has been collected up":"The coupon has been collected up","This Code cannot be used to this product":"This Code cannot be used to this product","Conditions of Usage are not met":"Conditions of Usage are not met","This Code is not Valid now":"This Code is not Valid now","Redeem successful":"Redeem successful",Used:"Used",Frozen:"Frozen",Redeem:"Redeem","Shipping fee please refer to product page":"Shipping fee please refer to product page","Expired in {time}":"Expired in {time}","Expired in {time} after redeeming":"Expired in {time} after redeem","Valid until":"Valid until","Account not exist, please register first":"Account not exist, please register first","1 day":"1 day",days:"{day} days","Payment failed":"Payment failed","Please check your network or contact our customer agent":"Please check your network or contact our customer agent","Credit card":"Credit card","New card":"New card","Card number":"Card number","Expired date":"Expired date",CVC:"CVC","Save card":"Save card","Traveling Agency License No: 354488":"Traveling Agency License No: 354488","Please pick up after order confirmed":"Please pick up after order confirmed",Reservation:"Reservation","Reservation date":"Reservation date","Reservation time":"Reservation time","Reservation date is required":"Reservation date is required","Reservation time is required":"Reservation time is required",Area:"Area","Area is required":"Area is required","Other area":"Other area","Select area":"Select area","Enter address":"Enter address","Enter email":"Enter email","Shipping only":"Shipping only","Free shipping":"Free shipping","Pickup only":"Pickup only","Shipping and pickup":"Shipping and pickup","Shipping fee not included":"Shipping fee not included","Event has been taken off":"Event has been taken off",Free:"Free","Quantity over limit":"Quantity over limit","Limited {num} per account":"Limited {num} per account","From {start} to {end}, the product is limited to {num} per account":"From {start} to {end}, the product is limited to {num} per account","If any question about the order, please contact +852 27899773 or email to hello@travelflan.com":'If any question about the order, please contact +852 27899773 or email to hello@travelflan.com',"Available shops":"Available shops",Rules:"Rules","Order ID":"Order ID",BookingPaid:"Paid",Payment:"Payment",Address:"Address","My reservation":"My reservation","Reservation detail":"Reservation detail","Reserved info":"Reserved info","Order Contact":"Contact","Pickup info":"Pickup info","Order info":"Order info","Actual paid":"Actual paid","Pickup address":"Pickup address","Redeem info":"Redeem info","Shipping info":"Shipping info","User name":"User name",Coupon:"Coupon","The card has been declined for an unknown reason.":"The card has been declined for an unknown reason.","The CVC number is incorrect.":"The CVC number is incorrect.","The card has expired.":"The card has expired.","Email existed":"Email existed","Create account":"Create account","Go login":"Go login"},c={auth:{phoneNumber:"手机号码",sixDigits:"6位数字",passwordPolicy:"输入6-20位密码,须包含字母和数字",wechatLogin:"微信登录",emailLogin:"邮箱登录",msgCodeLogin:"手机动态码登录",msgPhoneLogin:"手机密码登录",forgotPassword:"忘记密码?",signup:"注册帐号",backToSign:"返回普通登录",passwordRemembered:"想起密码!",toLogin:"去登录",mobileVerify:"手机验证",submitVerify:"提交验证",mobileNeededReason:"依据《网络安全法》,为保障您正常使用相关功能,账号需绑定手机。",verification:"获取验证码",verificationNeeded:"请输入验证码",phoneNumberNeeded:"请输入手机号码",phoneNumberError:"手机号码格式错误",passwordNeeded:"请输入密码",emailNeeded:"请输入邮箱",codeNeeded:"请输入短信验证码",phoneNumberNotExist:"手机号码尚未注册或绑定,请先注册或绑定",userNamePasswordInvalid:"用户名/密码不正确,请重新输入",codeInvalid:"短信验证码错误",phoneNumberExist:"该手机号已注册,请直接登录",signUpFailed:"注册失败,请重试",resetPasswordFailed:"重置密码失败,请重试",phoneNumberUsed:"该手机号已绑定其他账号,请通过手机号直接登录",phoneNumberUpdateFailed:"绑定手机失败,请重试",retryVerification:"重新获取",passwordTooSimple:"密码过于简单",exceedMessageLimit:"已达今日动态码获取上限",alreadyHaveAccount:"巳经有帐号了?",facebookLogin:"以Facebook登入",confirmPassword:"确定密码"},OK:"确定",Code:"验证码",Login:"登录",Register:"注册帐号",Password:"密码","Enter email address":"请输入邮箱登录","Forget PW":"忘记密码",CNY:"人民币",USD:"美金",HKD:"港币",TWD:"台币","We got a best travelling plan for you!":"我们计划,由你去玩!","Your personal travel assistant":"你的私人旅游助理","Find your destination or tour":"寻找你的目的地或旅行团","Popular Cities":"热门目的地","Everybody been here, you cannot miss them":"大家都去这些地方,你不能错过","The hottest in the season":"本季热卖商品","Hot sells in the season, for you to begin your journey":"当季最热卖产品,给尚未出行的您有个机会","What you may looking for":"精选主题限定","Search Features quarter around the theme":"搜寻各地特色季度主题","About TravelFlan":"关于TravelFlan","About us":"关于我们","Travel Blog":"旅游网志","Join us":"加入我们",Partners:"合作伙伴","Terms of service":"服务条款","Privacy policy":"隐私政策","REFUND POLICIES":"退换政策",FAQ:"常见问题","Contact us":"联络我们","Office hour":"办公时间",Email:"电邮","Mon-Fri 10am - 7pm{timezone}, Sat 2pm-6pm{timezone} (Exclude Sun and Public Holiday)":"星期一至五10am - 7pm{timezone}
星期六2pm - 6pm{timezone}
星期日及公众假期除外
办公时间外请Whatsapp联系","Copyright © 2020 freeD Group Limited | Traveling Agency License No.354488":'Copyright © 2020 深圳市前海自乐游旅游科技有限公司 粤ICP备17159594号 | 旅游牌照号码:354488',Destinations:"目的地","Load more":"加载更多","No more content":"没有更多内容了","WHAT TO EXPECT":"产品重点",DETAILS:"详细介绍",INCLUSIONS:"费用包含",EXCLUSIONS:"费用不含","IMPORTANT TO KNOW":"注意事项","CHANGE & REFUND POLICIES":"货品更换及退款政策","ORDER & DELIVERY":"订购须知","Other information":"其他信息","Coupon code":"优惠码",No:"无",Yes:"有","Enter then verify":"请输入优惠码",Verify:"验证","FWC member":"金鹏会员","Last name":"姓氏","First name":"名字","Last name spell":"姓氏","First name spell":"名字","Member number":"会员号码",Note:"备注","Rent time":"领取时间","Rent date":"领取日期","Return time":"归还时间","Return date":"归还日期","Leased days":"租赁天数","Travel date":"出行日期",Total:"总额","Quantity out of range":"数量超出范围","Book now":"立即预订",Limit:"限购",Promoted:"促销","Due to it's promotion product, please read the precautions and order detail carefully before booking":"产品促销优惠,下单前请仔细阅读注意事项及订购流程","Maximum limit pieces per person":"限购{num}件","limit pieces release per day":"每日限量{num}件","By completing this reservation, means that you have read and accepted the rules and restrictions, terms of use and privacy policy":"选择完成此预订,即表示您已阅读并接受规则及限制、使用条款及隐私政策","We use secure transmission and encrypted storage to ensure the security of your personal data":"我们采用安全传输及加密储存来保证您个人资料的安全","Main passenger contact information":"主要旅客联络资料",Gender:"性别","Phone number":"电话",Male:"男",Female:"女",Submit:"提交","Failed to register":"注册失败","The password is too simple":"密码过于简单","Wrong SMS verification code":"短信验证码错误","This phone number has been registered, please login directly":"该手机号已注册,请直接登录","Password reset failed":"密码重置失败","The phone number is not registered or bound":"手机号码尚未注册或绑定","Forget password":"忘记密码","Password reset successful, please login":"密码重置成功,请重新登录","Password reset email sent, please check your email and reset your password":"邮件已发出,请检查你的邮件并重设密码",Title:"称谓","The same as passport":"与旅游证件同英文拼音","Country/Region code":"国家/地区代码","Code Invalid":"无效优惠码","Code valid":"优惠码有效","Receive FWC member credit":"金鹏会员积分赚取","Non FWC member":"非金鹏会员","Member ID":"会员号码","Register FWC membership now":"立即注册金鹏会员","Travel Category":"行程分类","Sort by":"排序方式","Lowest price":"价钱最低",Newest:"最新上架","Next step":"下一步","Last name spell is required":"请填写姓氏拼音","First name spell is required":"请填写名字拼音","Gender is required":"请选择性别","Phone number is required":"请填写手机号码","Email is required":"请填写常用邮箱","Invalid email":"邮箱格式错误","WeChat Pay":"微信支付",Alipay:"支付宝","All payment information is secured and encrypted":"所有支付信息已获得安全加密保护",Pay:"付款","Please choose payment method!":"请选择支付方式!",Submitting:"正在提交订单","Failed to pay":"支付失败","Previous page":"上一页","Failed to submit order, please check your information!":"订单提交失败, 请检查您的输入!","Failed to submit order, exceeding the purchase limit":"订单提交失败, 超过限购数量","Failed to submit order, wrong booking date":"订单提交失败, 预定日期错误","Personal info":"个人信息","My order":"我的订单",Favorite:"收藏",Favored:"已收藏","My favorites":"我的收藏",Logout:"退出登录","Order SN":"订单编号","Cancel order":"取消订单",Option:"选项",Quantity:"数量","Rental time":"取还时间","Awaiting payment":"待支付",Closed:"订单已关闭","Info requested":"资料补充",Paid:"支付成功",Processing:"处理中","Voucher sent":"凭证已发送","Order failed":"预订失败",Refunding:"退款中","Refund completed":"退款完成","Refund declined":"退款拒绝","Refund error":"退款错误","Go to home page":"前往首页","No orders, go explore more trips!":"暂无订单,去探索更多行程吧!",Cancel:"取消","FWC member info":"金鹏会员信息","Password reset":"重置密码","New password":"新密码",Saved:"保存成功","Save failed":"保存失败","Two passwords do not match":"两次密码输入不一致","Failed to bind the phone, please try again":"绑定手机失败,请重试","This phone number has been bound to other accounts":"该手机号已绑定其他账号","Mobile phone verification successful":"手机验证成功","Date of birth":"出生日期","Date of birth is required":"请输入出生日期","Change phone number":"更换手机号","See more":"查看全部","Exclusive Travel handbook":"精选旅游攻略","Looking for inspiration and detail ? Click here to begin your journey":"找灵感、看细节,从这里开启旅游大门","More Cities":"更多城市","Search Destination, Ticket, Tour":"搜索 目的地, 景点门票, 旅行团","Payment successful":"支付成功","We will confirm your booking ASAP":"我们会尽快确定你的预约!","Order detail":"订单明细","Home page":"返回首页",Wechat:"微信公众号","Mini Program":"微信小程序","Follow TravelFlan, easy access, quick FAQ, make life easier.":'关注”TravelFlan” 简单查取,快速问答,为生活找好帮手!',"Tired of travel planning?":"害怕旅游做功课吗?","Smart Travel AI solution":"智能旅游AI","Make your travel easy!":"伴你出行","Click here to connect to your personal travel concierge!":"点我开启智能旅游大门!","No search result":"没有搜索结果","Please use Wechat Scan
to scan the QR code for payment":"请使用微信扫一扫
扫描二维码支付","Please use Alipay Scan
to scan the QR code for payment":"请使用支付宝扫一扫
扫描二维码支付",Ticket:"门票",Tour:"旅行团","Luggage service":"行李服务","Device rental":"设备租赁","Physical goods":"实物商品",Discount:"折扣","If you are buying a physical item such as a mask, please fill in the delivery address here":"如果你购买的是口罩等实物商品,请在此填写邮寄地址","Not available this day":"当日不可售","System validating":"系统确认中","System confirming, please wait":"请稍等,系统正在确认中!","Oops, this product is not yet in current language":"哎呀, 该产品暂不支持简体中文","Oops, this event is not yet in current language":"暂不支持简体中文","Order time":"下单时间","/day/unit":"/天/个",Delete:"删除","Product has been taken off":"产品已下架","Return to the home page":"返回首页","But It has other language supported, click to see":"但支持其他语言,点击查看","The email exists, please login directly":"该邮箱已注册,请直接登录","Incorrect email format":"邮箱格式不对","The password renew request has expired. Please submit a new request to renew password":"修改密码链接已经失效,请重新申请修改密码","Reset Password":"重设密码","Reset password successfully":"重设密码成功","Please login with changed password":"请使用新的密码登入","Please use Alipay Scan only":"请使用支付宝扫一扫","Multiple cities":"多城市","This password is too common.":"密码过于简单","Bind email":"绑定邮箱","Please share your email with us for receiving and confirming order":"请与我们分享您的邮箱,便于接收和确认订单","Back to Home page":"返回首页","In English":"英文版","In Simplified Chinese":"简体中文版","In Traditional Chinese":"繁体中文版","Shipping Address":"邮寄地址","Shipping Address is required":"邮寄地址必填",'Enter address, or enter "Pickup" if it is a self pickup item':"请输入寄送地址,如您购买了自取产品,请输入“自取”","View Image":"查看图片","You might like":"猜你喜欢","Product list":"产品列表",Activities:"玩乐",Services:"服务",Luggage:"行李",Shopping:"购物","See the World":"景点优惠","Fun to Do":"旅行玩乐","Rent no Carry":"接送租赁","Travel Light":"送存服务","Oversea delivery":"海外直送","Chat now":"即时聊天",Category:"分类","Shipping code":"物流编号","No shipping info":"暂无物流信息","Expired at":"有效期至","Go chat":"即时聊天",Phone:"电话",Copied:"复制成功","Redeem code":"兑换码","To receive booking confirmation":"用于接收订单确认信息",Cart:"购物车","Add to Cart":"加入购物车","Added to Cart":"已加入购物车","Click to see":"点击查看","Shopping cart":"购物车","Related info":"相关信息","Unit price":"单价",Subtotal:"小计",Suboption:"子选项","Valid date":"有效日期",Restaurant:"餐厅","No longer available":"产品已下架","Select All":"全选","Remove selected item":"移除所选商品",Purchase:"购买","{count} item Total":"{count} 件总价","{count} items Total":"{count} 件总价","The cart is empty!":"去添加点什么吧!","To receive order confirmation":"用于接收订单信息","Confirm information":"确认信息",Contact:"联系人",Shipping:"寄送",Pickup:"自取","Confirm order":"确认订单","Set as default":"设为默认","Contact information":"联系人信息","Area code":"国际区号","Area code is required":"国际区号必填项",Save:"保存","Shipping address":"寄送地址","Shipping address is required":"寄送地址为必填项","Select option":"选择选项",Suboptional:"子选项","Option is required":"选项为必填项","Suboption is required":"子选项为必填项","Out of Stock":"库存不足","Minimum {min} orders":"至少 {min} 个起订","Max {max} per person":"每人最多可买 {max} 个","Different warehouses need separate orders":"不同仓库的商品,请分次购买",Next:"下一步","Remove item":"移除商品","Payment Waiting":"支付中","Payment Completed":"支付完成","Reservation Declined":"预订拒绝","Refund Waiting":"退款已提交","Refund Completed":"退款完成","Refund Declined":"退款拒绝","Partial Refund Waiting":"部分退款已提交","Partial Refund Completed":"部分退款已完成","Partial Refund Decline":"部分退款拒绝","Payment Processing":"支付中","Payment Declined":"支付拒绝","Booking time":"下单时间","Booking ID":"预订ID","Ship to":"寄送至","Pickup at":"自取于","Stock low, please reduce number of order":"库存不足,请减少订单数量","Please reselect option":"请重新选择选项","We only have {stock} left":"库存仅剩 {stock} 个","Coupon discount":"优惠减免",Ok:"确定","Are you sure?":"确定如此操作吗?","Confirm Delete":"确认刪除","Local Dining":" 地道美食","Please add shipping address":"请填写寄送地址","Scan QR code to view on mobile website":"手机扫码浏览移动端网页","for better shopping experience":"购物体验更流畅","My coupon":"我的优惠券",Valid:"有效",Invalid:"无效","See condition":"显示条件","Available period":"有效期",Collected:"已领取",Get:"领取","Redeemed successfully":"领取成功","Exceed redeem limit":"超出兑换限额","Use coupon":"使用优惠券","Anything we should pay attention to ?":"我们有什么要注意的吗?","No coupons, go explore more!":"没有优惠券,去探索更多吧!",Condition:"条件","Redeem fail":"领取失败","Code invalid":"优惠码无效","Reach the limit of this coupon":"该优惠领取达到上限","The coupon has been collected up":" 该优惠已被领完","This Code cannot be used to this product":"优惠不能用于此产品","Conditions of Usage are not met":"未达到使用门槛","This Code is not Valid now":"未到使用时间","This Code has been redeemed":"该优惠已领取","Redeem successful":"领取成功",Used:"已使用",Frozen:"已冻结",Redeem:"领取","Shipping fee please refer to product page":"是否包邮请参考产品页","Expired in {time}":"{time}后无效","Expired in {time} after redeeming":"领取后 {time}有效","Valid until":"有效至","Account not exist, please register first":"账户不存在,请先注册","1 day":"1 天",days:"{day} 天","Payment failed":"支付失败","Please check your network or contact our customer agent":"请检查网络或联系我们客服","Credit card":"信用卡","New card":"新增信用卡","Card number":"信用卡号","Expired date":"有效期",CVC:"安全码","Save card":"保存卡片","Traveling Agency License No: 354488":"旅游牌照号码:354488","Please pick up after order confirmed":"请在订单确认后自取",Reservation:"预约","Reservation date":"预约日期","Reservation time":"预约时间","Reservation date is required":"请填写预约日期","Reservation time is required":"请填写预约日期","Other area":"其他地区",Area:"地区","Area is required":"请选择地区","Select area":"选择地区","Enter address":"请输入寄送地址","Enter email":"输入邮箱","Shipping only":"仅寄送","Free shipping":"包邮","Pickup only":"仅自取","Shipping and pickup":"支持寄送与自取","Shipping fee not included":"运费由客人承担","Event has been taken off":"活动已下架",Free:"免费","Quantity over limit":"数量超过限购","Limited {num} per account":"每个帐户限购{num}件","From {start} to {end}, the product is limited to {num} per account":"在{start} - {end}内, 限购{num}件","If any question about the order, please contact +852 27899773 or email to hello@travelflan.com":'如对订单有任何疑问请致电+852 27899773或邮件至hello@travelflan.com',"Available shops":"适用门店",Rules:"使用规则","Order ID":"订单ID",BookingPaid:"实付",Payment:"支付方式",Address:"地址","My reservation":"我的预约","Reservation detail":"预约详情","Reserved info":"预约信息","Order Contact":"联系方式","Pickup info":"自取信息","Order info":"订单信息","Actual paid":"实付","Pickup address":"自取地址","Redeem info":"兑换码信息","Shipping info":"物流信息","User name":"姓名",Coupon:"优惠券","The card has been declined for an unknown reason.":"未知错误","The CVC number is incorrect.":"安全码错误","The card has expired.":"卡已过期","Email existed":"邮箱已存在","Create account":"注册账号","Go login":"去登录"},u={auth:{phoneNumber:"手機號碼",sixDigits:"6位數字",passwordPolicy:"輸入6-20 位密碼, 須包含字母和數字",wechatLogin:"微信登錄",emailLogin:"郵箱登錄",msgCodeLogin:"手機動態碼登錄",msgPhoneLogin:"手機密碼登錄",forgotPassword:"忘記密碼?",signup:"註冊帳號",backToSign:"返回普通登錄",passwordRemembered:"想起密碼!",toLogin:"去登錄",mobileVerify:"手機驗證",submitVerify:"提交驗證",mobileNeededReason:"依據《網絡安全法》, 為保障你正常使用相關功能, 賬號需綁定手機。",verification:"獲取驗證碼",verificationNeeded:"請輸入驗證碼",phoneNumberNeeded:"請輸入手機號碼",phoneNumberError:"手機號碼格式錯誤",passwordNeeded:"請輸入密碼",emailNeeded:"請輸入郵箱",codeNeeded:"請輸入短信驗證碼",phoneNumberNotExist:"手機號碼尚未註冊或綁定, 請先註冊或綁定",userNamePasswordInvalid:"用戶名/密碼不正確, 請重新輸入",codeInvalid:"短信驗證碼錯誤",phoneNumberExist:"該手機號已註冊, 請直接登錄",signUpFailed:"註冊失敗, 請重試",resetPasswordFailed:"重置密碼失敗, 請重試",phoneNumberUsed:"該手機號已綁定其他帳號, 請通過手機直接登錄",phoneNumberUpdateFailed:"綁定手機失敗, 請重試",retryVerification:"重新獲取",passwordTooSimple:"密碼過於簡單",exceedMessageLimit:"已達今日動態碼獲取上限",alreadyHaveAccount:"巳經有帳號了?",facebookLogin:"以Facebook登入",confirmPassword:"確定密碼"},OK:"確定",Code:"驗證碼",Login:"登入",Register:"註冊帳號",Password:"密碼","Enter email address":"請輸入信箱登入","Forget PW":"忘記密碼",CNY:"人民幣",USD:"美金",HKD:"港幣",TWD:"臺幣","We got a best travelling plan for you!":"我們計畫,由你去玩!","Your personal travel assistant":"你的私人觀光助理","Find your destination or tour":"尋找你的目的地或旅行團","Popular Cities":"熱門目的地","Everybody been here, you cannot miss them":"大家都去這些地方,你不能錯過","The hottest in the season":"本季熱賣商品","Hot sells in the season, for you to begin your journey":"當季最熱賣產品,給尚未出行的您有個機會","What you may looking for":"精選主題限定","Search Features quarter around the theme":"搜尋各地特色季度主題","About TravelFlan":"關於TravelFlan","About us":"關於我們","Travel Blog":"觀光網誌","Join us":"加入我們",Partners:"合作夥伴","Terms of service":"服務條款","Privacy policy":"隱私政策","REFUND POLICIES":"退換政策",FAQ:"常見問題","Contact us":"聯絡我們","Office hour":"辦公時間",Email:"電郵","Mon-Fri 10am - 7pm{timezone}, Sat 2pm-6pm{timezone} (Exclude Sun and Public Holiday)":"星期一至五10am - 7pm{timezone}
星期六2pm - 6pm{timezone}
星期日及公眾假期除外
辦公時間外請Whatsapp聯絡","Copyright © 2020 freeD Group Limited | Traveling Agency License No.354488":"Copyright © 2020 深圳市前海自樂遊觀光科技有限公司 粵ICP備17159594號 | 旅遊牌照號碼:354488",Destinations:"目的地","Load more":"加載更多","No more content":"沒有更多內容了","WHAT TO EXPECT":"產品重點",DETAILS:"詳細介紹",INCLUSIONS:"費用包含",EXCLUSIONS:"費用不含","IMPORTANT TO KNOW":"注意事項","CHANGE & REFUND POLICIES":"貨品更換及退款政策","ORDER & DELIVERY":"訂購須知","Other information":"其他信息","Coupon code":"優惠碼",No:"無",Yes:"有","Enter then verify":"請輸入優惠碼",Verify:"驗證","FWC member":"金鵬會員","Last name":"姓氏","First name":"名字","Last name spell":"姓氏","First name spell":"名字","Member number":"會員號碼",Note:"備註","Rent time":"領取時間","Rent date":"領取日期","Return time":"歸還時間","Return date":"歸還日期","Leased days":"租賃天數","Travel date":"出行日期",Total:"總額","Quantity out of range":"數量超出範圍","Book now":"立即預訂",Limit:"限購",Promoted:"促銷","Due to it's promotion product, please read the precautions and order detail carefully before booking":"産品促銷優惠,下單前請仔細閱讀註意事項及訂購流程","Maximum limit pieces per person":"限購{num}件","limit pieces release per day":"每日限量{num}件","By completing this reservation, means that you have read and accepted the rules and restrictions, terms of use and privacy policy":"選擇完成此預訂,即錶示您已閱讀並接受規則及限製、使用條款及隱私政策","We use secure transmission and encrypted storage to ensure the security of your personal data":"我們採用安全傳輸及加密儲存來保證您個人資料的安全","Main passenger contact information":"主要旅客聯絡資料",Gender:"性別","Phone number":"電話",Male:"男",Female:"女",Submit:"提交","Failed to register":"註冊失敗","The password is too simple":"密碼過於簡單","Wrong SMS verification code":"短信驗證碼錯誤","This phone number has been registered, please login directly":"該手機號已註冊,請直接登錄","Password reset failed":"密碼重置失敗","The phone number is not registered or bound":"手機號碼尚未註冊或綁定","Forget password":"忘記密碼","Password reset successful, please login":"密碼重置成功,請重新登錄","Password reset email sent, please check your email and reset your password":"郵件已發出,請檢查你的郵件並重設密碼",Title:"稱謂","The same as passport":"與旅遊證件同英文拚音","Country/Region code":"國家/地區代碼","Code Invalid":"無效優惠碼","Code valid":"優惠碼有效","Receive FWC member credit":"金鵬會員積分賺取","Non FWC member":"非金鵬會員","Member ID":"會員號碼","Register FWC membership now":"立即註冊金鵬會員","Travel Category":"行程分類","Sort by":"排序方式","Lowest price":"價錢最低",Newest:"最新上架","Next step":"下一步","Last name spell is required":"請填寫姓氏拚音","First name spell is required":"請填寫名字拚音","Gender is required":"請選擇性別","Phone number is required":"請填寫手機號碼","Email is required":"請填寫常用郵箱","Invalid email":"郵箱格式錯誤","WeChat Pay":"微信支付",Alipay:"支付寶","All payment information is secured and encrypted":"所有支付信息已獲得安全加密保護",Pay:"付款","Please choose payment method!":"請選擇支付方式!",Submitting:"正在提交訂單","Failed to pay":"支付失敗","Previous page":"上一頁","Failed to submit order, please check your information!":"訂單提交失敗, 請檢查您的輸入!","Failed to submit order, exceeding the purchase limit":"訂單提交失敗, 超過限購數量","Failed to submit order, wrong booking date":"訂單提交失敗, 預定日期錯誤","Personal info":"個人信息","My order":"我的訂單",Favorite:"收藏",Favored:"已收藏","My favorites":"我的收藏",Logout:"退出登錄","Order SN":"訂單編號","Cancel order":"取消訂單",Option:"選項",Quantity:"數量","Rental time":"取還時間","Awaiting payment":"待支付",Closed:"訂單已關閉","Info requested":"資料補充",Paid:"支付成功",Processing:"處理中","Voucher sent":"憑證已發送","Order failed":"預訂失敗",Refunding:"退款中","Refund completed":"退款完成","Refund declined":"退款拒絕","Refund error":"退款錯誤","Go to home page":"前往首頁","No orders, go explore more trips!":"暫無訂單,去探索更多行程吧!",Cancel:"取消","FWC member info":"金鵬會員信息","Password reset":"重置密碼","New password":"新密碼",Saved:"保存成功","Save failed":"保存失敗","Two passwords do not match":"兩次密碼輸入不一緻","Failed to bind the phone, please try again":"綁定手機失敗,請重試","This phone number has been bound to other accounts":"該手機號已綁定其他賬號","Mobile phone verification successful":"手機驗證成功","Date of birth":"出生日期","Date of birth is required":"請輸入出生日期","Change phone number":"更換手機號","See more":"查看全部","Exclusive Travel handbook":"精選旅遊攻略","Looking for inspiration and detail ? Click here to begin your journey":"找靈感、看細節,從這裏開啓旅遊大門","More Cities":"更多城市","Search Destination, Ticket, Tour":"搜索 目的地, 景點門票, 旅行團","Payment successful":"支付成功","We will confirm your booking ASAP":"我們會盡快確定你的預約!","Order detail":"訂單明細","Home page":"返回首頁",Wechat:"微信公衆號","Mini Program":"微信小程序","Follow TravelFlan, easy access, quick FAQ, make life easier.":'關註”TravelFlan” 簡單查取,快速問答,為生活找好幫手!',"Tired of travel planning?":"害怕旅遊做功課嗎?","Smart Travel AI solution":"智能旅遊AI","Make your travel easy!":"伴你出行","Click here to connect to your personal travel concierge!":"點我開啓智能旅遊大門!","No search result":"沒有搜索結果","Please use Wechat Scan
to scan the QR code for payment":"請使用微信掃一掃
掃描二維碼支付","Please use Alipay Scan
to scan the QR code for payment":"請使用支付寶掃一掃
掃描二維碼支付",Ticket:"門票",Tour:"旅行團","Luggage service":"行李服務","Device rental":"設備租賃","Physical goods":"實物商品",Discount:"折扣","If you are buying a physical item such as a mask, please fill in the delivery address here":"如果你購買的是口罩等實物商品,請在此填寫郵寄地址","Not available this day":"當日不可售","System validating":"系統確認中","System confirming, please wait":"請稍等,系統正在確認中!","Oops, this product is not yet in current language":"哎呀, 該産品暫不支持繁體中文","Oops, this event is not yet in current language":"暫不支持繁體中文","Order time":"下單時間","/day/unit":"/天/個",Delete:"刪除","Product has been taken off":"産品已下架","Return to the home page":"返回首頁","But It has other language supported, click to see":"但支持其他語言,點擊查看","The email exists, please login directly":"該郵箱已註冊,請直接登錄","Incorrect email format":"郵箱格式不對","The password renew request has expired. Please submit a new request to renew password":"修改密碼鏈接已經失效,請重新申請修改密碼","Reset Password":"重設密碼","Reset password successfully":"重設密碼成功","Please login with changed password":"請使用新的密碼登入","Please use Alipay Scan only":"請使用支付寶掃一掃","Multiple cities":"多城市","This password is too common.":"密碼過於簡單","Bind email":"綁定郵箱","Please share your email with us for receiving and confirming order":"請與我們分享您的郵箱,便於接收和確認訂單","Back to Home page":"返回首頁","In English":"英文版","In Simplified Chinese":"簡體中文版","In Traditional Chinese":"繁體中文版","Shipping Address":"郵寄地址","Shipping Address is required":"郵寄地址必填",'Enter address, or enter "Pickup" if it is a self pickup item':"請輸入寄送地址,如您購買了自取產品,請輸入“自取”","View Image":"查看圖片","You might like":"猜你喜歡","Product list":"産品列表",Activities:"玩樂",Services:"服務",Luggage:"行李",Shopping:"購物","See the World":"景點優惠","Fun to Do":"旅行玩樂","Rent no Carry":"接送租賃","Travel Light":"送存服務","Oversea delivery":"海外直送","Chat now":"即時聊天",Category:"分類","Shipping code":"物流編號","No shipping info":"暫無物流信息","Expired at":"有效期至","Go chat":"即時聊天",Phone:"電話",Copied:"複製成功","Redeem code":"兌換碼","To receive booking confirmation":"用於接收訂單確認信息",Cart:"購物車","Add to Cart":"加入購物車","Added to Cart":"已加入購物車","Click to see":"點此查看","Shopping cart":"購物車","Related info":"相關信息","Unit price":"單價",Subtotal:"小計",Suboption:"子選項","Valid date":"有效日期",Restaurant:"餐廳","No longer available":"產品已下架","Select All":"全選","Remove selected item":"移除所選商品",Purchase:"購買","{count} item Total":"{count} 件總價","{count} items Total":"{count} 件總價","The cart is empty!":"去添加點什麼吧!","To receive order confirmation":"用於接受訂單信息","Confirm information":"確認信息",Contact:"聯繫人",Shipping:"寄送",Pickup:"自取","Confirm order":"確認訂單","Set as default":"設為默認","Contact information":"聯繫人信息","Area code":"國際區號","Area code is required":"國際區號必填項",Save:"保存","Shipping address":"寄送地址","Shipping address is required":"寄送地址为必填项","Select option":"選擇選項",Suboptional:"子選項","Option is required":"選項為必填項","Suboption is required":"子選項為必填項","Out of Stock":"庫存不足","Minimum {min} orders":"至少 {min} 個起訂","Max {max} per person":"每人最多可買 {max} 個","Different warehouses need separate orders":"不同倉庫的商品,請分次購買",Next:"下一步","Remove item":"移除商品","Payment Waiting":"支付中","Payment Completed":"支付完成","Reservation Declined":"预订拒绝","Refund Waiting":"退款已提交","Refund Completed":"退款完成","Refund Declined":"退款拒绝","Partial Refund Waiting":"部分退款已提交","Partial Refund Completed":"部分退款已完成","Partial Refund Decline":"部分退款拒绝","Payment Processing":"支付中","Payment Declined":"支付拒绝","Booking time":"下單時間","Booking ID":"預訂ID","Ship to":"寄送至","Pickup at":"自取於","Stock low, please reduce number of order":"庫存不足,請減少訂單數量","Please reselect option":"請重新選擇選項","We only have {stock} left":"庫存僅剩 {stock} 個","Coupon discount":"優惠減免",Ok:"確定","Are you sure?":"確定如此操作?","Confirm Delete":"確認刪除","Local Dining":"地道美食","Please add shipping address":"請填寫寄送地址","Scan QR code to view on mobile website":"手機掃碼瀏覽移動端網頁","for better shopping experience":"購物體驗更流暢","My coupon":"我的優惠券",Valid:"有效",Invalid:"失效","See condition":"顯示條件","Available period":"有效期",Collected:"已領取",Get:"領取","Redeemed successfully":"已成功領取","Exceed redeem limit":"超出兌換限額","Use coupon":"使用優惠券","Anything we should pay attention to ?":"我們有什麽要注意的嗎?","No coupons, go explore more!":"沒有優惠券,去探索更多吧!",Condition:"條件","Redeem fail":"領取失敗","Code invalid":"優惠碼無效","Reach the limit of this coupon":"該優惠領取達到上限","The coupon has been collected up":"該優惠已被領完","This Code cannot be used to this product":"優惠不能用於此產品","Conditions of Usage are not met":"未達到使用門檻","This Code is not Valid now":"未到使用時間","This Code has been redeemed":"該優惠已領取","Redeem successful":"領取成功",Used:"已使用",Frozen:"已凍結",Redeem:"領取","Shipping fee please refer to product page":"是否包郵請參考產品頁","Expired in {time}":"{time}後失效","Expired in {time} after redeeming":"領取後 {time}有效","Valid until":"有效至","Account not exist, please register first":"賬戶不存在,請先註冊","1 day":"1 天",days:"{day} 天","Payment failed":"支付失敗","Please check your network or contact our customer agent":"請檢查網路或聯繫我們客服","Credit card":"信用卡","New card":"新增信用卡","Card number":"信用卡號","Expired date":"有效期",CVC:"安全碼","Save card":"保存卡片","Traveling Agency License No: 354488":"旅遊牌照號碼:354488","Please pick up after order confirmed":"請在訂單確認後自取",Reservation:"預約","Reservation date":"預約日期","Reservation time":"預約時間","Reservation date is required":"請填寫預約日期","Reservation time is required":"請填寫預約時間","Other area":"其他地區",Area:"地區","Area is required":"請選擇地區","Select area":"選擇地區","Enter address":"請輸入寄送地址","Enter email":"輸入郵箱","Shipping only":"僅寄送","Free shipping":"包郵","Pickup only":"僅自取","Shipping and pickup":"支持寄送與自取","Shipping fee not included":"運費由客人承擔","Event has been taken off":"活動已下架",Free:"免費","Quantity over limit":"數量超過限購","Limited {num} per account":"每個帳戶限購{num}件","From {start} to {end}, the product is limited to {num} per account":"在{start} - {end}內, 限購{num}件","If any question about the order, please contact +852 27899773 or email to hello@travelflan.com":'如對訂單有任何疑問請致電+852 27899773或郵件至hello@travelflan.com',"Available shops":"適用門店",Rules:"使用規則","Order ID":"訂單ID",BookingPaid:"實付",Payment:"支付方式",Address:"地址","My reservation":"我的預約","Reservation detail":"預約詳情","Reserved info":"預約信息","Order Contact":"聯絡方式","Pickup info":"自取信息","Order info":"訂單信息","Actual paid":"實付","Pickup address":"自取地址","Redeem info":"兌換碼信息","Shipping info":"物流信息","User name":"姓名",Coupon:"優惠券","The card has been declined for an unknown reason.":"未知錯誤","The CVC number is incorrect.":"安全碼錯誤","The card has expired.":"卡已過期","Email existed":"郵箱已存在","Create account":"創建帳號","Go login":"去登入"};n.d(t,"a",(function(){return h})),i["default"].use(r["a"]);var l={en_US:s,zh_CN:c,zh_HK:u},d="",p=Object(a["c"])("locale");p||(p=window.localStorage.getItem("locale")),!p&&o["a"].isCom&&(p=window.navigator.language,p&&(p=p.toLowerCase(),p="zh"===p||"zh-cn"===p?"zh_CN":0===p.indexOf("en")?"en_US":"zh_HK")),p&&Object.keys(l).forEach((function(e){p.toLowerCase()===e.toLowerCase()&&(d=e)})),d||(d="zh_HK"),o["a"].isCn&&(d="zh_CN"),window.localStorage.setItem("locale",d);var m=new r["a"]({locale:d,messages:l}),h=(t["b"]=m,d)}});