{"version":3,"sources":["assets/images/about.png","assets/images/howtobook.jpg","assets/images/whychooseus.jpg","assets/images/profile-img.png","assets/images/banner-video.mp4","assets/images/estate-car.png","assets/images/saloon-car.png","assets/images/Executive-car.png","assets/images/people-car.png","assets/images/mini-bus.png","assets/images/map.png","assets/images/login.jpg","assets/images/credit-card.png","assets/images/paypal.png","assets/images/driver.png","LocalStorageHelper/LocalStorageHelper.js","components/common/MainHeader.js","api/ApiURL.js","components/home/HomeBanner.js","components/home/HomeAboutUs.js","components/home/OurVehicles.js","components/home/Testimonial.js","components/home/LocationMap.js","components/common/MainFooter.js","components/home/HowToBook.js","components/home/WhyChooseUs.js","pages/HomePage.js","pages/ProtectedRoutes.js","components/quote/Quotation.js","pages/QuotePage.js","validation/validation.js","components/common/Login.js","pages/LoginPage.js","components/Journey/JourneyDetail.js","pages/JourneyDetailPage.js","components/paypal/PayPalButton.js","components/stripe/StripeCheckoutButton.js","components/payment/PaymentDetail.js","pages/PaymentDetailPage.js","components/Booking/BookingStatus.js","pages/BookingStatusPage.js","components/Booking/BookingHistory.js","pages/BookingHistoryPage.js","HandleQueryParams.js","components/other/Terms.js","pages/TermsPage.js","route/AppRoute.js","App.js","serviceWorker.js","index.js"],"names":["module","exports","LocalStorageHelper","JSONData","localforage","JSON","stringify","callback","err","value","parse","GuestId","localStorage","setItem","getItem","removeItem","UserData","partnerData","sessionStorage","UserMobile","data","winlocation","ServiceData","ProviderData","BookingData","accessToken","userData","getUser","Token","MainHeader","props","signOut","removeUser","removeQuoteRequest","setState","redirectToHome","pageRedirectToHome","state","to","displayName","email","loggedIn","this","DisplayName","Email","className","href","aria-label","type","data-bs-toggle","data-bs-target","aria-controls","tabIndex","aria-labelledby","data-bs-dismiss","role","aria-expanded","src","profileImage","alt","onClick","aria-current","Component","ApiURL","serviceMasterId","BaseURL","BaseImageURL","LogoImageURL","HomeBannerImageURL","CarImageURL","ClientTestimonialImageURL","GetTerminals","GetQuotationData","CustomerRegistration","UserLogin","GetUserProfile","UserRegistration","GetAllCountryCode","AddLeadDetails","GetPaymentDetails","bookingDtls","getAllBookings","cancelBooking","GetPartnerDetails","HomeBanner","getTerminalData","axios","get","then","response","respData","StatusCode","dataResult","DataResult","terminalData","cogoToast","error","position","catch","handleOptionChange","event","selectedOption","target","onChangeHandler","name","getQuotation","e","preventDefault","source1","destination1","source2","destination2","console","log","terminalName","filter","x","TerminalId","TerminalName","quoteReqData","PostCode","PickOrDrop","ReturnJourney","setQuoteRequest","redirectToQuotation","redirectToQuotationPage","window","scroll","id","data-bs-ride","playsInline","autoPlay","muted","loop","bg_img","checked","onChange","defaultValue","map","item","i","key","autoComplete","placeholder","data-bs-slide","aria-hidden","HomeAboutUs","aboutImage","OurVehicles","estateCarImage","saloonCarImage","executiveCarImage","peopleCarImage","miniBusImage","Testimonial","TestimonialSliderData","ClientImageName","Feedback","ClientName","sliderList","length","sliderItem","class","LocationMap","mapImage","MainFooter","copyRightYear","current_year","Date","getFullYear","HowToBook","howtobookImage","WhyChooseUs","whychooseusImage","HomePage","ProtectedRoute","component","pathname","Quotation","getQuotationList","getQuoteRequest","param","parseInt","post","quotationData","warn","bookService","quote","CarId","OneWayRate","DiscountOneWayRate","ReturnRate","DiscountReturnRate","redirectToJourney","redirectToLogin","pageRedirectToLogin","pageRedirectToJourney","userId","quotationList","MyView","carImgURL","CarImageName","CarName","NoOfPassenger","NoOfCheckInBaggage","NoOfCabinBaggage","Description","QuotePage","validation","NameRegx","MobileRegx","EmailRegx","YoutubeRegx","Login","getCountryCodes","countryCodes","signIn","loginEmail","Pwd","loginPwd","setUser","redirectToQuote","Message","signUp","fullName","mobileCode","mobile","regEmail","pwd","regPwd","confPwd","confirmPwd","test","btnSignUp","FullName","MobileCode","Mobile","ApplicationType","success","pageRedirectToQuote","loginImage","required","cc","LoginPage","JourneyDetail","meetAndGreetServiceTaken","babySeatRequired","submitForPayment","errors","firstName","push","lastName","postCode","journeyDate","journeyTime","noOfPassenger","flightNumber","returnJourney","returnDate","returnTime","returnFlightNumber","index","btn","isPickup","pickOrDrop","isRetJourney","retJourneyDate","retJourneyTime","retFlightNumber","CustomerUserId","custUserId","FirstName","LastName","Address","address","JourneyDate","JourneyTime","noOfCheckInBaggage","noOfCabinBaggage","NoteForDriver","noteForDriver","FlightNumber","MeetAndGreetServiceTaken","BabySeatRequired","IsPickup","IsReturnJourney","ReturnJourneyDate","ReturnJourneyTime","ReturnFlightNumber","terminalId","carId","PartnerId","partnerId","OneWayAmount","parseFloat","oneWayAmount","DiscountOneWayAmount","discountOneWayAmount","ReturnAmount","returnAmount","DiscountReturnAmount","discountReturnAmount","CreatedBy","redirectToPayment","pageRedirectToPayment","UserId","CountryCode","getPartner","journeyTitle","disabled","CountryName","JourneyDetailPage","PayPalButton","service","paymentByPayPal","serviceDescription","description","amount","price","style","color","layout","height","width","tagline","shape","transform","actions","resolve","createOrder","order","create","purchase_units","currency_code","onApprove","a","capture","status","onCancel","onError","StripeCheckoutButton","paymentByStripe","stripeKey","useState","setUserData","useEffect","storedUserData","parsedUserData","token","panelLabel","currency","PaymentDetail","getPaymentData","svcDetail","NetAmount","serviceDetail","bookingAmount","BookingAmount","dropOffFees","DropOffFees","parkingFees","ParkingFees","babySeat","BabySeat","meetAndGreet","MeetAndGreet","netAmount","agreedTnCHandler","isAgreed","isAgreedTnC","self","gatewayResponse","paymentTranId","gatewayPayMode","paymentGateway","gatewayPayStatus","addPayment","resp","paymentByCash","Amount","PaymentTransactionId","GatewayPayMode","GatewayPayStatus","GatewayResponse","PaymentGateway","BookingId","setBooking","bookingId","bookingNo","BookingNo","returnBookingId","ReturnBookingId","returnBookingNo","ReturnBookingNo","redirectToBookingStatus","pageRedirectToBookingStatus","paymentData","cardType","cardNo","nameOnCard","cardExpiry","cardCVC","htmlFor","creditcardImage","data-bs-parent","process","paypalImage","options","driverImage","toFixed","isAggreed","PaymentDetailPage","BookingStatus","RedirectToLogin","bookingData","getBooking","location","SetLastRedirectPath","BookingStatusPage","BookingHistory","getBookingHistoryData","BookingStatusId","bookingStatusId","StartDate","startDate","EndDate","endDate","bookings","showCancelBookingConfirm","bk","selectedBooking","showModal","data-title","BookingDate","ServiceFrom","ServiceTo","IsReturn","FlightDetails","PaidAmount","title","BookingHistoryPage","HandleQueryParams","useLocation","searchParams","URLSearchParams","search","paramsObject","entries","getPartnerDetail","pcodeval","requestPayload","pcode","fetch","method","headers","body","res","ok","Error","statusText","json","setPartner","Terms","TermsPage","AppRoute","checkUserType","exact","path","render","now","App","isLocalhost","Boolean","hostname","match","registerValidSW","swUrl","config","navigator","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","onUpdate","onSuccess","interceptors","request","use","getAccessToken","Promise","reject","ReactDOM","StrictMode","document","getElementById","URL","origin","addEventListener","contentType","indexOf","ready","unregister","reload","checkValidServiceWorker"],"mappings":"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","file":"static/js/main.3219a5f7.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/about.f7474b3f.png\";","module.exports = __webpack_public_path__ + \"static/media/howtobook.d5b33d56.jpg\";","module.exports = __webpack_public_path__ + \"static/media/whychooseus.0361430b.jpg\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/banner-video.1db974bc.mp4\";","module.exports = __webpack_public_path__ + \"static/media/estate-car.ed092fe8.png\";","module.exports = __webpack_public_path__ + \"static/media/saloon-car.be9d7b77.png\";","module.exports = __webpack_public_path__ + \"static/media/Executive-car.dd636136.png\";","module.exports = __webpack_public_path__ + \"static/media/people-car.37b0d206.png\";","module.exports = __webpack_public_path__ + \"static/media/mini-bus.bb5ab78c.png\";","module.exports = __webpack_public_path__ + \"static/media/map.50ee14d2.png\";","module.exports = __webpack_public_path__ + \"static/media/login.ba976b72.jpg\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAyVJREFUeJztmluID1Ecx3+seyKRzQslbCH38OASHpBLknhB8oqSS3lQUisW5YGy5EEueXBJaUupTVJCm0spSnK/X3Yjd9b315l/MzvN5czMOXO0/T71qW3nzNnf9/z/c+bMnCUSBEEQBEEQBEEQSqEG7oZN8AN8D6/DWjjIYV3W6Qz3wN+wNcYfcBvs6KhGa3D4BooPHvYktbNB2Ef64StudVKpBUZQ8tc+zu9woIN6jXOQsoevuMNBvcZ5TPkHoKn8cs3SA/6l/APwtfySzdKX8odnefA6lF61QTrBn5R/AN6VX7J5blL+AbjooF7jbKb8A7DaQb3G6Q3fUPbwj2A3B/VaYSH8Q/rhed6Y7qRSi/DXWWdC/AaXOKrROpPgDYoPfxmOclVcmYyDm+ABuB+uhyOdViQIRuHl62hSE99OUi84GuFd+Ay2UNsJkX9uhk/gLXgJnoBTyi7cBBycQxR5BmCvwq5en2PgeTi4rBB5GQA/UvHw/E2o9vrsT/4j9XNSC6v/lqNUPPwXONbrrwu8Ejq+t5QkOZhI2VZ7UfLjb3ARdDiiDb85rrGeJiM86V2j4p/+9kCf6xLaNdgOlJUVVDz8WfJffsyCv1Laz7UfS4+epCanIuFve/0wQ0jtGKWdc5/UfoNz+M1tkfBvyd8S6wXvZTh3g+1wafB9mZ/esgTmW9xpuAtugRMC/R3P2BcvnqrJEXw/vpNSYLDQOjg8pc8qOBUeIbUxotM3L5i6m4ulB6/QGjWK49taPewT0Uc/UrezYaTeHofhXaFzGn+j1WtXZSSZJjrXPV8aSwPncIGL4RlSb3vD7V/BU3A+td0YXUN6W2sbjadM4GlKMVzwgkD7GaRmbd1rmy+tyYHzV2meUxrNKcXUBtrqfoJh+QlxeaCf+pT2D42nTOBCQiGvyZ+UFlGxrTEeuJleXzyPtCS0PWYpayQ8ecU99dV5bXiifJFQsK4PyJ8TDsW04UEvfSt9GkWvAWZ7x+fFFJvHyouRZRHHPsPx1lKmwE9uL0nN4BWHesfWhn5fxJVenxz0U0D+B6s5FvMJgiAIgiAIgiC0T/4BOyOxJOsMRn8AAAAASUVORK5CYII=\"","import * as localforage from \"localforage\";\r\n\r\nclass LocalStorageHelper {\r\n\r\n // Set Get Site Info Footer\r\n static SetSiteInfoFooter(JSONData) {\r\n localforage.setItem('SiteInfoFooter', JSON.stringify(JSONData));\r\n }\r\n static GetSiteInfoFooter(callback) {\r\n localforage.getItem('SiteInfoFooter', function (err, value) {\r\n if (err) {\r\n callback(null)\r\n }\r\n else {\r\n callback(JSON.parse(value))\r\n }\r\n });\r\n }\r\n\r\n\r\n // Set/Get/Remove Guest Id\r\n static setGuestId(GuestId) {\r\n localStorage.setItem(\"GuestId\", GuestId);\r\n }\r\n static getGuestId() {\r\n return localStorage.getItem(\"GuestId\");\r\n }\r\n static removeGuestId() {\r\n return localStorage.removeItem(\"GuestId\");\r\n }\r\n\r\n\r\n // Set/Get/Remove User\r\n static setUser(UserData) {\r\n localStorage.setItem(\"User\", UserData);\r\n }\r\n static getUser() {\r\n return localStorage.getItem(\"User\");\r\n }\r\n static removeUser() {\r\n return localStorage.removeItem(\"User\");\r\n }\r\n\r\n // Set/Get/Remove Perner\r\n static setPartner(partnerData) {\r\n sessionStorage.setItem(\"Partner\", partnerData);\r\n }\r\n static getPartner() {\r\n return sessionStorage.getItem(\"Partner\");\r\n }\r\n static removePartner() {\r\n return sessionStorage.removeItem(\"Partner\");\r\n }\r\n\r\n\r\n // Set/Get/Remove User Mobile\r\n static setUserMobile(UserMobile) {\r\n localforage.setItem(\"UserMobile\", UserMobile)\r\n }\r\n static getUserMobile() {\r\n return localforage.getItem(\"UserMobile\")\r\n }\r\n static removeUserMobile() {\r\n return localforage.removeItem(\"UserMobile\")\r\n }\r\n\r\n // Set/Get/Remove Quote Request Param\r\n static setQuoteRequest(data) {\r\n sessionStorage.setItem(\"QuoteRequest\", data)\r\n }\r\n static getQuoteRequest() {\r\n return sessionStorage.getItem(\"QuoteRequest\")\r\n }\r\n static removeQuoteRequest() {\r\n return sessionStorage.removeItem(\"QuoteRequest\")\r\n }\r\n\r\n\r\n // Set/Get User Winlocation\r\n static SetLastRedirectPath(winlocation) {\r\n sessionStorage.setItem(\"winlocation\", winlocation)\r\n }\r\n\r\n static GetLastRedirectPath() {\r\n return sessionStorage.getItem(\"winlocation\");\r\n }\r\n\r\n static removeLastRedirectPath() {\r\n return sessionStorage.removeItem(\"winlocation\");\r\n }\r\n\r\n\r\n // Set/Get/Remove Service\r\n static setService(ServiceData) {\r\n sessionStorage.setItem(\"ServiceData\", ServiceData)\r\n }\r\n static getService() {\r\n return sessionStorage.getItem(\"ServiceData\")\r\n }\r\n static removeService() {\r\n return sessionStorage.removeItem(\"ServiceData\")\r\n }\r\n\r\n\r\n // Set/Get/Remove Provider\r\n static setProvider(ProviderData) {\r\n sessionStorage.setItem(\"ProviderData\", ProviderData)\r\n }\r\n static getProvider() {\r\n return sessionStorage.getItem(\"ProviderData\")\r\n }\r\n static removeProvider() {\r\n return sessionStorage.removeItem(\"ProviderData\")\r\n }\r\n\r\n\r\n // Set/Get/Remove Booking\r\n static setBooking(BookingData) {\r\n sessionStorage.setItem(\"BookingData\", BookingData)\r\n }\r\n static getBooking() {\r\n return sessionStorage.getItem(\"BookingData\")\r\n }\r\n static removeBooking() {\r\n return sessionStorage.removeItem(\"BookingData\")\r\n }\r\n\r\n static getAccessToken() {\r\n let accessToken = \"\";\r\n const userData = JSON.parse(LocalStorageHelper.getUser());\r\n if (userData !== null) {\r\n accessToken = userData.Token;\r\n }\r\n return accessToken;\r\n }\r\n}\r\nexport default LocalStorageHelper;","import React, { Component, Fragment } from 'react';\r\nimport profileImage from '../../assets/images/profile-img.png';\r\nimport { Link } from 'react-router-dom';\r\nimport { Redirect } from 'react-router';\r\n/* import * as signalR from '@microsoft/signalr'; */\r\nimport LocalStorageHelper from '../../LocalStorageHelper/LocalStorageHelper';\r\n\r\nclass MainHeader extends Component {\r\n // Access context using static contextType\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n displayName: '',\r\n email: '',\r\n loggedIn: false\r\n }\r\n /* let connection = new signalR.HubConnectionBuilder().withUrl(ApiURL.BaseURL + \"/notificationsHub\", {\r\n skipNegotiation: true,\r\n transport: signalR.HttpTransportType.WebSockets\r\n }).build(); */\r\n }\r\n\r\n componentDidMount() {\r\n var userData = JSON.parse(LocalStorageHelper.getUser());\r\n if (userData !== null) {\r\n this.setState({\r\n displayName: userData.DisplayName,\r\n email: userData.Email,\r\n loggedIn: true,\r\n redirectToHome: false\r\n })\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n /* let connection = this.state.SignalRConnection;\r\n connection.stop().then(() => console.log(\"Connection stopped successfully!\")).catch(err => console.log(err)); */\r\n //this.setState({ ...this.state, SignalRConnection: null }) \r\n }\r\n\r\n signOut = () => {\r\n LocalStorageHelper.removeUser();\r\n LocalStorageHelper.removeQuoteRequest();\r\n this.setState({ redirectToHome: true })\r\n }\r\n\r\n pageRedirectToHome = () => {\r\n if (this.state.redirectToHome === true) {\r\n return \r\n }\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n \r\n
\r\n
\r\n WhatsApp call : 0331 630 4110,   Emergency call: 07477018889\r\n
\r\n
    \r\n
  • \r\n
  • \r\n
  • \r\n
  • \r\n
  • \r\n
  • \r\n
  • \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n {this.pageRedirectToHome()}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default MainHeader;\r\n","class ApiURL {\r\n ////==========================================================================\r\n ////Base URL Section\r\n ////==========================================================================\r\n ////Local\r\n //static BaseURL = \"https://localhost:7263\";\r\n\r\n ////Development\r\n //static BaseURL = \"http://77.68.124.81:8080\"; \r\n\r\n ////Production\r\n static BaseURL = \"https://service.myboogyairporttransfer.co.uk\"; \r\n\r\n ////==========================================================================\r\n ////Image URL Section\r\n ////==========================================================================\r\n static BaseImageURL = this.BaseURL + \"/uploadfiles/images\";\r\n static LogoImageURL = this.BaseImageURL + \"/Logo\";\r\n static HomeBannerImageURL = this.BaseImageURL + \"/HomeBanner\";\r\n static CarImageURL = this.BaseImageURL + \"/Car\";\r\n static ClientTestimonialImageURL = this.BaseImageURL + \"/Testimonial\";\r\n\r\n ////===========================================================================\r\n ////API URL Section\r\n ////===========================================================================\r\n //Terminal APIs\r\n static GetTerminals = this.BaseURL + \"/api/terminal/getTerminals\";\r\n static GetServiceListByMaster(serviceMasterId) {\r\n return this.BaseURL + \"/api/service/serviceListByMaster/\" + serviceMasterId;\r\n }\r\n static GetQuotationData = this.BaseURL +\"/api/terminal/getQuotationData\";\r\n\r\n //Customer APIs\r\n static CustomerRegistration = this.BaseURL + \"/api/customer/customerRegistration\";\r\n\r\n //Auth APIs\r\n static UserLogin = this.BaseURL + \"/api/account/login\";\r\n static GetUserProfile = this.BaseURL + \"/api/account/getUserProfile\";\r\n static UserRegistration = this.BaseURL + \"/api/account/createUser\";\r\n //static OTPVerification = this.BaseURL + \"/api/auth/validateOTP\";\r\n //static ResendOTP = this.BaseURL + \"/api/auth/resendOTP\";\r\n\r\n //Lead APIs\r\n static GetAllCountryCode = this.BaseURL + \"/api/lead/getCountryCodes\";\r\n static AddLeadDetails = this.BaseURL + \"/api/lead/addLeadDtls\";\r\n\r\n //Payment APIs\r\n static GetPaymentDetails = this.BaseURL + \"/api/payment/getPaymentDetails\";\r\n\r\n //Booking APIs\r\n static bookingDtls = this.BaseURL + \"/api/booking/addBookingDetails\";\r\n static getAllBookings = this.BaseURL + \"/api/booking/postgetAllBookings\";\r\n static cancelBooking = this.BaseURL + \"/api/booking/cancelBooking\";\r\n\r\n //Partner APIs\r\n static GetPartnerDetails = this.BaseURL + \"/api/partner/getPartner\";\r\n\r\n}\r\n\r\nexport default ApiURL;\r\n","import React, { Component } from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\nimport ApiURL from \"../../api/ApiURL\";\r\nimport axios from \"axios\";\r\nimport cogoToast from 'cogo-toast';\r\nimport bg_img from '../../assets/images/banner-video.mp4';\r\nimport LocalStorageHelper from '../../LocalStorageHelper/LocalStorageHelper';\r\n\r\n\r\nclass HomeBanner extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n selectedOption: 'P',\r\n terminalData: [],\r\n source1: '0',\r\n destination1: '',\r\n source2: '',\r\n destination2: '0',\r\n redirectToQuotation: false\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n window.scroll(0, 0);\r\n this.getTerminalData();\r\n }\r\n\r\n getTerminalData = () => {\r\n axios.get(ApiURL.GetTerminals).then(response => {\r\n let respData = response.data;\r\n if (respData.StatusCode === 200) {\r\n let dataResult = respData.DataResult;\r\n this.setState({\r\n terminalData: dataResult\r\n })\r\n }\r\n else if (respData.StatusCode === 500) {\r\n cogoToast.error(\"Internal Server Error ! Please Try Again.\", { position: 'bottom-center' });\r\n }\r\n\r\n }).catch(error => {\r\n cogoToast.error(\"Request Failed! Please Try Again.\", { position: 'bottom-center' })\r\n })\r\n }\r\n\r\n handleOptionChange = (event) => {\r\n this.setState({\r\n selectedOption: event.target.value\r\n });\r\n };\r\n\r\n onChangeHandler = (event) => {\r\n this.setState({\r\n [event.target.name]: event.target.value\r\n })\r\n }\r\n\r\n getQuotation = (e) => {\r\n e.preventDefault();\r\n var errors = [];\r\n var { source1, destination1, source2, destination2, selectedOption } = this.state;\r\n console.log(selectedOption);\r\n let terminalName = '';\r\n if (selectedOption === 'P') {\r\n terminalName = this.state.terminalData.filter(x => x.TerminalId = source1)[0]?.TerminalName;\r\n }\r\n else {\r\n terminalName = this.state.terminalData.filter(x => x.TerminalId = source2)[0]?.TerminalName;\r\n }\r\n var quoteReqData = {\r\n TerminalId: selectedOption === 'P' ? source1 : destination2,\r\n TerminalName: terminalName,\r\n PostCode: selectedOption === 'P' ? destination1 : source2,\r\n PickOrDrop: selectedOption,\r\n ReturnJourney: false\r\n };\r\n\r\n console.log(quoteReqData);\r\n if (quoteReqData.TerminalId === '0' || quoteReqData.PostCode==='') {\r\n cogoToast.error(\"Terminal and Postcode are required!\", { position: 'bottom-center' });\r\n }\r\n else{\r\n LocalStorageHelper.setQuoteRequest(JSON.stringify(quoteReqData));\r\n\r\n this.setState({\r\n ...this.state,\r\n redirectToQuotation: true\r\n })\r\n }\r\n }\r\n\r\n redirectToQuotationPage = () => {\r\n if (this.state.redirectToQuotation === true) {\r\n return \r\n }\r\n }\r\n\r\n render() {\r\n const { selectedOption, source1, destination2, terminalData } = this.state;\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/* */}\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Get instant quote

\r\n
\r\n
\r\n \r\n \r\n Pickup\r\n \r\n
\r\n \r\n
\r\n\r\n {\r\n (selectedOption === 'P') ?\r\n <>\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n :\r\n <>\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n }\r\n\r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n {/* */}\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {this.redirectToQuotationPage()}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default HomeBanner; ","import React, { Component } from 'react';\r\nimport aboutImage from '../../assets/images/about.png';\r\n\r\nclass HomeAboutUs extends Component {\r\n render() {\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

About us

\r\n
\r\n

\r\n MyBoogy Airport Transfer offers the lowest fare airport pick-ups and drops in the UK.\r\n

\r\n

\r\n S2P Services Limited (Trade name - MyBoogy Airport Transfer), is a company registered in the UK (UK Company\r\n Number:13867775, VAT Number: 409832974, TFL License Number : 011005). MyBoogy Airport Transfer has its own\r\n fleet of cars and collaboration with various other cab operators all over the country to offer a seamless \r\n airport transfer experience to the customers. Passengers from all over the globe can book a cab using \r\n our platform, to experience a hassle-free and timely ride to the destination.\r\n

\r\n

\r\n The cars are operated by licensed operators, and passengers and vehicles are fully\r\n insured. Go for instant quotations and find out the lowest fares from your location to the\r\n airport & vice-versa.\r\n

\r\n

\r\n We, MyBoogy Airport Transfer accept all major credit/ debit cards and other leading payment methods.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \"...\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default HomeAboutUs;","import React, { Component } from 'react';\r\nimport estateCarImage from '../../assets/images/estate-car.png';\r\nimport saloonCarImage from '../../assets/images/saloon-car.png';\r\nimport executiveCarImage from '../../assets/images/Executive-car.png';\r\nimport peopleCarImage from '../../assets/images/people-car.png';\r\nimport miniBusImage from '../../assets/images/mini-bus.png';\r\n\r\nclass OurVehicles extends Component {\r\n render() {\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Our Vehicles

\r\n

There are 5 different sizes of vehicles with different capacities for the clients to choose from.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"...\"\r\n

Estate

\r\n
\r\n
\r\n \"...\"\r\n

Saloon

\r\n
\r\n
\r\n \"...\"\r\n

Executive Car

\r\n
\r\n
\r\n \"...\"\r\n

People Carrier

\r\n
\r\n
\r\n \"...\"\r\n

8 Seater

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default OurVehicles;","import React, { Component } from 'react';/* \r\nimport ApiURL from \"../../api/ApiURL\";\r\nimport Slider from 'react-slick'; */\r\n\r\nclass Testimonial extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n TestimonialSliderData: []\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n const testimonialSliderDataList = [\r\n {\r\n ClientImageName: \"https://i.ibb.co/8x9xK4H/team.jpg\",\r\n Feedback: \"I was looking for an airport sallon car. Suddenly found out about this company on Instagram. It took hardly a minute to get a quotation. On the day of my journey, the cab arrived on time and the entire journey was taken care of. Cheers.\",\r\n ClientName: \"Client 1\"\r\n },\r\n {\r\n ClientImageName: \"https://i.ibb.co/8x9xK4H/team.jpg\",\r\n Feedback: \"I was looking for an airport sallon car. Suddenly found out about this company on Instagram. It took hardly a minute to get a quotation. On the day of my journey, the cab arrived on time and the entire journey was taken care of. Cheers.\",\r\n ClientName: \"Client 2\"\r\n },\r\n {\r\n ClientImageName: \"https://i.ibb.co/8x9xK4H/team.jpg\",\r\n Feedback: \"I was looking for an airport sallon car. Suddenly found out about this company on Instagram. It took hardly a minute to get a quotation. On the day of my journey, the cab arrived on time and the entire journey was taken care of. Cheers.\",\r\n ClientName: \"Client 3\"\r\n },\r\n {\r\n ClientImageName: \"https://i.ibb.co/8x9xK4H/team.jpg\",\r\n Feedback: \"I was looking for an airport sallon car. Suddenly found out about this company on Instagram. It took hardly a minute to get a quotation. On the day of my journey, the cab arrived on time and the entire journey was taken care of. Cheers.\",\r\n ClientName: \"Client 4\"\r\n },\r\n {\r\n ClientImageName: \"https://i.ibb.co/8x9xK4H/team.jpg\",\r\n Feedback: \"I was looking for an airport sallon car. Suddenly found out about this company on Instagram. It took hardly a minute to get a quotation. On the day of my journey, the cab arrived on time and the entire journey was taken care of. Cheers.\",\r\n ClientName: \"Client 5\"\r\n }\r\n\r\n ];\r\n\r\n this.setState({ TestimonialSliderData: testimonialSliderDataList })\r\n }\r\n\r\n render() {\r\n const settings = {\r\n dots: false,\r\n infinite: true,\r\n autoplay: true,\r\n autoplaySpeed: 3000,\r\n speed: 500,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n arrows: false,\r\n responsive: [\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n dots: false\r\n }\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n initialSlide: 2\r\n }\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1\r\n }\r\n }\r\n ]\r\n };\r\n\r\n const sliderList = this.state.TestimonialSliderData;\r\n const MyView = sliderList.length > 0 ?\r\n (sliderList.map((sliderItem, i) => {\r\n //const sliderImgURL = ApiURL.ClientTestimonialImageURL + \"/\" + sliderItem.ClientImageName;\r\n const sliderImgURL = sliderItem.ClientImageName;\r\n return (\r\n
\r\n
\r\n \r\n

{sliderItem.Feedback}

\r\n

{sliderItem.ClientName}

\r\n
\r\n
\r\n )\r\n })) :\r\n (
)\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n

I was looking for an airport sallon car. Suddenly found out about this company on Instagram. It took hardly a minute to get a quotation. On the day of my journey, the cab arrived on time and the entire journey was taken care of. Cheers.

\r\n

Client 1

\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Testimonial;","import React, { Component } from 'react';\r\nimport mapImage from '../../assets/images/map.png';\r\n\r\nclass LocationMap extends Component {\r\n render() {\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n 450 Bath Road,
    \r\n London UB7 0EB,
    \r\n United Kingdom.
    \r\n
  • \r\n
  • Phone : +44(0)331-630-4110
  • \r\n
  • Email : contact-us@myboogy.co.uk
  • \r\n
\r\n
\r\n
\r\n
\r\n
\"...\"
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default LocationMap;","import React, { Component } from 'react';\r\n\r\nclass MainFooter extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state={\r\n copyRightYear: ''\r\n }\r\n } \r\n\r\n componentDidMount(){\r\n var current_year=new Date().getFullYear();\r\n this.setState({\r\n copyRightYear: current_year\r\n })\r\n }\r\n\r\n /* fbLinkClick = (e) => {\r\n e.preventDefault();\r\n var url = 'https://www.facebook.com/profile.php?id=100090982122591';\r\n window.open(url, '_blank');\r\n\r\n } */\r\n\r\n render() {\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

© {this.state.copyRightYear} All Rights Reserved. Design by www.s2pservices.co.uk

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default MainFooter;","import React, { Component } from 'react';\r\nimport howtobookImage from '../../assets/images/howtobook.jpg';\r\n\r\nclass HowToBook extends Component {\r\n render() {\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"...\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

How to Book Your Cab at MyBoogy

\r\n
\r\n

\r\n MyBoogy Airport Transfer offers the lowest fare airport pick-ups and drops in the UK.\r\n

\r\n

\r\n

    \r\n
  • \r\n Get an Instant Quote: Visit our website to get quotation in 'Three Click\r\n Quote' form. All you need to do is to select an Airport Terminal from the\r\n drop down & provide a UK postcode as a pick-up/ drop-off location and\r\n proceed.\r\n
  • \r\n
  • \r\n Choose Your Vehicle: Click 'Quote Now' and check out all the vehicle\r\n options that you have. Offering best rates for cabs in UK is our promise.\r\n Book one-sided or return journeys at discounted price.\r\n
  • \r\n
  • \r\n Confirm Your Booking: On completion of the booking, an email will be\r\n sent confirming your reserved journey.\r\n
  • \r\n
  • \r\n Baby Seats/ Meet and Greet: We offer baby seats on request at the time\r\n of booking and also can offer meet and greet service.\r\n
  • \r\n
\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default HowToBook;","import React, { Component } from 'react';\r\nimport whychooseusImage from '../../assets/images/whychooseus.jpg';\r\n\r\nclass WhyChooseUs extends Component {\r\n render() {\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Why Choose Us?

\r\n
\r\n

\r\n

    \r\n
  • Personalized Service: From the moment you contact us, our team is
    Committed to offering you a smooth and hassle-free experience.
  • \r\n
  • Professional Drivers: Our experienced drivers, with excellent local
    knowledge and customer service skills will ensure a safe and comfortable
    journey.
  • \r\n
  • Modern Fleet: Choose from a variety of well-maintained, air-conditioned
    vehicles, including saloon cars (sedans), estate cars (station wagons),
    people carriers (MPV s), minibusses, and executive cars.
  • \r\n
\r\n

\r\n
\r\n

\r\n Serving a Wide Range of Clients
\r\n We proudly provide top-notch airport transfer services to local and international
\r\n travellers, businesses of all sizes, hotels, and airlines. Our customers trust us for our
\r\n reliability, professionalism, Punctuality and high-quality service, even on short notice.\r\n

\r\n
\r\n

\r\n Book Your Ride Today
\r\n Whether you’re a frequent traveller or planning a one-time trip, we’re here to make your\r\n Airport transfer is easy and enjoyable. Book your Airport cab with MyBoogy Airport\r\n Transfer now and experience the comfort and convenience of travelling with us!\r\n

\r\n
\r\n
\r\n
\r\n \"...\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default WhyChooseUs;","import React, { Component, Fragment } from \"react\";\r\nimport MainHeader from \"../components/common/MainHeader\";\r\nimport HomeBanner from \"../components/home/HomeBanner\";\r\nimport HomeAboutUs from \"../components/home/HomeAboutUs\";\r\nimport OurVehicles from \"../components/home/OurVehicles\";\r\nimport Testimonial from \"../components/home/Testimonial\";\r\nimport LocationMap from \"../components/home/LocationMap\";\r\nimport MainFooter from \"../components/common/MainFooter\";\r\nimport HowToBook from \"../components/home/HowToBook\";\r\nimport WhyChooseUs from \"../components/home/WhyChooseUs\";\r\n\r\nclass HomePage extends Component { \r\n componentDidMount() {\r\n window.scroll(0, 0); \r\n } \r\n\r\n render() {\r\n return (\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default HomePage;\r\n","import React, { Component } from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\nimport LocalStorageHelper from '../LocalStorageHelper/LocalStorageHelper';\r\n\r\nclass ProtectedRoute extends Component {\r\n\r\n render() {\r\n const Component = this.props.component;\r\n const isAuthenticated = JSON.parse(LocalStorageHelper.getUser()) !== null ? true : false;\r\n return isAuthenticated ?\r\n :\r\n \r\n }\r\n}\r\n\r\nexport default ProtectedRoute;","import React, { Component } from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\nimport axios from \"axios\";\r\nimport ApiURL from \"../../api/ApiURL\";\r\nimport cogoToast from 'cogo-toast';\r\nimport LocalStorageHelper from '../../LocalStorageHelper/LocalStorageHelper';\r\n\r\nclass Quotation extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n userId: 0,\r\n quotationData: [],\r\n redirectToLogin: false,\r\n redirectToJourney: false,\r\n redirectToHome: false\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.getQuotationList();\r\n }\r\n\r\n getQuotationList = () => {\r\n var quoteReqData = JSON.parse(LocalStorageHelper.getQuoteRequest());\r\n if (quoteReqData !== null) {\r\n console.log(quoteReqData);\r\n var param = {\r\n TerminalId: parseInt(quoteReqData.TerminalId),\r\n PostCode: quoteReqData.PostCode,\r\n PickOrDrop: quoteReqData.PickOrDrop\r\n };\r\n axios.post(ApiURL.GetQuotationData, param).then(response => {\r\n let respData = response.data;\r\n if (respData.StatusCode === 200) {\r\n var dataResult = respData.DataResult;\r\n console.log(dataResult);\r\n this.setState({\r\n quotationData: respData.DataResult\r\n })\r\n }\r\n else if (respData.StatusCode === 500) {\r\n cogoToast.error(\"Internal Server Error ! Please Try Again.\", { position: 'bottom-center' });\r\n }\r\n\r\n }).catch(error => {\r\n cogoToast.error(\"Get Quotation List Request Failed! Please Try Again.\", { position: 'bottom-center' })\r\n })\r\n }\r\n else {\r\n cogoToast.warn(\"Please select any Pickup or Drop.\", { position: 'top-center' });\r\n this.setState({ redirectToHome: true })\r\n }\r\n }\r\n\r\n bookService = (quote, e) => {\r\n e.preventDefault();\r\n //alert(e.target.name);\r\n var quoteReqData = JSON.parse(LocalStorageHelper.getQuoteRequest());\r\n if (quoteReqData !== null) {\r\n quoteReqData.CarId = quote.CarId;\r\n quoteReqData.ReturnJourney = e.target.name === 'btnReturn' ? true : false;\r\n quoteReqData.OneWayRate = quote.OneWayRate;\r\n quoteReqData.DiscountOneWayRate = quote.DiscountOneWayRate;\r\n quoteReqData.ReturnRate = quote.ReturnRate;\r\n quoteReqData.DiscountReturnRate = quote.DiscountReturnRate;\r\n LocalStorageHelper.setQuoteRequest(JSON.stringify(quoteReqData));\r\n }\r\n\r\n //Check User Login\r\n if (JSON.parse(LocalStorageHelper.getUser()) !== null) {\r\n this.setState({ redirectToJourney: true })\r\n }\r\n else {\r\n this.setState({ redirectToLogin: true })\r\n }\r\n }\r\n\r\n pageRedirectToLogin = () => {\r\n if (this.state.redirectToLogin === true) {\r\n return \r\n }\r\n }\r\n\r\n pageRedirectToHome = () => {\r\n if (this.state.redirectToHome === true) {\r\n return \r\n }\r\n }\r\n\r\n pageRedirectToJourney = () => {\r\n if (this.state.redirectToJourney === true) {\r\n return \r\n }\r\n }\r\n\r\n render() {\r\n const quotationList = this.state.quotationData;\r\n const MyView = quotationList.length > 0 ?\r\n (quotationList.map((quote, i) => {\r\n const carImgURL = ApiURL.CarImageURL + \"/\" + quote.CarImageName;\r\n return (\r\n
\r\n
5% off
On Return Journey
\r\n \"...\"\r\n
\r\n
\r\n
{quote.CarName}
\r\n X {quote.NoOfPassenger}\r\n X {quote.NoOfCheckInBaggage}\r\n X {quote.NoOfCabinBaggage}\r\n

{quote.Description}

\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n })) :\r\n (\r\n
\r\n \r\n Online fare is currently not available for this postcode at this moment.\r\n Currently Call/WhatsApp 07477018889 to know the exact fare.\r\n
\r\n )\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n\r\n {MyView}\r\n\r\n
\r\n
\r\n {this.pageRedirectToLogin()}\r\n {this.pageRedirectToHome()}\r\n {this.pageRedirectToJourney()}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Quotation;","import React, { Component } from 'react';\r\nimport MainHeader from '../components/common/MainHeader';\r\nimport Quotation from '../components/quote/Quotation';\r\nimport MainFooter from '../components/common/MainFooter';\r\n\r\nclass QuotePage extends Component {\r\n \r\n render() {\r\n return (\r\n <>\r\n \r\n\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default QuotePage;","class validation {\r\n static NameRegx=/^[A-Za-z\\s]+$/;\r\n static MobileRegx=/^\\d{10}$/;\r\n //static EmailRegx=/^[\\w-]+@([\\w-])+[\\w-]{2,4}$/g;\r\n static EmailRegx=/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/; \r\n static YoutubeRegx = /(?:https?:\\/\\/)?(?:www\\.)?(?:youtube\\.com\\/(?:[^\\/\\n\\s]+\\/\\S+\\/|(?:v|e(?:mbed)?)\\/|\\S*?[?&]v=)|youtu\\.be\\/)([a-zA-Z0-9_-]{11})/;\r\n}\r\n\r\nexport default validation;","import React, { Component } from 'react';\r\nimport { Redirect } from 'react-router';\r\nimport axios from \"axios\";\r\nimport ApiURL from \"../../api/ApiURL\";\r\nimport cogoToast from 'cogo-toast';\r\nimport LocalStorageHelper from '../../LocalStorageHelper/LocalStorageHelper';\r\nimport loginImage from '../../assets/images/login.jpg';\r\nimport validation from '../../validation/validation';\r\n\r\nclass Login extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n btnSignUp: \"Save\",\r\n name: '',\r\n mobileCode: '+44',\r\n mobile: '',\r\n loginEmail: '',\r\n loginPwd: '',\r\n regEmail: '',\r\n regPwd: '',\r\n confirmPwd: '',\r\n countryCodes: [],\r\n redirectToQuote: false,\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.getCountryCodes();\r\n }\r\n\r\n getCountryCodes = () => {\r\n axios.get(ApiURL.GetAllCountryCode).then(response => {\r\n let respData = response.data;\r\n if (respData.StatusCode === 200) {\r\n let dataResult = respData.DataResult;\r\n if (dataResult.length > 0) {\r\n this.setState({\r\n ...this.state,\r\n countryCodes: dataResult\r\n })\r\n }\r\n }\r\n else if (respData.StatusCode === 500) {\r\n cogoToast.error(\"Internal Server Error ! Please Try Again.\", { position: 'bottom-center' });\r\n }\r\n\r\n }).catch(error => {\r\n cogoToast.error(\"Request Failed! Please Try Again.\", { position: 'bottom-center' })\r\n })\r\n }\r\n\r\n onChangeHandler = (e) => {\r\n this.setState({\r\n [e.target.name]: e.target.value\r\n })\r\n }\r\n\r\n signIn = (e) => {\r\n e.preventDefault();\r\n var param = {\r\n Email: this.state.loginEmail,\r\n Pwd: this.state.loginPwd\r\n };\r\n axios.post(ApiURL.UserLogin, param).then(response => {\r\n let respData = response.data;\r\n if (respData.StatusCode === 200) {\r\n //cogoToast.success('User Login Succeeded!', { position: 'bottom-center' });\r\n var userData = respData.DataResult;\r\n console.log(userData);\r\n LocalStorageHelper.setUser(JSON.stringify(userData));\r\n this.setState({ redirectToQuote: true })\r\n }\r\n else if (respData.StatusCode === 400) {\r\n cogoToast.error(respData.Message, { position: 'bottom-center' });\r\n }\r\n else if (respData.StatusCode === 500) {\r\n cogoToast.error(\"Internal Server Error ! Please Try Again.\", { position: 'bottom-center' });\r\n }\r\n\r\n }).catch(error => {\r\n cogoToast.error(\"Login Request Failed! Please Try Again.\", { position: 'bottom-center' })\r\n })\r\n }\r\n\r\n signUp = (e) => {\r\n e.preventDefault();\r\n let fullName = this.state.name;\r\n let mobileCode= this.state.mobileCode;\r\n let mobile = this.state.mobile;\r\n let email = this.state.regEmail;\r\n let pwd = this.state.regPwd;\r\n let confPwd = this.state.confirmPwd;\r\n let appType = 'W';\r\n\r\n if (fullName.length === 0) {\r\n cogoToast.error(\"Full Name Required.\", { position: 'bottom-center' });\r\n }\r\n else if (mobile.length === 0) {\r\n cogoToast.error(\"Mobile Number Required.\", { position: 'bottom-center' });\r\n }\r\n else if (mobile.length !== 0 && !(validation.MobileRegx).test(mobile)) {\r\n cogoToast.error(\"Invalid Mobile No.\", { position: 'bottom-center' });\r\n }\r\n else if (email.length === 0) {\r\n cogoToast.error(\"Email Required!\", { position: 'bottom-center' });\r\n }\r\n else if (email.length > 0 && !(validation.EmailRegx).test(email)) {\r\n cogoToast.error(\"Invalid Email.\", { position: 'bottom-center' });\r\n }\r\n else if (pwd.length > 0 && confPwd.length > 0 && pwd !== confPwd) {\r\n cogoToast.error(\"Password confirmation did not match!\", { position: 'bottom-center' });\r\n }\r\n else {\r\n this.setState({ btnSignUp: \"Processing..\" });\r\n var param = {\r\n FullName: fullName,\r\n MobileCode: mobileCode,\r\n Mobile: mobile,\r\n Email: email,\r\n Pwd: pwd,\r\n ApplicationType: appType\r\n };\r\n axios.post(ApiURL.UserRegistration, param).then(response => {\r\n let respData = response.data;\r\n if (respData.StatusCode === 200) {\r\n cogoToast.success('User Registration Succeeded!', { position: 'bottom-center' });\r\n var userData = respData.DataResult;\r\n //console.log(userData);\r\n LocalStorageHelper.setUser(JSON.stringify(userData));\r\n this.setState({ redirectToQuote: true, btnSignUp: \"Submit\" })\r\n }\r\n else if (respData.StatusCode === 400) {\r\n cogoToast.error(respData.Message, { position: 'bottom-center' });\r\n this.setState({ btnSignUp: \"Submit\" })\r\n }\r\n else if (respData.StatusCode === 500) {\r\n cogoToast.error(\"Internal Server Error ! Please Try Again.\", { position: 'bottom-center' });\r\n this.setState({ btnSignUp: \"Submit\" })\r\n }\r\n\r\n }).catch(error => {\r\n cogoToast.error(\"User Registration Failed! Please Try Again.\", { position: 'bottom-center' })\r\n this.setState({ btnSignUp: \"Submit\" })\r\n })\r\n }\r\n }\r\n\r\n pageRedirectToQuote = () => { \r\n if (this.state.redirectToQuote === true) {\r\n return \r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"...\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Book Online

\r\n
\r\n

Existing Customer

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n  \r\n \r\n   \r\n\r\n\r\n

New Customer

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n {\r\n this.state.countryCodes.map((cc, i) => {\r\n return (\r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n {this.pageRedirectToQuote()}\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Login;","import React, { Component } from 'react';\r\nimport Login from '../components/common/Login';\r\nimport MainHeader from '../components/common/MainHeader';\r\nimport MainFooter from '../components/common/MainFooter';\r\n\r\nclass LoginPage extends Component {\r\n render() {\r\n return (\r\n <>\r\n \r\n\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default LoginPage;","import React, { Component } from 'react';\r\nimport ApiURL from \"../../api/ApiURL\";\r\nimport axios from \"axios\";\r\nimport cogoToast from 'cogo-toast';\r\nimport LocalStorageHelper from '../../LocalStorageHelper/LocalStorageHelper';\r\nimport { Redirect } from 'react-router';\r\n\r\n\r\nclass JourneyDetail extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n btn: 'Proceed To Pay',\r\n countryCodes: [],\r\n /* Lead Passanger Detail */\r\n custUserId: 0,\r\n userId: 0,\r\n firstName: '',\r\n lastName: '',\r\n email: '',\r\n mobileCode: '',\r\n mobile: '',\r\n /* Trip Details */\r\n pickOrDrop: '',\r\n postCode: '',\r\n terminalId: 0,\r\n terminalName: '',\r\n carId: 0,\r\n partnerId: null,\r\n returnJourney: false,\r\n address: '',\r\n journeyDate: '',\r\n journeyTime: '',\r\n noOfPassenger: '',\r\n noOfCheckInBaggage: '',\r\n noOfCabinBaggage: '',\r\n noteForDriver: '',\r\n flightNumber: '',\r\n /* Return Trip Details */\r\n returnDate: '',\r\n returnTime: '',\r\n returnFlightNumber: '',\r\n meetAndGreetServiceTaken: false,\r\n babySeatRequired: false,\r\n /* Journey Rate */\r\n oneWayAmount: 0,\r\n discountOneWayAmount: 0,\r\n returnAmount: 0,\r\n discountReturnAmount: 0,\r\n redirectToPayment: false,\r\n redirectToHome: false\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.getCountryCodes();\r\n /* Get User Profile Data */\r\n var userData = JSON.parse(LocalStorageHelper.getUser()); \r\n if (userData !== null) {\r\n this.setState({\r\n custUserId: userData.UserId,\r\n userId: userData.UserId,\r\n email: userData.Email,\r\n mobile: userData.Mobile,\r\n mobileCode: userData.CountryCode\r\n },()=>{\r\n console.log(this.state.mobile);\r\n })\r\n }\r\n else {\r\n /* TODO: Redirect to the Login Page */\r\n }\r\n\r\n var partnerData = JSON.parse(LocalStorageHelper.getPartner());\r\n if (partnerData !== null) {\r\n this.setState({ partnerId: partnerData.PartnerId })\r\n }\r\n\r\n /* Get Quotation Request Data */\r\n var quoteReqData = JSON.parse(LocalStorageHelper.getQuoteRequest());\r\n if (quoteReqData !== null) {\r\n //console.log(quoteReqData);\r\n this.setState({\r\n pickOrDrop: quoteReqData.PickOrDrop,\r\n postCode: quoteReqData.PostCode,\r\n terminalId: quoteReqData.TerminalId,\r\n terminalName: quoteReqData.TerminalName,\r\n carId: quoteReqData.CarId,\r\n returnJourney: quoteReqData.ReturnJourney,\r\n oneWayAmount: quoteReqData.OneWayRate,\r\n discountOneWayAmount: quoteReqData.DiscountOneWayRate,\r\n returnAmount: quoteReqData.ReturnRate,\r\n discountReturnAmount: quoteReqData.DiscountReturnRate,\r\n })\r\n }\r\n else{\r\n cogoToast.warn(\"Please select any Pickup or Drop.\", { position: 'top-center' });\r\n this.setState({ redirectToHome: true })\r\n }\r\n }\r\n\r\n onChangeHandler = (event) => {\r\n console.log(event.target.checked);\r\n if (event.target.name === 'meetAndGreetServiceTaken') {\r\n this.setState({\r\n ...this.state,\r\n meetAndGreetServiceTaken: event.target.checked\r\n })\r\n }\r\n else if (event.target.name === 'babySeatRequired') {\r\n this.setState({\r\n ...this.state,\r\n babySeatRequired: event.target.checked\r\n })\r\n }\r\n else {\r\n this.setState({\r\n ...this.state,\r\n [event.target.name]: event.target.value\r\n })\r\n }\r\n }\r\n\r\n getCountryCodes = () => {\r\n axios.get(ApiURL.GetAllCountryCode).then(response => {\r\n let respData = response.data;\r\n if (respData.StatusCode === 200) {\r\n let dataResult = respData.DataResult;\r\n if (dataResult.length > 0) {\r\n this.setState({\r\n ...this.state,\r\n countryCodes: dataResult\r\n })\r\n }\r\n }\r\n else if (respData.StatusCode === 500) {\r\n cogoToast.error(\"Internal Server Error ! Please Try Again.\", { position: 'bottom-center' });\r\n }\r\n\r\n }).catch(error => {\r\n cogoToast.error(\"Request Failed! Please Try Again.\", { position: 'bottom-center' })\r\n })\r\n }\r\n\r\n submitForPayment = (e) => {\r\n e.preventDefault();\r\n var errors = [];\r\n if (this.state.firstName === '') {\r\n errors.push(\"First Name is required!\");\r\n //cogoToast.error(\"First Name is required!\", { position: 'bottom-center' });\r\n }\r\n if (this.state.lastName === '') {\r\n errors.push(\"Last Name is required!\");\r\n }\r\n if (this.state.email === '') {\r\n errors.push(\"Email is required!\");\r\n }\r\n if (this.state.mobileCode === '') {\r\n errors.push(\"Mobile Code is required!\");\r\n }\r\n if (this.state.mobile === '') {\r\n errors.push(\"Mobile number is required!\");\r\n }\r\n if (this.state.postCode === '') {\r\n errors.push(\"Postcode is required!\");\r\n }\r\n if (this.state.journeyDate === '') {\r\n errors.push(\"Journey Date is required!\");\r\n }\r\n if (this.state.journeyTime === '') {\r\n errors.push(\"Journey Time is required!\");\r\n }\r\n if (this.state.noOfPassenger === '') {\r\n errors.push(\"Number of Passenger is required!\");\r\n }\r\n if (this.state.flightNumber === '') {\r\n errors.push(\"Flight Number is required!\");\r\n }\r\n if (this.state.returnJourney === true && this.state.returnDate === '') {\r\n errors.push(\"Return Date is required!\");\r\n }\r\n if (this.state.returnJourney === true && this.state.returnTime === '') {\r\n errors.push(\"Return Time is required!\");\r\n }\r\n if (this.state.returnJourney === true && this.state.returnFlightNumber === '') {\r\n errors.push(\"Return Flight Number is required!\");\r\n }\r\n\r\n if (errors.length > 0) {\r\n cogoToast.error(\r\n
\r\n Errors
\r\n
\r\n
    \r\n {\r\n errors.map((err, index) =>
  • {++index}. {err}
  • )\r\n }\r\n
\r\n
\r\n
\r\n );\r\n }\r\n else {\r\n\r\n this.setState({ btn: 'Processing...' })\r\n let isPickup = this.state.pickOrDrop =='P' ? 1 : 0,\r\n isRetJourney = this.state.returnJourney ? 1 : 0,\r\n retJourneyDate = '',\r\n retJourneyTime = '',\r\n retFlightNumber = '';\r\n\r\n if (isRetJourney > 0) {\r\n retJourneyDate = this.state.returnDate;\r\n retJourneyTime = this.state.returnTime;\r\n retFlightNumber = this.state.returnFlightNumber;\r\n }\r\n\r\n let param = {\r\n CustomerUserId: this.state.custUserId,\r\n FirstName: this.state.firstName,\r\n LastName: this.state.lastName,\r\n Email: this.state.email,\r\n MobileCode: this.state.mobileCode,\r\n Mobile: this.state.mobile,\r\n Address: this.state.address,\r\n PostCode: this.state.postCode,\r\n JourneyDate: this.state.journeyDate,\r\n JourneyTime: this.state.journeyTime,\r\n NoOfPassenger: parseInt(this.state.noOfPassenger),\r\n NoOfCheckInBaggage: parseInt(this.state.noOfCheckInBaggage),\r\n NoOfCabinBaggage: parseInt(this.state.noOfCabinBaggage),\r\n NoteForDriver: this.state.noteForDriver,\r\n FlightNumber: this.state.flightNumber,\r\n MeetAndGreetServiceTaken: this.state.meetAndGreetServiceTaken,\r\n BabySeatRequired: this.state.babySeatRequired,\r\n IsPickup: isPickup,\r\n IsReturnJourney: isRetJourney,\r\n ReturnJourneyDate: retJourneyDate,\r\n ReturnJourneyTime: retJourneyTime,\r\n ReturnFlightNumber: retFlightNumber,\r\n TerminalId: parseInt(this.state.terminalId),\r\n CarId: this.state.carId,\r\n PartnerId: this.state.partnerId,\r\n OneWayAmount: parseFloat(this.state.oneWayAmount),\r\n DiscountOneWayAmount: parseFloat(this.state.discountOneWayAmount),\r\n ReturnAmount: parseFloat(this.state.returnAmount),\r\n DiscountReturnAmount: parseFloat(this.state.discountReturnAmount),\r\n CreatedBy: this.state.userId,\r\n };\r\n\r\n //console.log('param:', param);\r\n\r\n axios.post(ApiURL.AddLeadDetails, param).then(response => {\r\n let respData = response.data;\r\n if (respData.StatusCode === 200) {\r\n let dataResult = respData.DataResult;\r\n if (dataResult === 1) {\r\n //cogoToast.success(\"Booking succeeded.\", { position: 'bottom-center' });\r\n this.setState({ btn: 'Proceed To Pay', redirectToPayment: true })\r\n }\r\n else {\r\n cogoToast.warn(\"Booking failed! Please Try Again.\", { position: 'bottom-center' });\r\n }\r\n }\r\n else if (respData.StatusCode === 500) {\r\n cogoToast.error(\"Internal Server Error ! Please Try Again.\", { position: 'bottom-center' });\r\n }\r\n\r\n }).catch(error => {\r\n cogoToast.error(\"Request Failed! Please Try Again.\", { position: 'bottom-center' })\r\n })\r\n }\r\n\r\n }\r\n\r\n pageRedirectToPayment = () => {\r\n if (this.state.redirectToPayment === true) {\r\n return \r\n }\r\n } \r\n\r\n pageRedirectToHome = () => {\r\n if (this.state.redirectToHome === true) {\r\n return \r\n }\r\n }\r\n\r\n render() {\r\n var journeyTitle =

\r\n if (!this.state.returnJourney) {\r\n journeyTitle = (this.state.pickOrDrop === 'P')\r\n ?

Journey : {this.state.terminalName} {this.state.postCode}

\r\n :

Journey : {this.state.postCode} {this.state.terminalName}

\r\n }\r\n else {\r\n journeyTitle = (this.state.pickOrDrop === 'P')\r\n ?

Journey : {this.state.terminalName} {this.state.postCode} {this.state.terminalName}

\r\n :

Journey : {this.state.postCode} {this.state.terminalName} {this.state.postCode}

\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Journey Details

\r\n {journeyTitle}\r\n
\r\n
\r\n

Lead Passengers Details:

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {\r\n this.state.countryCodes.map((cc, i) => {\r\n return (\r\n \r\n )\r\n })\r\n }\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n

Trip Details :

\r\n
\r\n
\r\n \r\n {\r\n (this.state.pickOrDrop === 'P') ?\r\n \r\n :\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {\r\n (this.state.pickOrDrop === 'P') ?\r\n \r\n :\r\n \r\n }\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {\r\n (this.state.returnJourney === true) &&\r\n
\r\n
\r\n

Return Details:

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n }\r\n
\r\n {\r\n (this.state.pickOrDrop === 'P') &&\r\n
\r\n

Meet & Greet Service(Yes/No)

\r\n
\r\n \r\n
\r\n
\r\n }\r\n\r\n
\r\n

Baby seat required?(Yes/No)

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {/* {\r\n (this.state.btn !== 'Processing...')\r\n ? \r\n : \r\n } */}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {this.pageRedirectToPayment()}\r\n {this.pageRedirectToHome()}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default JourneyDetail;","import React, { Component } from 'react';\r\nimport MainHeader from '../components/common/MainHeader';\r\nimport MainFooter from '../components/common/MainFooter';\r\nimport JourneyDetail from '../components/Journey/JourneyDetail';\r\n\r\nclass JourneyDetailPage extends Component { \r\n render() {\r\n return (\r\n <>\r\n \r\n\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default JourneyDetailPage;","import React, { useState } from 'react';\r\nimport cogoToast from 'cogo-toast';\r\nimport { PayPalButtons } from '@paypal/react-paypal-js';\r\n\r\nconst PayPalButton = ({ service, disabled, paymentByPayPal }) => {\r\n //const [paidFor, setPaidFor] = useState(false);\r\n // Assuming service contains price in pounds and a description\r\n const serviceDescription = service?.description || \"Airport Cab Fare\"; \r\n const amount = service?.price || 150; // Default price of £1.50 if not provided\r\n const currency= \"GBP\";\r\n \r\n return (\r\n
\r\n {\r\n const hasAlreadyBookedService = false;\r\n if (hasAlreadyBookedService) {\r\n cogoToast.error(\"You already booked this service. Go to your account to view your list of services.\", { position: 'bottom-center' });\r\n return actions.reject();\r\n } else {\r\n return actions.resolve();\r\n }\r\n }}\r\n createOrder={(data, actions) => {\r\n return actions.order.create({\r\n purchase_units: [{\r\n description: serviceDescription,\r\n amount: {\r\n value: amount,\r\n currency_code: currency\r\n }\r\n }]\r\n });\r\n }}\r\n onApprove={async (data, actions) => {\r\n const order = await actions.order.capture();\r\n console.log(\"order\", order);\r\n if (order.status==='COMPLETED'){ \r\n //setPaidFor(true);\r\n paymentByPayPal(order);\r\n } \r\n }}\r\n onCancel={() => {\r\n console.error(\"Paypal checkout onCancel.\");\r\n }}\r\n onError={(err) => {\r\n console.error(\"Paypal checkout onError. \", err);\r\n cogoToast.error(\"Paypal checkout onError. \" + err, { position: 'bottom-center' });\r\n }}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default PayPalButton;\r\n","import React, { useState, useEffect } from 'react';\r\nimport StripeCheckout from 'react-stripe-checkout';\r\nimport LocalStorageHelper from '../../LocalStorageHelper/LocalStorageHelper';\r\n\r\nconst StripeCheckoutButton = ({ service, disabled, paymentByStripe, stripeKey }) => {\r\n //const [paidFor, setPaidFor] = useState(false);\r\n const [userData, setUserData] = useState({\r\n custUserId: null,\r\n userId: null,\r\n email: null,\r\n mobile: null\r\n });\r\n\r\n // Assuming service contains price in pounds and a description\r\n const serviceDescription = service?.description || \"Airport Cab Fare\"; \r\n const amount = service?.price || 150; // Default price of £1.50 if not provided\r\n const currency= \"GBP\";\r\n\r\n useEffect(() => {\r\n // Get User Profile Data\r\n const storedUserData = LocalStorageHelper.getUser();\r\n try {\r\n const parsedUserData = JSON.parse(storedUserData);\r\n if (parsedUserData !== null) {\r\n setUserData({\r\n custUserId: parsedUserData.UserId,\r\n userId: parsedUserData.UserId,\r\n email: parsedUserData.Email,\r\n mobile: parsedUserData.Mobile\r\n });\r\n }\r\n } catch (error) {\r\n console.error('Error parsing user data:', error);\r\n }\r\n }, []);\r\n\r\n return (\r\n
\r\n {\r\n //console.log(token);\r\n if (token !== null) {\r\n paymentByStripe(token);\r\n }\r\n }} \r\n name=\"Airport Cab - MyBoogy\"\r\n description={serviceDescription}\r\n email={userData.email}\r\n panelLabel=\"Pay\"\r\n currency={currency}\r\n amount={amount * 100} // Stripe expects amount in pence\r\n stripeKey={stripeKey} \r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default StripeCheckoutButton;\r\n","import React, { Component } from 'react';\r\nimport { Link, NavLink } from 'react-router-dom';\r\nimport ApiURL from \"../../api/ApiURL\";\r\nimport axios from \"axios\";\r\nimport cogoToast from 'cogo-toast';\r\nimport LocalStorageHelper from '../../LocalStorageHelper/LocalStorageHelper';\r\nimport creditcardImage from '../../assets/images/credit-card.png';\r\nimport paypalImage from '../../assets/images/paypal.png';\r\nimport driverImage from '../../assets/images/driver.png';\r\nimport PayPalButton from '../paypal/PayPalButton';\r\nimport { PayPalScriptProvider } from '@paypal/react-paypal-js';\r\nimport StripeCheckoutButton from '../stripe/StripeCheckoutButton';\r\nimport { Redirect } from 'react-router';\r\n\r\nimport { CardImg } from 'react-bootstrap';\r\n\r\nclass PaymentDetail extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n custUserId: 0,\r\n serviceDetail: null,\r\n terminalId: 0,\r\n bookingId: 0,\r\n bookingNo: '',\r\n returnBookingId: 0,\r\n returnBookingNo: '',\r\n bookingAmount: 0,\r\n dropOffFees: 0,\r\n parkingFees: 0,\r\n babySeat: 0,\r\n meetAndGreet: 0,\r\n netAmount: 0,\r\n paymentData: null,\r\n isAgreedTnC: false,\r\n cardType: '',\r\n cardNo: '',\r\n nameOnCard: '',\r\n cardExpiry: '',\r\n cardCVC: '',\r\n //orderResponse: null,\r\n paymentTranId: '',\r\n gatewayPayMode: '',\r\n gatewayPayStatus: '',\r\n gatewayResponse: null,\r\n paymentGateway: '',\r\n redirectToBookingStatus: false\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n let self = this;\r\n /* Get User Profile Data */\r\n var userData = JSON.parse(LocalStorageHelper.getUser());\r\n if (userData !== null) {\r\n this.setState({ custUserId: userData.UserId }, () => self.getPaymentData())\r\n }\r\n else {\r\n /* TODO: Redirect to the Login Page */\r\n }\r\n }\r\n\r\n getPaymentData = () => {\r\n var param = { CustomerUserId: this.state.custUserId };\r\n axios.post(ApiURL.GetPaymentDetails, param).then(response => {\r\n let respData = response.data;\r\n if (respData.StatusCode === 200) {\r\n let dataResult = respData.DataResult;\r\n console.log(dataResult);\r\n if (dataResult !== null) {\r\n const svcDetail = {\r\n description: 'Airport Cab Fare',\r\n price: dataResult.NetAmount\r\n };\r\n this.setState({\r\n serviceDetail: svcDetail,\r\n bookingAmount: dataResult.BookingAmount,\r\n dropOffFees: dataResult.DropOffFees,\r\n parkingFees: dataResult.ParkingFees,\r\n babySeat: dataResult.BabySeat,\r\n meetAndGreet: dataResult.MeetAndGreet,\r\n netAmount: dataResult.NetAmount\r\n })\r\n }\r\n }\r\n else if (respData.StatusCode === 500) {\r\n cogoToast.error(\"Internal Server Error ! Please Try Again.\", { position: 'bottom-center' });\r\n }\r\n }).catch(error => {\r\n cogoToast.error(\"Request Failed! Please Try Again.\", { position: 'bottom-center' })\r\n })\r\n }\r\n\r\n agreedTnCHandler = (e) => {\r\n let isAgreed = e.target.checked ? true : false;\r\n this.setState({ isAgreedTnC: isAgreed })\r\n }\r\n\r\n onChangeHandler = (e) => {\r\n this.setState({\r\n [e.target.name]: e.target.value\r\n })\r\n }\r\n\r\n paymentByStripe = (token) => {\r\n let self = this;\r\n console.log('resp: ', token);\r\n if (token !== null) {\r\n self.setState({\r\n gatewayResponse: JSON.stringify(token),\r\n paymentTranId: token.id,\r\n netAmount: self.state.bookingAmount,\r\n gatewayPayMode: 'Card',\r\n paymentGateway: 'STRIPE',\r\n gatewayPayStatus: 'COMPLETED'\r\n }, () => self.addPayment())\r\n }\r\n }\r\n\r\n paymentByPayPal = (resp) => {\r\n let self = this;\r\n console.log('resp: ', resp);\r\n if (resp !== null) {\r\n let amount = resp.purchase_units[0].amount.value;\r\n self.setState({\r\n gatewayResponse: JSON.stringify(resp),\r\n paymentTranId: resp.id,\r\n netAmount: amount,\r\n gatewayPayMode: 'PayPal',\r\n paymentGateway: 'PAYPAL',\r\n gatewayPayStatus: 'COMPLETED'\r\n }, () => self.addPayment())\r\n }\r\n }\r\n\r\n /* handlePaymentSuccess = (details, data) => {\r\n console.log(\"Payment successful:\", details);\r\n \r\n // Redirect to another page (e.g., thank you or confirmation page)\r\n //this.props.history.push(\"/payment-success\"); // Modify the path as per your app's structure\r\n }; */\r\n\r\n paymentByCash = (e) => {\r\n e.preventDefault();\r\n let self = this;\r\n self.setState({\r\n paymentTranId: self.state.paymentTranId,\r\n netAmount: self.state.bookingAmount,\r\n gatewayPayMode: 'Cash',\r\n gatewayPayStatus: 'COMPLETED'\r\n }, () => self.addPayment())\r\n\r\n }\r\n\r\n addPayment = () => {\r\n var param = {\r\n CustomerUserId: this.state.custUserId,\r\n Amount: this.state.netAmount,\r\n PaymentTransactionId: this.state.paymentTranId,\r\n GatewayPayMode: this.state.gatewayPayMode,\r\n GatewayPayStatus: this.state.gatewayPayStatus,\r\n GatewayResponse: this.state.gatewayResponse,\r\n PaymentGateway: this.state.paymentGateway\r\n };\r\n axios.post(ApiURL.bookingDtls, param).then(response => {\r\n let respData = response.data;\r\n if (respData.StatusCode === 200) {\r\n let dataResult = respData.DataResult;\r\n console.log(dataResult);\r\n if (dataResult !== null && dataResult.BookingId > 0) {\r\n LocalStorageHelper.setBooking(JSON.stringify(dataResult));\r\n this.setState({\r\n bookingId: dataResult.BookingId,\r\n bookingNo: dataResult.BookingNo,\r\n returnBookingId: dataResult.ReturnBookingId,\r\n returnBookingNo: dataResult.ReturnBookingNo,\r\n redirectToBookingStatus: true\r\n })\r\n }\r\n else {\r\n cogoToast.error(\"Sorry! Booking failed.\", { position: 'bottom-center' });\r\n this.setState({ redirectToBookingStatus: true })\r\n }\r\n }\r\n else if (respData.StatusCode === 500) {\r\n cogoToast.error(\"Internal Server Error ! Please Try Again.\", { position: 'bottom-center' });\r\n }\r\n }).catch(error => {\r\n cogoToast.error(\"Request Failed! Please Try Again.\", { position: 'bottom-center' })\r\n })\r\n }\r\n\r\n pageRedirectToBookingStatus = () => {\r\n if (this.state.redirectToBookingStatus === true) {\r\n return \r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n
\r\n
\r\n

Payment

\r\n
\r\n {/* */}\r\n
\r\n
\r\n {/* */}\r\n
\r\n

\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {/* */}\r\n
\r\n

\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n

\r\n
\r\n
\r\n
\r\n {(this.state.serviceDetail !== null) &&\r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n {/* */}\r\n
\r\n

\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Proceed\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/* */}\r\n
\r\n
\r\n
\r\n

Payment Details

\r\n
\r\n Fare\r\n \r\n {this.state.bookingAmount.toFixed(2)}\r\n \r\n
\r\n
\r\n Add-on Charges\r\n
\r\n
\r\n
\r\n Drop off Fees\r\n \r\n {this.state.dropOffFees.toFixed(2)}\r\n \r\n
\r\n
\r\n Parking Fees (Upto 60 minutes)\r\n \r\n {this.state.parkingFees.toFixed(2)}\r\n \r\n
\r\n
\r\n Baby Seat\r\n \r\n {this.state.babySeat.toFixed(2)}\r\n \r\n
\r\n
\r\n Meet & Greet Service\r\n \r\n {this.state.meetAndGreet.toFixed(2)}\r\n \r\n
\r\n
\r\n
\r\n
\r\n TOTAL\r\n \r\n {this.state.netAmount.toFixed(2)}\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n {/* \r\n Confirm Booking\r\n */}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {this.pageRedirectToBookingStatus()}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default PaymentDetail;","import React, { Component } from 'react';\r\nimport MainHeader from '../components/common/MainHeader';\r\nimport MainFooter from '../components/common/MainFooter';\r\nimport PaymentDetail from '../components/payment/PaymentDetail';\r\n\r\nclass PaymentDetailPage extends Component {\r\n render() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default PaymentDetailPage;","import React, { Component } from 'react';\r\nimport { Link, Redirect } from 'react-router-dom';\r\nimport LocalStorageHelper from '../../LocalStorageHelper/LocalStorageHelper';\r\n\r\nclass BookingStatus extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n UserId: 0,\r\n BookingId: 0,\r\n BookingNo: '',\r\n ReturnBookingId: 0,\r\n ReturnBookingNo: '',\r\n RedirectToLogin: false,\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n var userData = JSON.parse(LocalStorageHelper.getUser());\r\n if (userData !== null) {\r\n var bookingData = JSON.parse(LocalStorageHelper.getBooking());\r\n console.log(bookingData);\r\n if (bookingData !== null) {\r\n this.setState({\r\n ...this.state,\r\n UserId: userData.UserId,\r\n BookingId: bookingData.BookingId,\r\n BookingNo: bookingData.BookingNo,\r\n ReturnBookingId: bookingData.ReturnBookingId,\r\n ReturnBookingNo: bookingData.ReturnBookingNo,\r\n })\r\n }\r\n }\r\n else {\r\n let winlocation = window.location.pathname;\r\n console.log(window.location.href);\r\n LocalStorageHelper.SetLastRedirectPath(winlocation);\r\n this.setState({ RedirectToLogin: true })\r\n }\r\n }\r\n\r\n pageRedirectToLogin = () => {\r\n if (this.state.RedirectToLogin === true) {\r\n return \r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n
\r\n {\r\n this.state.BookingNo !== '' ?\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Booking Confirmed!

\r\n

Your Booking Id is : {this.state.BookingNo}

\r\n {\r\n (this.state.ReturnBookingNo!=='') &&\r\n

Return Booking Id is : {this.state.ReturnBookingNo}

\r\n }\r\n

\r\n Thank you for your payment. We will contact you with more details shortly. \r\n Feel free to explore or reach out if you have any further questions or need assistance. \r\n We're here to help!\r\n

\r\n
\r\n Back to Home\r\n
\r\n
\r\n
\r\n
\r\n :\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Booking Failed!

\r\n

\r\n Please Try again later. Thank you for showing interest in our portal! \r\n Feel free to explore or reach out if you have any further questions or need assistance. \r\n We're here to help!\r\n

\r\n
\r\n
\r\n
\r\n
\r\n\r\n }\r\n
\r\n {this.pageRedirectToLogin()}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default BookingStatus;","import React, { Component } from 'react';\r\nimport MainHeader from '../components/common/MainHeader';\r\nimport BookingStatus from '../components/Booking/BookingStatus';\r\nimport MainFooter from '../components/common/MainFooter';\r\n\r\nclass BookingStatusPage extends Component {\r\n componentDidMount() {\r\n window.scroll(0, 0);\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n \r\n\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default BookingStatusPage;","import React, { Component } from 'react';\r\nimport ApiURL from \"../../api/ApiURL\";\r\nimport axios from \"axios\";\r\nimport cogoToast from 'cogo-toast';\r\nimport LocalStorageHelper from '../../LocalStorageHelper/LocalStorageHelper';\r\nimport { Redirect } from 'react-router';\r\n\r\nclass BookingHistory extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n startDate: '',\r\n endDate: '',\r\n bookingStatusId: 0,\r\n bookings: [],\r\n redirectToLogin: false,\r\n showModal: false,\r\n selectedBooking: null\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n var self = this;\r\n /* Get User Profile Data */\r\n var userData = JSON.parse(LocalStorageHelper.getUser());\r\n if (userData !== null) {\r\n this.setState({\r\n custUserId: userData.UserId,\r\n userId: userData.UserId,\r\n email: userData.Email,\r\n mobile: userData.Mobile\r\n }, () => {\r\n self.getBookingHistoryData();\r\n })\r\n\r\n\r\n }\r\n else {\r\n /* TODO: Redirect to the Login Page */\r\n self.setState({ redirectToLogin: true });\r\n }\r\n }\r\n\r\n onChangeHandler = (e) => {\r\n this.setState({\r\n [e.target.name]: e.target.value\r\n })\r\n }\r\n\r\n getBookingHistoryData = () => {\r\n var param = {\r\n CustomerUserId: this.state.custUserId,\r\n BookingStatusId: this.state.bookingStatusId,\r\n StartDate: this.state.startDate,\r\n EndDate: this.state.endDate,\r\n }\r\n axios.post(ApiURL.getAllBookings, param).then(response => {\r\n let respData = response.data;\r\n if (respData.StatusCode === 200) {\r\n let dataResult = [];\r\n if (respData.DataResult.length > 0) {\r\n dataResult = respData.DataResult;\r\n } \r\n this.setState({\r\n ...this.state,\r\n bookings: dataResult\r\n })\r\n }\r\n else if (respData.StatusCode === 500) {\r\n cogoToast.error(\"Internal Server Error ! Please Try Again.\", { position: 'bottom-center' });\r\n }\r\n\r\n }).catch(error => {\r\n cogoToast.error(\"Request Failed! Please Try Again.\", { position: 'bottom-center' })\r\n })\r\n }\r\n\r\n showCancelBookingConfirm = (bk) => {\r\n this.setState({\r\n selectedBooking: bk,\r\n showModal: true\r\n });\r\n }\r\n\r\n cancelBooking = (e) => {\r\n e.preventDefault();\r\n console.log(this.state.selectedBooking);\r\n var param = {\r\n BookingNo: this.state.selectedBooking.BookingNo\r\n };\r\n axios.post(ApiURL.cancelBooking, param).then(response => {\r\n let respData = response.data;\r\n if (respData.StatusCode === 200) {\r\n let dataResult = respData.DataResult;\r\n if (dataResult !== null && dataResult > 0) {\r\n cogoToast.success(\"Booking cancelled successfully !\", { position: 'bottom-center' });\r\n this.setState({\r\n ...this.state,\r\n selectedBooking: null,\r\n showModal: false\r\n })\r\n }\r\n else {\r\n cogoToast.error(\"Booking cancellation failed ! Please Try Again.\", { position: 'bottom-center' });\r\n this.setState({\r\n ...this.state,\r\n selectedBooking: null,\r\n showModal: false\r\n })\r\n }\r\n }\r\n else if (respData.StatusCode === 500) {\r\n cogoToast.error(\"Internal Server Error ! Please Try Again.\", { position: 'bottom-center' });\r\n this.setState({\r\n ...this.state,\r\n selectedBooking: null,\r\n showModal: false\r\n })\r\n }\r\n\r\n }).catch(error => {\r\n cogoToast.error(\"Request Failed! Please Try Again.\", { position: 'bottom-center' })\r\n this.setState({\r\n ...this.state,\r\n selectedBooking: null,\r\n showModal: false\r\n })\r\n })\r\n }\r\n\r\n pageRedirectToLogin = () => {\r\n if (this.state.redirectToLogin === true) {\r\n return \r\n }\r\n }\r\n\r\n render() {\r\n var { bookings, showModal } = this.state;\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n (bookings !== null && bookings.length > 0) &&\r\n bookings.map((bk, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Booking#Booking DateJourney DateJourney FromJourney ToIs ReturnFlight#Booking AmtPaid AmtPayment Transaction #Car NameStatusAction
{bk.BookingNo}{bk.BookingDate}{bk.JourneyDate}{bk.ServiceFrom}{bk.ServiceTo}\r\n \r\n {bk.FlightDetails}${bk.BookingAmount}${bk.PaidAmount}{bk.PaymentGatewayTransacNo}{bk.CarName}{bk.BookingStatus}\r\n this.showCancelBookingConfirm(bk)}\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n {/* */}\r\n
\r\n
\r\n
\r\n
\r\n
Delete Confirmation
\r\n \r\n
\r\n
\r\n Do you want to delete the selected record?\r\n
\r\n
\r\n Yes\r\n \r\n\r\n this.setState({ showModal: false })}>No\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default BookingHistory;","import React, { Component } from 'react';\r\nimport MainHeader from '../components/common/MainHeader';\r\nimport BookingHistory from '../components/Booking/BookingHistory';\r\nimport MainFooter from '../components/common/MainFooter';\r\n\r\nclass BookingHistoryPage extends Component {\r\n componentDidMount() {\r\n window.scroll(0, 0);\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n \r\n\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default BookingHistoryPage;","import React, { useEffect, useState } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport cogoToast from \"cogo-toast\";\r\nimport LocalStorageHelper from \"./LocalStorageHelper/LocalStorageHelper\";\r\nimport ApiURL from \"./api/ApiURL\";\r\n\r\nfunction HandleQueryParams() {\r\n const location = useLocation();\r\n /* const [queryParams, setQueryParams] = useState({});\r\n const [error, setError] = useState(null); */\r\n\r\n useEffect(() => {\r\n const searchParams = new URLSearchParams(location.search);\r\n const paramsObject = {};\r\n\r\n // Convert query params into an object\r\n for (const [key, value] of searchParams.entries()) {\r\n paramsObject[key] = value;\r\n }\r\n\r\n // Save partner details locally if needed\r\n if (paramsObject[\"pcode\"]) {\r\n getPartnerDetail(paramsObject[\"pcode\"]);\r\n }\r\n\r\n //setQueryParams(paramsObject);\r\n }, [location.search]);\r\n\r\n const getPartnerDetail = async (pcodeval) => {\r\n //setError(null); // Reset error state before API call\r\n const requestPayload = { pcode: pcodeval };\r\n\r\n try {\r\n const res = await fetch(ApiURL.GetPartnerDetails, {\r\n method: \"POST\",\r\n headers: { \"Content-Type\": \"application/json\" },\r\n body: JSON.stringify(requestPayload),\r\n });\r\n\r\n if (!res.ok) {\r\n throw new Error(`Failed to fetch data: ${res.statusText}`);\r\n }\r\n\r\n const respData = await res.json();\r\n if (respData.StatusCode === 200) {\r\n const dataResult = respData.DataResult;\r\n // Perform additional actions with dataResult if needed\r\n console.log(\"Partner Details:\", dataResult);\r\n LocalStorageHelper.setPartner(JSON.stringify(dataResult));\r\n } else if (respData.StatusCode === 500) {\r\n cogoToast.error(\"Internal Server Error! Please Try Again.\", { position: \"bottom-center\" });\r\n } else { \r\n cogoToast.error(\"Unexpected error occurred. Please try again.\", { position: \"bottom-center\" });\r\n }\r\n } catch (err) {\r\n cogoToast.error(\"Request Failed! Please Try Again.\", { position: \"bottom-center\" });\r\n //setError(err.message);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {/*

Query Parameters:

\r\n
{JSON.stringify(queryParams, null, 2)}
\r\n\r\n {error &&

Error: {error}

} */}\r\n \r\n );\r\n}\r\n\r\nexport default HandleQueryParams;\r\n","import React, { Component } from 'react';\r\nimport whychooseusImage from '../../assets/images/whychooseus.jpg';\r\nimport aboutImage from '../../assets/images/about.png';\r\nimport howtobookImage from '../../assets/images/howtobook.jpg';\r\n\r\nclass Terms extends Component {\r\n render() {\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Booking Terms & Conditions?


\r\n
\r\n

\r\n We are MyBoogy Airport Transfer, a company registered in England and Wales whose registered address is located at, 200 Brook Drive, Reading, England, RG2 6UB (\"MAT\", \"we\", “our” or \"us\").\r\n We provide airport transfer services to/from All major UK Airport ( Heathrow, Gatwick, Stansted, City, Luton, Birmingham, Liverpool, Manchester, Bristol, Edinburgh, Glasgow & Newcastle)\r\n to UK Postcode destination.\r\n

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \"...\"\r\n
\r\n
\r\n
\r\n

\r\n

\r\n

Definitions

\r\n
\r\n Meet & Greet \r\n is a service that can be opted for by clients, while booking the journey online. Once opted for this service, driver holds a name board ( Electronic soft copy/ Placard) for the lead passenger,\r\n at the airport departure gate.\r\n

\r\n
\r\n

\r\n Requested Pickup time
\r\n Once the flight has landed, there will be a formality for checking passport control and baggage claiming.
\r\n MAT, requests customers to understand the approximate clearing times from customs. Usually this clearance activity takes a minimum of 30 mins for domestic flights and 45 minutes for international flights.\r\n

\r\n
\r\n

\r\n Waiting time
\r\n Waiting time is calculated after requested pickup time mentioned in the booking form at the time of online booking.\r\n

\r\n
\r\n

\r\n Additional Charges
\r\n We impose the cost of Airport parking fees after 60-minutes free waiting period expires. Clause 6 of these terms and conditions defines these costs.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n

\r\n

\r\n

Booking Terms

\r\n
\r\n
    \r\n
  1. The website shows FIXED & All-Inclusive Prices (apart from parking charges).
  2. \r\n
  3. Meet & Greet is not included in the best price/optional. (Our driver will hold the passenger's name board by arrival barriers) 60 Minutes waiting time is included in the charges.
  4. \r\n
  5. All taxes and road tolls are included in the quotation.
  6. \r\n
  7. MAT does not charge anything extra for flight delays, since we do live flight tracking.
  8. \r\n
  9. We use real-time airline data to track the flight landing times.
  10. \r\n
  11. \r\n After the requested pickup time, and FREE 60 minutes waiting time ends, we reflect the cost of parking to the customer as an additional charge. Charges are as below.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    DurationCharge
    0 - 15 minutes£10.00
    15 - 30 minutes£15.00
    30 - 45 minutes£20.00
    45 - 60 minutes£25.00
    60 - 90 minutes£35.00
    \r\n
  12. \r\n
  13. In case you have not met with the driver, please call helpline number ( 0331 630 4110 ) immediately, if you leave the terminal without calling, we will register the booking as a no-show and charge the client in full as per the law of the land.
  14. \r\n
  15. For Airport drop, we allow 15 minutes of maximum free waiting time at the pick-up point. The additional charge is £5 per 15 minutes and fraction thereof.
  16. \r\n
  17. \r\n MAT cannot be held responsible for any late arrival to a destination, namely airport, due to traffic. Hence we will not accept any responsibility for missed flights.\r\n MAT shall be under no liability to the Customer whatsoever for any direct or indirect loss and/or expense (including loss of profit) suffered by the Customer arising out of a breach by the Company of these terms and conditions.\r\n In the event of any claim against MAT arising out of its performance of hire, the Company’s liability shall be limited to a refund not exceeding the cost of the journey. Any other payments will be entirely at the discretion of the Company.\r\n
  18. \r\n
  19. In case of MAT vehicle going through any mechanical failure on the transit we will ensure to give a replacement vehicle as soon as possible/ customer can arrange another vehicle.
  20. \r\n
  21. Any kind of rerouting while the journey is on is going to incur additional charges. Also, MAT will not take any responsibility for the delay to reach the destination under the same situation.
  22. \r\n
  23. MAT accepts no responsibility for any loss or damage to property/ luggage/ fragile items, howsoever such loss or damage may be caused. In the event of property being left in a vehicle, we will gladly organize the return of such items if you cover the postage and packaging costs. Any vomiting, spilling liquid or food to the vehicle, MAT will charge £80.00 for valeting.
  24. \r\n
  25. MAT reserves the right to charge £15 supplement to the passengers, in the event, where the passengers arrive with excess luggage than mentioned on the booking and where this luggage will need to be placed inside the vehicle (at driver discretion and consent).\r\n
  26. \r\n
\r\n

\r\n
\r\n
\r\n
\r\n \"...\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"...\"\r\n
\r\n
\r\n
\r\n

\r\n

\r\n

Child Seats

\r\n
\r\n

Passenger will need to select the number of child seats at the time of booking. MAT will provide child seats as per the same. Child Seats are chargeable.

\r\n

\r\n

\r\n

\r\n

Booking Cancellation Charges

\r\n
\r\n

FREE cancellation if, cancellation made more than 12 hours before the transfer time; MAT will only charge 2.5% of the fare as merchant processing fee. Refunds may take upto 5 to 7 working days.

\r\n

50% cancellation charge if cancellation made between 6 and 12 hours before the reporting time.

\r\n

100% cancellation charge if cancellation made within 6 hours of delivery time.

\r\n

For cancellation please dial the number : ( 0331 630 4110 )

\r\n

\r\n

\r\n

\r\n

No-Show Charges

\r\n
\r\n

If customer does not show up for a ride, we will apply the booking as no-show and will charge the full amount of booking. Waiting times and pickup rules are listed in clause 7 of this Terms and Conditions.

\r\n

\r\n

\r\n

\r\n

Payments

\r\n
\r\n

\r\n MyBoogy Airport Transfer accepts
\r\n

    \r\n
  • Cash
  • \r\n
  • Credit card
  • \r\n
  • PayPal
  • \r\n
  • Apple Pay
  • \r\n
  • Google Pay
  • \r\n
\r\n

\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Terms;","import React, { Component } from 'react';\r\nimport MainHeader from '../components/common/MainHeader';\r\nimport MainFooter from '../components/common/MainFooter';\r\nimport Terms from '../components/other/Terms';\r\n\r\nclass TermsPage extends Component {\r\n render() {\r\n return (\r\n <>\r\n \r\n\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default TermsPage;","import React, { Component, Fragment } from \"react\";\r\nimport { Route, Switch } from \"react-router\";\r\nimport HomePage from \"../pages/HomePage\";\r\nimport ProtectedRoute from \"../pages/ProtectedRoutes\";\r\n//import UnauthorizedPage from \"../pages/UnauthorizedPage\";\r\nimport QuotePage from \"../pages/QuotePage\";\r\nimport LoginPage from \"../pages/LoginPage\";\r\nimport JourneyDetailPage from \"../pages/JourneyDetailPage\";\r\nimport PaymentDetailPage from \"../pages/PaymentDetailPage\";\r\nimport BookingStatusPage from \"../pages/BookingStatusPage\";\r\nimport BookingHistoryPage from \"../pages/BookingHistoryPage\";\r\nimport HandleQueryParams from \"../HandleQueryParams\";\r\nimport TermsPage from \"../pages/TermsPage\";\r\n\r\nclass AppRoute extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n checkUserType: props.checkUserType\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {/* Call the HandleQueryParams component here */}\r\n \r\n \r\n \r\n }\r\n />\r\n {/* }\r\n /> */}\r\n }\r\n />\r\n }\r\n />\r\n {/* }\r\n /> */}\r\n }\r\n />\r\n }\r\n />\r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default AppRoute;\r\n","import React, { Component, Fragment } from 'react';\nimport { BrowserRouter } from \"react-router-dom\";\nimport AppRoute from \"./route/AppRoute\";\n\n\nclass App extends Component { \n render() {\n return (\n \n \n \n \n \n );\n }\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\nimport axios from \"axios\";\nimport \"./assets/css/style.css\";\nimport \"./assets/css/responsive.css\";\nimport * as serviceWorker from \"./serviceWorker\";\nimport LocalStorageHelper from \"./LocalStorageHelper/LocalStorageHelper\";\n\n\naxios.interceptors.request.use((request) => {\n const token = LocalStorageHelper.getAccessToken();\n if (token) {\n request.headers['Authorization'] = 'Bearer ' + token;\n }\n // config.headers['Content-Type'] = 'application/json';\n return request;\n},\n(error) => {\n Promise.reject(error);\n});\n\naxios.interceptors.response.use((response) => {\n return response;\n},\n(error) => {\n if (error.response.status === 401 || error.response.status === 403) {\n console.log(error);\n window.location.href = \"/unauthorize\";\n return Promise.reject(error);\n }\n})\n\nReactDOM.render(\n \n \n ,\n document.getElementById(\"root\")\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.register();\n"],"sourceRoot":""}