(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5789],{2984:function(e,a,t){"use strict";var n=t(5893),o=t(7294),i=t(4853),s=t(6256),l=t(3838);a.Z=e=>{var a,t;let{isOpen:r,onClose:d,doctorId:m,doctorName:c,clinicId:p,clinicName:u}=e,_=(0,s.h)(),h=p||m,b=u||c,v=!!p,[x,f]=(0,o.useState)(""),[g,y]=(0,o.useState)(""),[j,k]=(0,o.useState)(""),[N,A]=(0,o.useState)(""),[M,B]=(0,o.useState)(""),[w,C]=(0,o.useState)(""),[D,S]=(0,o.useState)(null),[P,E]=(0,o.useState)(!1),[T,F]=(0,o.useState)(null),[I,q]=(0,o.useState)(!1),z=(0,o.useRef)(null),L=async e=>{var a,t,n;if(e.preventDefault(),!I){S("Please accept the disclaimer to continue.");return}if(!T){S("Please complete the reCAPTCHA verification.");return}E(!0),S(null);try{let e=v?"".concat(l.sN,"/clinics/").concat(h,"/request-appointment/"):"".concat(l.sN,"/patient/public/request-appointment/"),n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(v?{full_name:x,email:g,phone:j,date:O(N),time:V(M),reason:w,recaptcha_token:T}:{doctor_id:h,name:x,phone_number:j,email:g,appointment_date:O(N),appointment_time:V(M),appointment_reason:w})}),o=await n.json();o.status?(S("Appointment request sent successfully! ".concat(v?"The clinic":"The doctor"," will contact you soon.")),f(""),y(""),k(""),A(""),B(""),C(""),F(null),null===(a=z.current)||void 0===a||a.reset(),setTimeout(()=>d(),2500)):(S(o.message||"Failed to send appointment request."),null===(t=z.current)||void 0===t||t.reset(),F(null))}catch(e){S("Error sending appointment request."),null===(n=z.current)||void 0===n||n.reset(),F(null)}finally{E(!1)}},O=e=>{if(!e)return"";let[a,t,n]=e.split("-");return"".concat(n,"/").concat(t,"/").concat(a)},V=e=>{if(!e)return"";let[a,t]=e.split(":");a=parseInt(a);let n="AM";return 0===a?a=12:12===a?n="PM":a>12&&(a-=12,n="PM"),"".concat(a.toString().padStart(2,"0"),":").concat(t," ").concat(n)},Z=(null==b?void 0:null===(t=b.trim())||void 0===t?void 0:null===(a=t.charAt(0))||void 0===a?void 0:a.toUpperCase())||(v?"C":"D");return r?(0,n.jsx)("div",{className:"vt-modal-backdrop",children:(0,n.jsxs)("div",{className:"vt-modal",children:[(0,n.jsx)("button",{type:"button",className:"vt-close-btn",onClick:()=>{var e;S(null),f(""),y(""),k(""),A(""),B(""),C(""),F(null),q(!1),E(!1),null===(e=z.current)||void 0===e||e.reset(),d()},"aria-label":"Close modal",children:"\xd7"}),(0,n.jsxs)("div",{className:"vt-modal-shell",children:[(0,n.jsx)("div",{className:"vt-modal-topbar",children:(0,n.jsx)("div",{className:"vt-topbar-badge",children:"Secure Request"})}),(0,n.jsx)("div",{className:"vt-modal-hero",children:(0,n.jsxs)("div",{className:"vt-modal-hero-copy",children:[(0,n.jsx)("h2",{children:"Request Appointment"}),(0,n.jsxs)("p",{children:["Send an appointment request to"," ",(0,n.jsx)("strong",{children:b||(v?"this clinic":"this practitioner")}),". Once your details are reviewed, you’ll be contacted when availability is confirmed."]})]})}),(0,n.jsxs)("div",{className:"vt-doctor-summary-card",children:[(0,n.jsx)("div",{className:"vt-doctor-summary-avatar",children:Z}),(0,n.jsxs)("div",{className:"vt-doctor-summary-content",children:[(0,n.jsx)("div",{className:"vt-doctor-summary-label",children:v?"Clinic":"Practitioner"}),(0,n.jsx)("div",{className:"vt-doctor-summary-name",children:b||(v?"Verified Clinic":"Verified Practitioner")}),(0,n.jsx)("div",{className:"vt-doctor-summary-meta",children:"Secure booking request • Verified platform flow"})]})]}),(0,n.jsxs)("form",{onSubmit:L,className:"vt-form",children:[(0,n.jsxs)("div",{className:"vt-form-section",children:[(0,n.jsxs)("div",{className:"vt-section-header",children:[(0,n.jsx)("h3",{children:"Your Details"}),(0,n.jsx)("p",{children:"Please provide your basic contact information."})]}),(0,n.jsxs)("div",{className:"vt-field",children:[(0,n.jsx)("label",{htmlFor:"vt-patient-name",children:"Full Name"}),(0,n.jsx)("input",{id:"vt-patient-name",type:"text",placeholder:"Enter your full name",value:x,onChange:e=>f(e.target.value),required:!0,disabled:P})]}),(0,n.jsxs)("div",{className:"vt-grid-2",children:[(0,n.jsxs)("div",{className:"vt-field",children:[(0,n.jsx)("label",{htmlFor:"vt-phone",children:"Phone"}),(0,n.jsx)("input",{id:"vt-phone",type:"tel",placeholder:"Enter your phone number",value:j,onChange:e=>k(e.target.value),required:!0,disabled:P})]}),(0,n.jsxs)("div",{className:"vt-field",children:[(0,n.jsx)("label",{htmlFor:"vt-email",children:"Email"}),(0,n.jsx)("input",{id:"vt-email",type:"email",placeholder:"Enter your email address",value:g,onChange:e=>y(e.target.value),required:!0,disabled:P})]})]})]}),(0,n.jsxs)("div",{className:"vt-form-section",children:[(0,n.jsxs)("div",{className:"vt-section-header",children:[(0,n.jsx)("h3",{children:"Appointment Preferences"}),(0,n.jsx)("p",{children:"Choose your preferred date and time."})]}),(0,n.jsxs)("div",{className:"vt-grid-2",children:[(0,n.jsxs)("div",{className:"vt-field",children:[(0,n.jsx)("label",{htmlFor:"vt-date",children:"Preferred Date"}),(0,n.jsx)("input",{type:"date",value:N,onChange:e=>{A(e.target.value)},required:!0,disabled:P})]}),(0,n.jsxs)("div",{className:"vt-field",children:[(0,n.jsx)("label",{htmlFor:"vt-time",children:"Preferred Time"}),(0,n.jsx)("input",{type:"time",value:M,onChange:e=>{B(e.target.value)},required:!0,disabled:P})]})]})]}),(0,n.jsxs)("div",{className:"vt-form-section",children:[(0,n.jsx)("div",{className:"vt-section-header",children:(0,n.jsx)("h3",{children:"Reason for Appointment"})}),(0,n.jsx)("div",{className:"vt-field",children:(0,n.jsx)("textarea",{id:"vt-reason",placeholder:"Briefly describe the reason for your appointment",value:w,onChange:e=>C(e.target.value),required:!0,disabled:P})})]}),(0,n.jsxs)("div",{className:"vt-form-section vt-form-section-soft",children:[(0,n.jsxs)("div",{className:"vt-disclaimer",children:[(0,n.jsx)("input",{id:"vt-disclaimer",type:"checkbox",checked:I,onChange:e=>q(e.target.checked),disabled:P}),(0,n.jsxs)("label",{htmlFor:"vt-disclaimer",children:[(0,n.jsx)("strong",{children:"Disclaimer:"})," Virtual Triage connects patients with licensed doctors. We do not provide medical advice directly."]})]}),_&&(0,n.jsx)("div",{className:"vt-captcha",children:(0,n.jsx)(i.Z,{ref:z,sitekey:_,onChange:e=>F(e)})})]}),(0,n.jsxs)("div",{className:"vt-submit-area",children:[(0,n.jsx)("button",{type:"submit",className:"vt-submit",disabled:P||!I,children:P?"Submitting...":"Request Appointment"}),(0,n.jsx)("p",{className:"vt-submit-note",children:"Secure request • Sent directly through Virtual Triage"})]})]}),D&&(0,n.jsx)("div",{className:"vt-status ".concat(D.includes("success")?"success":"error"),children:D})]})]})}):null}},2917:function(e,a,t){"use strict";t.d(a,{Z:function(){return p}});var n=t(5893),o=t(7294),i=t(3838),s=t(5346),l=t(3109);let r=()=>(0,n.jsx)("svg",{viewBox:"0 0 60 25",className:"spm-stripe-svg",xmlns:"http://www.w3.org/2000/svg",children:(0,n.jsx)("path",{d:"M59.64 14.28h-8.06c.19 1.93 1.6 2.55 3.2 2.55 1.64 0 2.96-.37 4.05-.95v3.32a8.33 8.33 0 0 1-4.56 1.1c-4.01 0-6.83-2.5-6.83-7.48 0-4.19 2.39-7.52 6.3-7.52 3.92 0 5.96 3.28 5.96 7.5 0 .4-.04 1.26-.06 1.48zm-5.92-5.62c-1.03 0-2.17.73-2.17 2.58h4.25c0-1.85-1.07-2.58-2.08-2.58zM40.95 20.3c-1.44 0-2.32-.6-2.9-1.04l-.02 4.63-4.12.87V5.57h3.76l.08 1.02a4.7 4.7 0 0 1 3.23-1.29c2.9 0 5.62 2.6 5.62 7.4 0 5.23-2.7 7.6-5.65 7.6zM40 8.95c-.95 0-1.54.34-1.97.81l.02 6.12c.4.44.98.78 1.95.78 1.52 0 2.54-1.65 2.54-3.87 0-2.15-1.04-3.84-2.54-3.84zM28.24 5.57h4.13v14.44h-4.13V5.57zm0-4.7L32.37 0v3.36l-4.13.88V.88zm-4.32 9.35v9.79H19.8V5.57h3.7l.12 1.22c1-1.77 3.07-1.41 3.62-1.22v3.79c-.52-.19-2.7-.55-3.32.87zm-8.55 4.72c0 2.43 2.6 1.68 3.12 1.46v3.36c-.55.3-1.54.54-2.89.54a4.15 4.15 0 0 1-4.27-4.24l.01-13.17 4.02-.86v3.54h3.14V9.1h-3.13v5.85zm-4.91.7c0 2.97-2.31 4.66-5.73 4.66a11.2 11.2 0 0 1-4.46-.93v-3.93c1.38.75 3.1 1.31 4.46 1.31.92 0 1.53-.24 1.53-1C6.26 13.77 0 14.51 0 9.95 0 7.04 2.28 5.3 5.62 5.3c1.36 0 2.72.2 4.09.75v3.92C8.36 9.23 6.8 8.69 5.62 8.69c-.88 0-1.4.38-1.4.98 0 1.84 6.2.95 6.2 6.17z",fill:"#635BFF"})});var d=e=>{let{appointmentData:a,onClose:t,isOpen:d,embedded:m=!1}=e,[c,p]=(0,o.useState)(!1),[u,_]=(0,o.useState)(null),[h,b]=(0,o.useState)((null==a?void 0:a.full_name)||""),[v,x]=(0,o.useState)((null==a?void 0:a.email)||""),[f,g]=(0,o.useState)((null==a?void 0:a.mobile_number)||""),[y,j]=(0,o.useState)(!1),[k,N]=(0,o.useState)(""),[A,M]=(0,o.useState)(!1),[B,w]=(0,o.useState)(!1),[C,D]=(0,o.useState)(null),[S,P]=(0,o.useState)(null),[E,T]=(0,o.useState)(!1);if(!d)return null;let F=()=>(null==a?void 0:a.appointmentType)==="initial",I=()=>{var e,t;return F()?(null==a?void 0:null===(t=a.scheduleData)||void 0===t?void 0:t.initial_appointment_fee)||(null==a?void 0:a.amount):(null==a?void 0:null===(e=a.scheduleData)||void 0===e?void 0:e.follow_up_appointment_fee)||(null==a?void 0:a.amount)},q=async()=>{var e,t,n,o,s,r;let d=k.trim();if(!d){D("Please enter a promo code");return}M(!0),D(null),w(!1),P(null);try{let n=parseFloat(I()),o=await i.ZP.post("/stripe/promo-validator/",{amount:n,promo_code:d},{headers:{Authorization:"Bearer ".concat(null==a?void 0:a.token)}});if(200===o.status&&(null===(e=o.data)||void 0===e?void 0:e.status)===!0)w(!0),P({promo_code:o.data.promo_code,discount:o.data.discount,final_amount:o.data.final_amount,currency:o.data.currency}),D(null),l.Z.trackPromoCodeApplied(d,o.data.discount);else throw Error((null===(t=o.data)||void 0===t?void 0:t.message)||"Invalid promo code")}catch(e){w(!1),P(null),D((null===(o=e.response)||void 0===o?void 0:null===(n=o.data)||void 0===n?void 0:n.message)||(null===(r=e.response)||void 0===r?void 0:null===(s=r.data)||void 0===s?void 0:s.error)||e.message||"Invalid promo code. Please try again.")}finally{M(!1)}},z=()=>B&&(null==S?void 0:S.final_amount)!==void 0?parseFloat(S.final_amount):parseFloat(I()),L=async e=>{var t,n,o,s,r,d,m;e.preventDefault(),p(!0),_(null);try{let e=k.trim(),s=(null==a?void 0:a.time)||"",r=new FormData;r.append("doctor_id",(null==a?void 0:a.doctor_id)||(null==a?void 0:a.Health_Professional_id)||""),r.append("specialty_id",(null==a?void 0:a.specialty_id)||""),r.append("slot_id",(null==a?void 0:a.slot_id)||""),r.append("date",(null==a?void 0:a.date)||(null==a?void 0:a.appointmentDate)||""),r.append("time",5===s.length?"".concat(s,":00"):s),r.append("appointment_type",(null==a?void 0:a.appointmentType)||"initial"),r.append("patient_full_name",h||(null==a?void 0:a.full_name)||""),r.append("patient_email",v||(null==a?void 0:a.email)||""),r.append("age",(null==a?void 0:a.age)||""),r.append("gender",(null==a?void 0:a.gender)||""),r.append("mobile_number",f||(null==a?void 0:a.mobile_number)||""),r.append("patient_address",(null==a?void 0:a.patient_address)||""),r.append("preappointmentdetail_id",((null==a?void 0:a.preappointmentdetail_id)||"").replace(/^(?:ct_|stripe_)/,"")),r.append("pre_appointment_details",JSON.stringify((null==a?void 0:a.pre_appointment_details)||[])),r.append("body_points",JSON.stringify((null==a?void 0:a.body_points)||[])),r.append("payment_method","card"),B&&e&&r.append("promo_code",e),(null==a?void 0:a.consultation_image)instanceof File&&r.append("supporting_image_document",a.consultation_image);let d=await i.ZP.post("/patient/appointment/guest-book-appointment/",r);if((null===(t=d.data)||void 0===t?void 0:t.status)&&(null===(n=d.data.data)||void 0===n?void 0:n.checkout_url))window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"booking_initiated",doctor_id:(null==a?void 0:a.doctor_id)||"unknown",value:Number(z())||0,currency:"GBP"}),l.Z.trackPaymentStepOpened(),window.location.href=d.data.data.checkout_url;else throw Error((null===(o=d.data)||void 0===o?void 0:o.message)||"Booking failed. Please try again.")}catch(a){let e=(null===(r=a.response)||void 0===r?void 0:null===(s=r.data)||void 0===s?void 0:s.message)||(null===(m=a.response)||void 0===m?void 0:null===(d=m.data)||void 0===d?void 0:d.detail)||a.message||"Something went wrong. Please try again.";_(e),l.Z.trackPaymentFailed(e),p(!1)}},O=()=>{c||t()},V=(()=>{var e;let t=null==a?void 0:null===(e=a.scheduleData)||void 0===e?void 0:e.Currency;return t&&""!==t&&"\xa3"!==t&&"gbp"!==t?"usd"===t||"$"===t?"$":"eur"===t||"€"===t?"€":"\xa3":"\xa3"})(),Z=parseFloat(I())||0,H=z(),R=B&&S&&H<Z,U=!!(h.trim()&&v.trim()),G=(0,n.jsxs)("div",{className:"spm-modal".concat(m?" spm-modal--embedded":""),onClick:m?void 0:e=>e.stopPropagation(),children:[(0,n.jsxs)("div",{className:"spm-left",children:[(0,n.jsxs)("button",{className:"spm-summary-toggle",onClick:()=>j(e=>!e),"aria-expanded":y,children:[(0,n.jsxs)("span",{className:"spm-summary-toggle__label",children:[(0,n.jsx)(s.kUi,{className:"spm-summary-toggle__icon"}),"Order summary"]}),(0,n.jsxs)("span",{className:"spm-summary-toggle__amount",children:[V,H.toFixed(2)]}),y?(0,n.jsx)(s.s$2,{className:"spm-summary-toggle__chevron"}):(0,n.jsx)(s.RiI,{className:"spm-summary-toggle__chevron"})]}),(0,n.jsxs)("div",{className:"spm-left__body".concat(y?" spm-left__body--open":""),children:[(0,n.jsxs)("div",{className:"spm-business",children:[(0,n.jsx)("div",{className:"spm-business__avatar",children:(0,n.jsx)(s.kUi,{})}),(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"spm-business__name",children:"Virtual Triage"}),(0,n.jsx)("p",{className:"spm-business__tagline",children:"Appointment Booking"})]})]}),(0,n.jsxs)("div",{className:"spm-line-items",children:[(0,n.jsxs)("div",{className:"spm-line-item",children:[(0,n.jsx)("span",{className:"spm-line-item__label",children:F()?"Initial Consultation":"Follow-up Consultation"}),R?(0,n.jsxs)("span",{className:"spm-line-item__original",children:[V,Z.toFixed(2)]}):(0,n.jsxs)("span",{className:"spm-line-item__value",children:[V,Z.toFixed(2)]})]}),R&&(0,n.jsxs)("div",{className:"spm-line-item spm-line-item--discount",children:[(0,n.jsxs)("span",{className:"spm-line-item__label",children:[(0,n.jsx)(s.fxx,{className:"spm-tag-icon"}),"Promo “",S.promo_code,"”"]}),(0,n.jsxs)("span",{className:"spm-line-item__discount",children:["- ",V,(Z-H).toFixed(2)]})]}),(0,n.jsx)("div",{className:"spm-divider"}),(0,n.jsxs)("div",{className:"spm-line-item spm-line-item--total",children:[(0,n.jsx)("span",{className:"spm-line-item__label",children:"Total due today"}),(0,n.jsxs)("span",{className:"spm-line-item__total",children:[V,H.toFixed(2)]})]})]}),(0,n.jsxs)("div",{className:"spm-refund",children:[(0,n.jsxs)("div",{className:"spm-refund__header",children:[(0,n.jsx)(s.bri,{className:"spm-refund__icon"}),(0,n.jsx)("span",{className:"spm-refund__title",children:"Full Refund Guarantee"})]}),(0,n.jsxs)("p",{className:"spm-refund__text",children:["You're fully protected. If you have a valid reason — such as a cancellation, technical issue, or unavailability of your practitioner — you will receive a ",(0,n.jsx)("strong",{children:"100% refund"})," with no questions asked, processed within 5–10 business days."]}),(0,n.jsx)("a",{href:"/appointment-terms",target:"_blank",rel:"noopener noreferrer",className:"spm-refund__link",children:"Read our refund terms →"})]}),(0,n.jsxs)("div",{className:"spm-secure-note",children:[(0,n.jsx)(s.kUi,{className:"spm-secure-note__icon"}),(0,n.jsx)("span",{children:"256-bit SSL encrypted & PCI DSS compliant"})]})]})]}),(0,n.jsxs)("div",{className:"spm-right",children:[!m&&(0,n.jsx)("button",{className:"spm-close",onClick:O,disabled:c,"aria-label":"Close",children:(0,n.jsx)(s.aHS,{})}),(0,n.jsx)("h2",{className:"spm-right__title",children:"Confirm & Pay"}),(0,n.jsx)("p",{className:"spm-right__subtitle",children:"Review your details and proceed to secure payment"}),(0,n.jsxs)("form",{className:"spm-form",onSubmit:L,children:[(0,n.jsxs)("div",{className:"spm-field-group",children:[(0,n.jsxs)("div",{className:"spm-field",children:[(0,n.jsx)("label",{className:"spm-label",htmlFor:"spm-name",children:"Full name"}),(0,n.jsx)("input",{id:"spm-name",className:"spm-input",type:"text",value:h,onChange:e=>b(e.target.value),placeholder:"Jane Smith",required:!0,autoComplete:"name"})]}),(0,n.jsxs)("div",{className:"spm-field",children:[(0,n.jsx)("label",{className:"spm-label",htmlFor:"spm-email",children:"Email address"}),(0,n.jsx)("input",{id:"spm-email",className:"spm-input",type:"email",value:v,onChange:e=>x(e.target.value),placeholder:"jane@example.com",required:!0,autoComplete:"email"})]})]}),(0,n.jsxs)("div",{className:"spm-field",children:[(0,n.jsxs)("label",{className:"spm-label",htmlFor:"spm-phone",children:[(0,n.jsx)(s.I7T,{style:{marginRight:6,fontSize:11}}),"Phone number"]}),(0,n.jsx)("input",{id:"spm-phone",className:"spm-input",type:"tel",value:f,onChange:e=>g(e.target.value),placeholder:"+44 7700 000000",autoComplete:"tel"})]}),(0,n.jsxs)("div",{className:"spm-promo",children:[(0,n.jsxs)("button",{type:"button",className:"spm-link-btn spm-promo__toggle",onClick:()=>T(e=>!e),children:[(0,n.jsx)(s.fxx,{className:"spm-tag-icon"}),E?"Hide promo code":"Add promo code"]}),E&&(0,n.jsxs)("div",{className:"spm-promo__row",children:[(0,n.jsx)("input",{className:"spm-input spm-promo__input".concat(B?" spm-input--valid":"").concat(C?" spm-input--error":""),type:"text",value:k,onChange:e=>{N(e.target.value),(B||C)&&(w(!1),D(null),P(null))},placeholder:"PROMO2024",autoComplete:"off",disabled:c||A}),(0,n.jsx)("button",{type:"button",className:"spm-promo__apply",onClick:q,disabled:c||A||!k.trim(),children:A?(0,n.jsx)("span",{className:"spm-spinner"}):"Apply"}),k.trim()&&(0,n.jsx)("button",{type:"button",className:"spm-promo__clear",onClick:()=>{N(""),w(!1),D(null),P(null)},disabled:c||A,children:"✕"})]}),B&&S&&(0,n.jsxs)("div",{className:"spm-alert spm-alert--success",children:[(0,n.jsx)(s.FJM,{}),"Promo ",(0,n.jsxs)("strong",{children:["“",S.promo_code,"”"]})," applied —\xa0 you save ",V,(Z-H).toFixed(2),"!"]}),C&&(0,n.jsxs)("div",{className:"spm-alert spm-alert--error",children:[(0,n.jsx)(s.a4m,{}),C]})]}),u&&(0,n.jsxs)("div",{className:"spm-alert spm-alert--error spm-alert--lg",children:[(0,n.jsx)(s.a4m,{}),u]}),(0,n.jsx)("button",{type:"submit",className:"spm-pay-btn",disabled:c||!U,children:c?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"spm-spinner spm-spinner--white"}),"Booking…"]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.kUi,{className:"spm-pay-btn__lock"}),"Pay ",V,H.toFixed(2)]})}),(0,n.jsxs)("div",{className:"spm-footer",children:[(0,n.jsxs)("div",{className:"spm-footer__powered",children:[(0,n.jsx)(s.kUi,{className:"spm-footer__lock"}),(0,n.jsx)("span",{children:"Secured by"}),(0,n.jsx)(r,{})]}),(0,n.jsxs)("div",{className:"spm-footer__links",children:[(0,n.jsx)("a",{href:"/terms-and-conditions",target:"_blank",rel:"noopener noreferrer",children:"Terms"}),(0,n.jsx)("span",{className:"spm-footer__sep",children:"\xb7"}),(0,n.jsx)("a",{href:"/privacy-notice",target:"_blank",rel:"noopener noreferrer",children:"Privacy"}),(0,n.jsx)("span",{className:"spm-footer__sep",children:"\xb7"}),(0,n.jsx)("a",{href:"/appointment-terms",target:"_blank",rel:"noopener noreferrer",children:"Refund Policy"})]})]})]})]})]});return m?G:(0,n.jsx)("div",{className:"spm-overlay",onClick:O,children:G})},m=t(9451),c=t.n(m),p=e=>{var a,t,s,r,m,p,u,_;let{practitioner:h,selectedSlot:b,selectedDate:v,startAtSlotSelection:x,onClose:f,appointmentType:g,appointmentFee:y,onAppointmentBooked:j,scheduleData:k}=e,[N,A]=(0,o.useState)({fullName:"",email:"",phone:"",age:"",gender:"",weight:"",bodyPoints:[],preappointmentdetail_id:"",pre_appointment_details:[],body_chart_image:"",date:"",time:"",patient_address:"",medications:"",consultation_image:null,consultation_image_preview:""}),M=(0,o.useRef)(null);(0,o.useRef)(null);let B=(0,o.useRef)(null),w=(0,o.useRef)(null),[C,D]=(0,o.useState)(!1),[S,P]=(0,o.useState)(!1),[E,T]=(0,o.useState)(!1),[F,I]=(0,o.useState)({insurancebooking_Id:"",insuarance_number:"",insurance_company_name:"",membership_number:"",reference_number:"",group_number:"",coverage_type:"",date_of_issue:"",date_of_expiry:"",preauth_number:""}),[q,z]=(0,o.useState)({}),[L,O]=(0,o.useState)(()=>localStorage.getItem("authToken")),[V,Z]=(0,o.useState)(g||"initial"),H="initial"===V?null!==(s=null==k?void 0:k.initial_appointment_fee)&&void 0!==s?s:y:null!==(r=null==k?void 0:k.follow_up_appointment_fee)&&void 0!==r?r:y,[R,U]=(0,o.useState)(!1),[G,J]=(0,o.useState)(!0),[W,K]=(0,o.useState)(!1),[Y,X]=(0,o.useState)(null),[Q,$]=(0,o.useState)(!1),[ee,ea]=(0,o.useState)(null),et=!!(b&&v)&&!x,[en,eo]=(0,o.useState)(et?2:1),[ei,es]=(0,o.useState)(null),[el,er]=(0,o.useState)(x&&v?v:null),[ed,em]=(0,o.useState)([]),[ec,ep]=(0,o.useState)(!1),[eu,e_]=(0,o.useState)(!1),[eh,eb]=(0,o.useState)(null),ev=e=>{q[e]&&z(a=>{let t={...a};return delete t[e],t})};if((0,o.useEffect)(()=>{A(e=>({...e,date:v,time:b}))},[v,b]),(0,o.useEffect)(()=>{(null==h?void 0:h.Health_Professional_Id)&&(async()=>{try{let e=await i.ZP.get("/patient/public/charting-details/?doctor_id=".concat(encodeURIComponent(h.Health_Professional_Id)));200===e.status&&e.data.status&&A(a=>({...a,preappointmentdetail_id:e.data.data.id,body_chart_image:e.data.data.body_chart_image_url||"",pre_appointment_details:e.data.data.questions.map(e=>{var a;return{id:e.id,question:e.question_text,question_type:e.question_type||"text",order:null!==(a=e.order)&&void 0!==a?a:0,answer:""}})}))}catch(e){console.error("Error fetching charting details:",e)}})()},[null==h?void 0:h.Health_Professional_Id]),(0,o.useEffect)(()=>()=>{sessionStorage.removeItem("insuranceData")},[]),(0,o.useEffect)(()=>{l.Z.updateStep(2)},[]),(0,o.useEffect)(()=>{1===en&&(null==h?void 0:h.Health_Professional_Id)&&(e_(!0),fetch("".concat(i.CT,"/patient/public/doctor-schedule/?doctor_id=").concat(encodeURIComponent(h.Health_Professional_Id))).then(e=>e.json()).then(e=>{var a;if((null==e?void 0:e.status)&&Array.isArray(null===(a=e.data)||void 0===a?void 0:a.available_dates)){let a=new Date().toISOString().split("T")[0],t=new Set(e.data.available_dates.map(e=>{try{return new Date(e).toISOString().split("T")[0]}catch(e){return null}}).filter(e=>e&&e>=a));es(t);let n=[...t].sort()[0];n&&!(x&&v)&&er(n)}else es(new Set)}).catch(e=>{console.error("Error fetching schedule:",e),es(new Set)}).finally(()=>e_(!1)))},[en,null==h?void 0:h.Health_Professional_Id]),(0,o.useEffect)(()=>{1===en&&el&&(null==h?void 0:h.Health_Professional_Id)&&(ep(!0),eb(null),fetch("".concat(i.CT,"/patient/public/doctor-slots/?doctor_id=").concat(encodeURIComponent(h.Health_Professional_Id),"&date=").concat(el)).then(e=>e.json()).then(e=>{var a;if((null==e?void 0:e.status)&&Array.isArray(null===(a=e.data)||void 0===a?void 0:a.slots)){let a=e.data.slots.filter(e=>e.available);if(em(a),x&&b&&v===el){let e=a.find(e=>b.slot_id&&e.slot_id===b.slot_id||e.time===b.time);e&&eb(e)}}else em([])}).catch(e=>{console.error("Error fetching slots:",e),em([])}).finally(()=>ep(!1)))},[el,en,null==h?void 0:h.Health_Professional_Id]),!h)return null;let ex=e=>{let{name:a,value:t}=e.target;A({...N,[a]:t}),ev(a)},ef=(e,a)=>{A(t=>({...t,pre_appointment_details:t.pre_appointment_details.map(t=>t.id===e?{...t,answer:a}:t)})),q["question-".concat(e)]&&ev("question-".concat(e))},eg=(e,a,t)=>{A(n=>{let o=[...n.bodyPoints];return o[e]={...o[e],question:a,answer:t},{...n,bodyPoints:o}}),q["point-".concat(e)]&&ev("point-".concat(e))},ey=()=>N.body_chart_image&&""!==N.body_chart_image.trim()&&"null"!==N.body_chart_image&&"undefined"!==N.body_chart_image,ej=e=>{let{name:a,value:t}=e.target;I(e=>({...e,[a]:t})),ev(a)},ek=e=>{let a=new FileReader;a.onload=a=>{A(t=>({...t,consultation_image:e,consultation_image_preview:a.target.result}))},a.readAsDataURL(e)},eN=async()=>{var e,a;let t={};if((null===(e=F.insurance_company_name)||void 0===e?void 0:e.trim())||(t.insurance_company_name="Insurance company name is required"),(null===(a=F.insuarance_number)||void 0===a?void 0:a.trim())||(t.insuarance_number="Policy number is required"),Object.keys(t).length>0){z(e=>({...e,...t}));return}try{let e=localStorage.getItem("authToken"),a={insurancebooking_Id:F.insurancebooking_Id||"",insuarance_number:F.insuarance_number,insurance_company_name:F.insurance_company_name,membership_number:F.membership_number||"",reference_number:F.reference_number||"",group_number:F.group_number||"",coverage_type:F.coverage_type||"",date_of_issue:F.date_of_issue||"",date_of_expiry:F.date_of_expiry||"",preauth_number:F.preauth_number||""},t=await i.ZP.post("/patient/insurance/add_insurance/",a,{headers:e?{Authorization:"Bearer ".concat(e),"Content-Type":"application/json"}:{"Content-Type":"application/json"}});if(200===t.status)sessionStorage.setItem("insuranceData",JSON.stringify(a)),ea(F),$(!0),U(!1),l.Z.trackInsuranceSaved();else throw Error("Failed to save insurance details")}catch(e){console.error("Error saving insurance details:",e),alert("Error saving insurance details. Please try again.")}},eA=h.Full_Name||h.full_Name||h.full_name||"Practitioner",eM=S&&""!==N.fullName.trim()&&""!==N.email.trim(),eB=et?"object"==typeof b?b:{time:b,slot_id:""}:eh,ew=et?v:el,eC=(null==eB?void 0:eB.time)||"",eD=(null==eB?void 0:eB.slot_id)||"",eS=E?3:en;return(0,n.jsx)("div",{className:c()["book-appointment-modal-overlay"],children:(0,n.jsxs)("div",{className:c()["book-appointment-modal-content"],children:[(0,n.jsx)("button",{className:c()["modal-close-btn"],onClick:()=>{l.Z.trackModalAbandoned(E?3:en),f()},"aria-label":"Close modal",children:"\xd7"}),(0,n.jsxs)("div",{className:c()["bam-summary-bar"],children:[(0,n.jsxs)("div",{className:c()["bam-summary-item"],children:[(0,n.jsx)("span",{className:c()["bam-summary-label"],children:"Practitioner"}),(0,n.jsx)("span",{className:c()["bam-summary-value"],children:eA})]}),(0,n.jsx)("div",{className:c()["bam-summary-divider"]}),(0,n.jsxs)("div",{className:c()["bam-summary-item"],children:[(0,n.jsx)("span",{className:c()["bam-summary-label"],children:"Date & Time"}),(0,n.jsx)("span",{className:c()["bam-summary-value"],children:ew?"".concat(ew).concat(eC?" at ".concat(eC):""):"Select a date & time"})]}),(0,n.jsx)("div",{className:c()["bam-summary-divider"]}),(0,n.jsxs)("div",{className:c()["bam-summary-item"],children:[(0,n.jsx)("span",{className:c()["bam-summary-label"],children:"Fee"}),(0,n.jsxs)("span",{className:c()["bam-summary-fee"],children:["\xa3",H]})]})]}),(()=>{let e=["Slot Selection","Appointment Details","Review & Pay"];return(0,n.jsx)("div",{className:c()["bam-progress"],children:e.map((a,t)=>{let i=t+1,s=eS>i,l=eS===i;return(0,n.jsxs)(o.Fragment,{children:[(0,n.jsxs)("div",{className:"".concat(c()["bam-progress-step"]," ").concat(s?c()["bam-progress-step--done"]:""," ").concat(l?c()["bam-progress-step--active"]:""),children:[(0,n.jsx)("div",{className:c()["bam-progress-circle"],children:s?(0,n.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",children:(0,n.jsx)("path",{d:"M20 6L9 17L4 12",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})}):i}),(0,n.jsx)("span",{className:c()["bam-progress-label"],children:a})]}),t<e.length-1&&(0,n.jsx)("div",{className:"".concat(c()["bam-progress-line"]," ").concat(s?c()["bam-progress-line--done"]:"")})]},i)})})})(),(0,n.jsx)("div",{className:c()["bam-body"],children:E?(0,n.jsx)(d,{embedded:!0,isOpen:E,onClose:f,appointmentData:{doctor_id:null==h?void 0:h.Health_Professional_Id,specialty_id:(null==h?void 0:h.specialty_id)||(null==h?void 0:h.Specialty_id)||"",slot_id:eD,appointmentDate:ew,appointmentType:V,amount:H,scheduleData:k||{initial_appointment_fee:y,follow_up_appointment_fee:y,Currency:"\xa3"},package_info:null==k?void 0:k.package_info,token:L,date:ew,time:eC,gender:N.gender,full_name:N.fullName,age:N.age,weight:N.weight,email:N.email,mobile_number:N.phone,preappointmentdetail_id:N.preappointmentdetail_id,body_chart_image:N.body_chart_image,patient_address:N.patient_address,pre_appointment_details:N.pre_appointment_details,body_points:N.bodyPoints,medications:N.medications,consultation_image:N.consultation_image,page_url:window.location.href}}):1===en?(0,n.jsx)("div",{className:c()["bam-step1"],children:eu?(0,n.jsxs)("div",{className:c()["bam-step1-loading"],children:[(0,n.jsx)("div",{className:c()["bam-step1-spinner"]}),(0,n.jsx)("p",{children:"Loading availability…"})]}):(null==ei?void 0:ei.size)===0?(0,n.jsx)("p",{className:c()["bam-step1-empty"],children:"No available dates found for this doctor."}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:c()["bam-step1-section"],children:[(0,n.jsx)("p",{className:c()["bam-step1-label"],children:"Appointment Type"}),(0,n.jsxs)("div",{className:c()["bam-type-options"],children:[(0,n.jsxs)("button",{type:"button",onClick:()=>{var e;Z("initial"),l.Z.updateAppointmentType("initial",null!==(e=null==k?void 0:k.initial_appointment_fee)&&void 0!==e?e:y)},className:[c()["bam-type-option"],"initial"===V?c()["bam-type-option--active"]:""].filter(Boolean).join(" "),children:[(0,n.jsx)("span",{className:c()["bam-type-option-name"],children:"Initial Consultation"}),(0,n.jsxs)("span",{className:c()["bam-type-option-fee"],children:["\xa3",null!==(m=null==k?void 0:k.initial_appointment_fee)&&void 0!==m?m:y]})]}),(0,n.jsxs)("button",{type:"button",onClick:()=>{var e;Z("follow_up"),l.Z.updateAppointmentType("follow_up",null!==(e=null==k?void 0:k.follow_up_appointment_fee)&&void 0!==e?e:y)},className:[c()["bam-type-option"],"initial"!==V?c()["bam-type-option--active"]:""].filter(Boolean).join(" "),children:[(0,n.jsx)("span",{className:c()["bam-type-option-name"],children:"Follow-up"}),(0,n.jsxs)("span",{className:c()["bam-type-option-fee"],children:["\xa3",null!==(p=null==k?void 0:k.follow_up_appointment_fee)&&void 0!==p?p:y]})]})]})]}),(0,n.jsxs)("div",{className:c()["bam-step1-section"],children:[(0,n.jsx)("p",{className:c()["bam-step1-label"],children:"Choose a Date"}),(0,n.jsx)("div",{className:c()["bam-date-pills"],children:[...ei||[]].sort().slice(0,14).map(e=>{let a=new Date(e+"T00:00:00"),t=el===e;return(0,n.jsxs)("button",{type:"button",onClick:()=>er(e),className:[c()["bam-date-pill"],t?c()["bam-date-pill--active"]:""].filter(Boolean).join(" "),children:[(0,n.jsx)("span",{className:c()["bam-date-pill-day"],children:a.toLocaleDateString("en-GB",{weekday:"short"})}),(0,n.jsx)("span",{className:c()["bam-date-pill-date"],children:a.toLocaleDateString("en-GB",{day:"numeric",month:"short"})})]},e)})})]}),el&&(0,n.jsxs)("div",{className:c()["bam-step1-section"],children:[(0,n.jsx)("p",{className:c()["bam-step1-label"],children:"Choose a Time"}),ec?(0,n.jsxs)("div",{className:c()["bam-step1-slots-loading"],children:[(0,n.jsx)("div",{className:c()["bam-step1-spinner"]}),(0,n.jsx)("span",{children:"Loading slots…"})]}):ed.length>0?(0,n.jsx)("div",{className:c()["bam-slot-grid"],children:ed.map(e=>{let[a,t]=e.time.split(":"),o=parseInt(a,10),i="".concat(o%12||12,":").concat(t," ").concat(o>=12?"PM":"AM"),s=(null==eh?void 0:eh.slot_id)===e.slot_id;return(0,n.jsx)("button",{type:"button",onClick:()=>eb(s?null:e),className:[c()["bam-slot-pill"],s?c()["bam-slot-pill--active"]:""].filter(Boolean).join(" "),children:i},e.slot_id)})}):(0,n.jsx)("p",{className:c()["bam-step1-empty"],children:"No slots available for this date."})]})]})}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:c()["bam-patient-section"],children:[(0,n.jsx)("h4",{className:c()["bam-section-heading"],children:"Patient Information"}),(0,n.jsxs)("div",{className:c()["form-row"],children:[(0,n.jsxs)("div",{className:c()["form-field"],children:[(0,n.jsxs)("label",{htmlFor:"fullName",children:["Full Name ",(0,n.jsx)("span",{className:c()["bam-required"],children:"*"})]}),(0,n.jsx)("input",{id:"fullName",type:"text",name:"fullName",value:N.fullName,onChange:ex,placeholder:"Enter your full name",autoComplete:"name"})]}),(0,n.jsxs)("div",{className:c()["form-field"],children:[(0,n.jsxs)("label",{htmlFor:"email",children:["Email Address ",(0,n.jsx)("span",{className:c()["bam-required"],children:"*"})]}),(0,n.jsx)("input",{id:"email",type:"email",name:"email",value:N.email,onChange:ex,placeholder:"your@email.com",autoComplete:"email"})]})]}),(0,n.jsxs)("div",{className:c()["form-row"],children:[(0,n.jsxs)("div",{className:c()["form-field"],children:[(0,n.jsx)("label",{htmlFor:"phone",children:"Phone Number"}),(0,n.jsx)("input",{id:"phone",type:"tel",name:"phone",value:N.phone,onChange:ex,placeholder:"+44 7700 000000",autoComplete:"tel"})]}),(0,n.jsxs)("div",{className:c()["form-field"],children:[(0,n.jsx)("label",{htmlFor:"age",children:"Date of Birth"}),(0,n.jsx)("input",{id:"age",type:"date",name:"age",value:N.age,onChange:ex})]})]}),(0,n.jsxs)("div",{className:c()["form-row"],children:[(0,n.jsxs)("div",{className:c()["form-field"],children:[(0,n.jsx)("label",{htmlFor:"gender",children:"Gender"}),(0,n.jsxs)("select",{id:"gender",name:"gender",value:N.gender,onChange:ex,children:[(0,n.jsx)("option",{value:"",children:"Select gender"}),(0,n.jsx)("option",{value:"male",children:"Male"}),(0,n.jsx)("option",{value:"female",children:"Female"}),(0,n.jsx)("option",{value:"non-binary",children:"Non-binary"}),(0,n.jsx)("option",{value:"prefer_not_to_say",children:"Prefer not to say"})]})]}),(0,n.jsxs)("div",{className:c()["form-field"],children:[(0,n.jsx)("label",{htmlFor:"patient_address",children:"Address"}),(0,n.jsx)("input",{id:"patient_address",type:"text",name:"patient_address",value:N.patient_address,onChange:ex,placeholder:"City, Country",autoComplete:"address-level2"})]})]})]}),(N.pre_appointment_details.length>0||ey())&&(0,n.jsxs)("div",{className:c()["bam-health-section"],children:[(0,n.jsxs)("button",{type:"button",className:c()["bam-health-toggle"],onClick:()=>J(e=>!e),children:[(0,n.jsxs)("span",{children:["\uD83E\uDD1A Health Assessment ",(0,n.jsx)("span",{className:c()["bam-health-toggle__optional"],children:"(Optional)"})]}),(0,n.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",style:{transform:G?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s ease",flexShrink:0},children:(0,n.jsx)("path",{d:"M6 9L12 15L18 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]}),G&&(0,n.jsxs)("div",{className:c()["bam-health-body"],children:[(0,n.jsx)("p",{className:c()["bam-health-desc"],children:"Answer the questions below and optionally mark areas of concern on the body chart."}),N.pre_appointment_details.map(e=>(0,n.jsxs)("div",{className:c()["form-field"],children:[(0,n.jsx)("label",{htmlFor:"question-".concat(e.id),children:e.question}),(0,n.jsx)("textarea",{id:"question-".concat(e.id),value:e.answer,onChange:a=>ef(e.id,a.target.value),placeholder:"Please provide your answer..."})]},e.id)),ey()&&(0,n.jsxs)("div",{className:c()["body-chart-container"],children:[(0,n.jsx)("h4",{children:"Click on the body chart to mark areas of concern"}),(0,n.jsxs)("div",{ref:B,className:c()["chart-wrapper"],onClick:e=>{if(!B.current)return;let a=B.current.getBoundingClientRect(),t=(e.clientX-a.left)/a.width,n=(e.clientY-a.top)/a.height;A(e=>({...e,bodyPoints:[...e.bodyPoints,{x_axis:Math.max(0,Math.min(1,t)),y_axis:Math.max(0,Math.min(1,n)),question:"",answer:""}]}))},children:[(0,n.jsx)("img",{ref:M,src:N.body_chart_image,className:c()["charting-image"],alt:"Body Chart"}),N.bodyPoints.map((e,a)=>{var t,o;return(0,n.jsx)("div",{className:c()["body-point"],style:{top:"".concat(e.y_axis*((null===(t=M.current)||void 0===t?void 0:t.height)||0),"px"),left:"".concat(e.x_axis*((null===(o=M.current)||void 0===o?void 0:o.width)||0),"px")},children:a+1},a)})]})]}),N.bodyPoints.length>0&&(0,n.jsxs)("div",{className:c()["body-chart-explanations"],children:[(0,n.jsx)("h4",{children:"Explain the marked areas"}),N.bodyPoints.map((e,a)=>(0,n.jsxs)("div",{className:c()["form-field"],children:[(0,n.jsxs)("label",{htmlFor:"point-".concat(a),children:["Point ",a+1," — Description"]}),(0,n.jsx)("textarea",{id:"point-".concat(a),value:e.answer,onChange:t=>eg(a,e.question,t.target.value),placeholder:"Describe the issue or concern at this location..."})]},a))]})]})]}),(0,n.jsxs)("div",{className:c()["bam-additional-section"],children:[(0,n.jsxs)("button",{type:"button",className:c()["bam-additional-toggle"],onClick:()=>K(e=>!e),children:[(0,n.jsxs)("span",{children:["\uD83D\uDC8A Additional Details ",(0,n.jsx)("span",{className:c()["bam-health-toggle__optional"],children:"(Optional)"})]}),(0,n.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",style:{transform:W?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s ease",flexShrink:0},children:(0,n.jsx)("path",{d:"M6 9L12 15L18 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]}),W&&(0,n.jsxs)("div",{className:c()["bam-additional-body"],children:[(0,n.jsxs)("div",{className:c()["form-field"],children:[(0,n.jsx)("label",{children:"Are you currently taking any medication?"}),(0,n.jsxs)("div",{className:c()["bam-yesno"],children:[(0,n.jsx)("button",{type:"button",className:[c()["bam-yesno-btn"],!0===Y?c()["bam-yesno-btn--yes"]:""].filter(Boolean).join(" "),onClick:()=>X(!0),children:"Yes"}),(0,n.jsx)("button",{type:"button",className:[c()["bam-yesno-btn"],!1===Y?c()["bam-yesno-btn--no"]:""].filter(Boolean).join(" "),onClick:()=>{X(!1),A(e=>({...e,medications:""}))},children:"No"})]})]}),!0===Y&&(0,n.jsxs)("div",{className:c()["form-field"],children:[(0,n.jsx)("label",{children:"Please list your current medications"}),(0,n.jsx)("textarea",{name:"medications",value:N.medications,onChange:ex,placeholder:"e.g. Paracetamol 500mg, Metformin 1g daily...",rows:3})]}),(0,n.jsxs)("div",{className:c()["form-field"],children:[(0,n.jsx)("label",{children:"Upload an image or document"}),(0,n.jsx)("p",{className:c()["bam-field-hint"],children:"Attach a prescription, photo, referral letter, or any relevant document."}),(0,n.jsx)("input",{ref:w,type:"file",accept:"image/*,application/pdf",style:{display:"none"},onChange:e=>{let a=e.target.files[0];a&&ek(a)}}),N.consultation_image_preview?(0,n.jsxs)("div",{className:c()["bam-image-card"],children:[(0,n.jsx)("img",{src:N.consultation_image_preview,className:c()["bam-image-card-thumb"],alt:"Uploaded"}),(0,n.jsxs)("div",{className:c()["bam-image-card-info"],children:[(0,n.jsx)("span",{className:c()["bam-image-card-name"],children:(null===(a=N.consultation_image)||void 0===a?void 0:a.name)||"Uploaded file"}),(0,n.jsx)("span",{className:c()["bam-image-card-size"],children:(null===(t=N.consultation_image)||void 0===t?void 0:t.size)?"".concat((N.consultation_image.size/1024).toFixed(1)," KB"):""})]}),(0,n.jsx)("button",{type:"button",className:c()["bam-image-card-remove"],onClick:()=>A(e=>({...e,consultation_image:null,consultation_image_preview:""})),children:"\xd7"})]}):(0,n.jsxs)("div",{className:[c()["bam-upload-zone"],C?c()["bam-upload-zone--dragging"]:""].filter(Boolean).join(" "),onClick:()=>{var e;return null===(e=w.current)||void 0===e?void 0:e.click()},onDragOver:e=>{e.preventDefault(),D(!0)},onDragLeave:()=>D(!1),onDrop:e=>{e.preventDefault(),D(!1);let a=e.dataTransfer.files[0];a&&ek(a)},children:[(0,n.jsx)("svg",{className:c()["bam-upload-icon"],viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:(0,n.jsx)("path",{d:"M4 16v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2M8 12l4-4 4 4M12 8v8",strokeLinecap:"round",strokeLinejoin:"round"})}),(0,n.jsx)("p",{className:c()["bam-upload-text"],children:"Click to upload or drag & drop"}),(0,n.jsx)("p",{className:c()["bam-upload-subtext"],children:"PNG, JPG, PDF — up to 10 MB"})]})]})]})]}),(0,n.jsxs)("div",{className:c()["bam-insurance-section"],children:[(0,n.jsxs)("button",{type:"button",className:[c()["bam-insurance-toggle"],Q&&c()["bam-insurance-toggle--saved"]].filter(Boolean).join(" "),onClick:()=>{let e=!R;U(e),e&&l.Z.trackInsuranceOpened()},children:[(0,n.jsxs)("span",{children:["\uD83D\uDEE1️ ",Q?"Insurance details saved ✓":"Add insurance details (Optional)"]}),(0,n.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",style:{transform:R?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s ease",flexShrink:0},children:(0,n.jsx)("path",{d:"M6 9L12 15L18 9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]}),R&&(0,n.jsxs)("div",{className:c()["bam-insurance-form"],children:[(0,n.jsxs)("div",{className:c()["form-row"],children:[(0,n.jsxs)("div",{className:c()["form-field"],children:[(0,n.jsx)("label",{htmlFor:"insurancebooking_Id",children:"Insurance ID"}),(0,n.jsx)("input",{id:"insurancebooking_Id",type:"text",name:"insurancebooking_Id",value:F.insurancebooking_Id,onChange:ej,placeholder:"Enter insurance ID"})]}),(0,n.jsxs)("div",{className:c()["form-field"],children:[(0,n.jsx)("label",{htmlFor:"insuarance_number",children:"Policy Number *"}),(0,n.jsx)("input",{id:"insuarance_number",type:"text",name:"insuarance_number",value:F.insuarance_number,onChange:ej,placeholder:"Enter policy number",className:q.insuarance_number?c().error:"",required:!0}),q.insuarance_number&&(0,n.jsx)("span",{className:c()["error-message"],children:q.insuarance_number})]})]}),(0,n.jsxs)("div",{className:c()["form-row"],children:[(0,n.jsxs)("div",{className:c()["form-field"],children:[(0,n.jsx)("label",{htmlFor:"insurance_company_name",children:"Insurance Company *"}),(0,n.jsx)("input",{id:"insurance_company_name",type:"text",name:"insurance_company_name",value:F.insurance_company_name,onChange:ej,placeholder:"Enter insurance company name",className:q.insurance_company_name?"error":"",required:!0}),q.insurance_company_name&&(0,n.jsx)("span",{className:c()["error-message"],children:q.insurance_company_name})]}),(0,n.jsxs)("div",{className:c()["form-field"],children:[(0,n.jsx)("label",{htmlFor:"membership_number",children:"Membership Number *"}),(0,n.jsx)("input",{id:"membership_number",type:"text",name:"membership_number",value:F.membership_number,onChange:ej,placeholder:"Enter membership number",required:!0})]})]}),(0,n.jsxs)("div",{className:c()["form-row"],children:[(0,n.jsxs)("div",{className:c()["form-field"],children:[(0,n.jsx)("label",{htmlFor:"reference_number",children:"Reference Number"}),(0,n.jsx)("input",{id:"reference_number",type:"text",name:"reference_number",value:F.reference_number,onChange:ej,placeholder:"Enter reference number"})]}),(0,n.jsxs)("div",{className:c()["form-field"],children:[(0,n.jsx)("label",{htmlFor:"group_number",children:"Group Number"}),(0,n.jsx)("input",{id:"group_number",type:"text",name:"group_number",value:F.group_number,onChange:ej,placeholder:"Enter group number"})]})]}),(0,n.jsxs)("div",{className:c()["form-row"],children:[(0,n.jsxs)("div",{className:c()["form-field"],children:[(0,n.jsx)("label",{htmlFor:"coverage_type",children:"Coverage Type"}),(0,n.jsx)("input",{id:"coverage_type",type:"text",name:"coverage_type",value:F.coverage_type,onChange:ej,placeholder:"Enter coverage type"})]}),(0,n.jsxs)("div",{className:c()["form-field"],children:[(0,n.jsx)("label",{htmlFor:"date_of_issue",children:"Effective Date"}),(0,n.jsx)("input",{id:"date_of_issue",type:"date",name:"date_of_issue",value:F.date_of_issue,onChange:ej})]})]}),(0,n.jsxs)("div",{className:c()["form-row"],children:[(0,n.jsxs)("div",{className:c()["form-field"],children:[(0,n.jsx)("label",{htmlFor:"date_of_expiry",children:"Expiration Date"}),(0,n.jsx)("input",{id:"date_of_expiry",type:"date",name:"date_of_expiry",value:F.date_of_expiry,onChange:ej})]}),(0,n.jsxs)("div",{className:c()["form-field"],children:[(0,n.jsx)("label",{htmlFor:"preauth_number",children:"Pre-Authorization Number"}),(0,n.jsx)("input",{id:"preauth_number",type:"text",name:"preauth_number",value:F.preauth_number,onChange:ej,placeholder:"Enter pre-auth number"})]})]}),(0,n.jsxs)("div",{className:"bam-insurance-form-actions",children:[(0,n.jsx)("button",{type:"button",className:c()["insurance-skip-button"],onClick:()=>U(!1),children:"Cancel"}),(0,n.jsx)("button",{type:"button",className:c()["insurance-save-button"],onClick:eN,disabled:!((null===(u=F.insurance_company_name)||void 0===u?void 0:u.trim())!==""&&(null===(_=F.insuarance_number)||void 0===_?void 0:_.trim())!==""),children:"Save Insurance"})]})]})]}),(0,n.jsxs)("div",{className:c()["bam-emergency-disclaimer"],children:[(0,n.jsx)("strong",{children:"⚠️ Not for emergencies."})," Virtual Triage is not a healthcare provider — call 999 if you need urgent help."]}),(0,n.jsx)("div",{className:c()["terms-section"],children:(0,n.jsxs)("div",{className:c()["terms-checkbox"],children:[(0,n.jsx)("input",{type:"checkbox",id:"terms-checkbox",checked:S,onChange:()=>{let e=!S;P(e),l.Z.updateConfirmationCheckbox(e)}}),(0,n.jsxs)("label",{htmlFor:"terms-checkbox",children:["I understand all medical services are provided independently by clinicians and agree to the"," ",(0,n.jsx)("a",{href:"/terms-and-conditions",target:"_blank",rel:"noopener noreferrer",children:"Terms & Conditions"}),","," ",(0,n.jsx)("a",{href:"/privacy-notice",target:"_blank",rel:"noopener noreferrer",children:"Privacy Notice"}),","," ",(0,n.jsx)("a",{href:"/cookie-policy",target:"_blank",rel:"noopener noreferrer",children:"Cookie Policy"})," and"," ",(0,n.jsx)("a",{href:"/appointment-terms",target:"_blank",rel:"noopener noreferrer",children:"Appointment Terms"}),"."]})]})})]})}),(0,n.jsx)("div",{className:c()["step-actions"],children:E?(0,n.jsx)("button",{className:c()["back-button"],onClick:()=>T(!1),children:"← Back to Details"}):1===en?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{className:c()["back-button"],onClick:f,children:"Cancel"}),(0,n.jsxs)("div",{className:[c()["proceed-button-wrapper"],eh?"":c()["proceed-button-wrapper--blocked"]].filter(Boolean).join(" "),children:[(0,n.jsx)("button",{className:c()["proceed-button"],disabled:!eh,onClick:()=>eo(2),children:"Continue →"}),!eh&&(0,n.jsx)("div",{className:c()["proceed-tooltip"],children:"⚠ Please select a time slot"})]})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{className:c()["back-button"],onClick:et?f:()=>eo(1),children:et?"Cancel":"← Back"}),(0,n.jsxs)("div",{className:[c()["proceed-button-wrapper"],!eM&&c()["proceed-button-wrapper--blocked"]].filter(Boolean).join(" "),children:[(0,n.jsx)("button",{className:c()["proceed-button"],onClick:()=>{let e=(null==h?void 0:h.Full_Name)||(null==h?void 0:h.full_name)||(null==h?void 0:h.full_Name)||"";l.Z.updatePersonalInfo({...N,doctor_name:e}),l.Z.updateProceedToPayment(),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"checkout_opened"}),T(!0)},disabled:!eM,children:"Proceed to Checkout →"}),!eM&&(0,n.jsx)("div",{className:c()["proceed-tooltip"],children:N.fullName.trim()&&N.email.trim()?"⚠ Please accept the Terms & Conditions":"⚠ Please enter your name and email"})]})]})})]})})}},3109:function(e,a,t){"use strict";var n=t(3838);class o{_generateEventKey(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t={event_name:e,step:this.eventData.step,appointment_type:this.eventData.appointment_type,slot:this.eventData.slot_selected,...a};return"".concat(e,"_").concat(JSON.stringify(t))}_shouldTrack(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=this._generateEventKey(e,a),n=Date.now();return!(this.lastEvent===t&&n-this.lastEventTime<this.eventDebounceTime||this.trackedEvents.has(t))&&(this.lastEvent=t,this.lastEventTime=n,this.trackedEvents.set(t,n),!0)}_cleanupOldEvents(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3e5,a=Date.now();for(let[t,n]of this.trackedEvents.entries())a-n>e&&this.trackedEvents.delete(t)}initializeTracking(){let e=this.eventData.doctor_name;this._shouldTrack("initialization")&&(this.eventData={event_type:"Booking Started",event_name:"Booking Modal Opened",step:1,appointment_type:"",appointment_fee:null,slot_selected:"",name:"",email:"",phone:"",age:null,address:"",gender:"",doctor_name:e||"","confirmation&accepted":!1,"appointment-status":"draft"},this.isInitialized=!0)}updateAppointmentType(e,a){this._shouldTrack("appointment_type_".concat(e))&&(this.eventData.appointment_type=e,this.eventData.appointment_fee=a?parseFloat(a):null,this.eventData.event_name="Appointment Type Selected: ".concat(e),this.sendEvent())}updateSlotSelection(e,a){let t="slot_".concat(e,"_").concat(a);this._shouldTrack(t)&&(this.eventData.slot_selected="".concat(e," ").concat(a),this.eventData.event_name="Slot is Selected",this.sendEvent())}trackSlotContinued(){this._shouldTrack("slot_continued")&&(this.eventData.step=2,this.eventData.event_name="Slot Confirmed - Proceeding to Details",this.sendEvent())}updateStep(e){this._shouldTrack("step_".concat(e))&&(this.eventData.step=e,this.eventData.event_name="On Step ".concat(e),this.sendEvent())}updatePersonalInfo(e){let a="".concat(e.fullName||"","_").concat(e.email||"","_").concat(e.phone||"");this._shouldTrack("personal_info_".concat(a))&&(this.eventData.name=e.fullName||"",this.eventData.email=e.email||"",this.eventData.phone=e.phone||"",this.eventData.age=e.age?parseInt(e.age):null,this.eventData.address=e.patient_address||"",this.eventData.gender=e.gender||"",e.doctor_name&&(this.eventData.doctor_name=e.doctor_name),this.eventData.event_name="Patient Details Filled",this.sendEvent())}trackEmailVerificationStarted(e){this._shouldTrack("email_verification_started_".concat(e))&&(this.eventData.email=e||this.eventData.email,this.eventData.event_name="Email Verification Started",this.sendEvent())}trackEmailVerified(){this._shouldTrack("email_verified")&&(this.eventData.event_name="Email Verified",this.sendEvent())}trackEmailVerificationFailed(){this._shouldTrack("email_verification_failed")&&(this.eventData.event_name="Email Verification Failed",this.sendEvent())}trackInsuranceOpened(){this._shouldTrack("insurance_opened")&&(this.eventData.event_name="Insurance Section Opened",this.sendEvent())}trackInsuranceSaved(){this._shouldTrack("insurance_saved")&&(this.eventData.event_name="Insurance Details Saved",this.sendEvent())}updateConfirmationCheckbox(e){this._shouldTrack("terms_".concat(e))&&(this.eventData["confirmation&accepted"]=e,this.eventData.event_name=e?"Terms Accepted":"Terms Unchecked",this.sendEvent())}updateProceedToPayment(){this._shouldTrack("proceed_to_payment")&&(this.eventData.event_name="Patient Details Submitted",this.sendEvent())}trackPaymentStepOpened(){this._shouldTrack("payment_step_opened")&&(this.eventData.step=3,this.eventData.event_name="Payment Step Opened",this.sendEvent())}trackPromoCodeApplied(e,a){let t="promo_".concat(e,"_").concat(a);this._shouldTrack(t)&&(this.eventData.event_name="Promo Code Applied",this.sendEvent({promo_code:e,discount:a}))}trackPaymentFailed(e){let a="payment_failed_".concat(e);this._shouldTrack(a)&&(this.eventData.event_name="Payment Failed",this.eventData["appointment-status"]="payment_failed",this.sendEvent({failure_reason:e}))}updateEventName(e){this._shouldTrack("payment_".concat(e))&&(this.eventData.event_name=e,this.sendEvent())}trackModalAbandoned(e){this._shouldTrack("abandoned_step_".concat(e))&&(this.eventData.event_name="Modal Abandoned at ".concat(1===e?"Slot Selection":2===e?"Appointment Details":3===e?"Payment":"Step ".concat(e)),this.eventData["appointment-status"]="abandoned",this.sendEvent())}async sendEvent(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.isInitialized){this._cleanupOldEvents(),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"vt_funnel_event",vt_event_type:this.eventData.event_type,vt_event_name:this.eventData.event_name,vt_step:this.eventData.step,vt_slot:this.eventData.slot_selected,vt_appointment_type:this.eventData.appointment_type,vt_appointment_fee:this.eventData.appointment_fee,doctor_name:this.eventData.doctor_name,vt_status:this.eventData["appointment-status"],...e,timestamp:Date.now()});try{return(await n.ZP.post("/track-event/",{...this.eventData,...e})).data}catch(e){console.error("Tracking error:",e)}}}reset(){this.eventData={event_type:"Book Now",event_name:"",step:1,appointment_type:"",appointment_fee:null,slot_selected:"",name:"",email:"",phone:"",age:null,address:"",gender:"",doctor_name:"","confirmation&accepted":!1,"appointment-status":"draft"},this.isInitialized=!1,this.trackedEvents.clear(),this.lastEvent=null,this.lastEventTime=0}getState(){return{...this.eventData}}registerComponent(e){return!this.componentInstances.has(e)&&(this.componentInstances.set(e,Date.now()),!0)}unregisterComponent(e){this.componentInstances.delete(e)}constructor(){this.eventData={event_type:"Book Now",event_name:"",step:1,appointment_type:"",appointment_fee:null,slot_selected:"",name:"",email:"",phone:"",age:null,address:"",gender:"",doctor_name:"","confirmation&accepted":!1,"appointment-status":"draft"},this.isInitialized=!1,this.lastEvent=null,this.lastEventTime=0,this.eventDebounceTime=500,this.trackedEvents=new Map,this.componentInstances=new Map}}let i=new o;a.Z=i},9451:function(e){e.exports={"book-appointment-modal-overlay":"BookAppointmentModal_book-appointment-modal-overlay__C_X8y","book-appointment-modal-content":"BookAppointmentModal_book-appointment-modal-content__g2Jgf","modal-close-btn":"BookAppointmentModal_modal-close-btn__JUqv_","bam-summary-bar":"BookAppointmentModal_bam-summary-bar__N0XVl","bam-summary-item":"BookAppointmentModal_bam-summary-item__hlW_S","bam-summary-label":"BookAppointmentModal_bam-summary-label__eesdV","bam-summary-value":"BookAppointmentModal_bam-summary-value__alyBV","bam-summary-fee":"BookAppointmentModal_bam-summary-fee__HrP7s","bam-summary-divider":"BookAppointmentModal_bam-summary-divider__huDlu","bam-type-toggle-row":"BookAppointmentModal_bam-type-toggle-row__I1pgG","bam-type-toggle":"BookAppointmentModal_bam-type-toggle__hxNrw","bam-type-btn":"BookAppointmentModal_bam-type-btn__sUZnm","bam-type-btn--active":"BookAppointmentModal_bam-type-btn--active__XF8iy","bam-progress":"BookAppointmentModal_bam-progress__YSvsH","bam-progress-step":"BookAppointmentModal_bam-progress-step__OKec6","bam-progress-circle":"BookAppointmentModal_bam-progress-circle__5UAvz","bam-progress-step--active":"BookAppointmentModal_bam-progress-step--active__Takj0","bam-progress-step--done":"BookAppointmentModal_bam-progress-step--done__V7ETb","bam-progress-label":"BookAppointmentModal_bam-progress-label__7__OM","bam-progress-line":"BookAppointmentModal_bam-progress-line__JTJv7","bam-progress-line--done":"BookAppointmentModal_bam-progress-line--done__XzCeN","bam-body":"BookAppointmentModal_bam-body__P98Vl","bam-section-header":"BookAppointmentModal_bam-section-header__dUGOc","bam-form-grid":"BookAppointmentModal_bam-form-grid__VGLMy","form-field":"BookAppointmentModal_form-field__zucdI","full-width":"BookAppointmentModal_full-width__2M2me",error:"BookAppointmentModal_error__TjYJE",shake:"BookAppointmentModal_shake__ojwuK","error-message":"BookAppointmentModal_error-message__T3fl_",slideDown:"BookAppointmentModal_slideDown__OYO6X","bam-email-confirm":"BookAppointmentModal_bam-email-confirm__jSySB","bam-email-confirm-text":"BookAppointmentModal_bam-email-confirm-text__f2WAn","bam-email-confirm-actions":"BookAppointmentModal_bam-email-confirm-actions__nnnNL","bam-email-confirm-yes":"BookAppointmentModal_bam-email-confirm-yes__5nlZN","bam-email-confirm-edit":"BookAppointmentModal_bam-email-confirm-edit__c8ZQr","bam-email-confirmed":"BookAppointmentModal_bam-email-confirmed__2nZzQ","bam-why-verify":"BookAppointmentModal_bam-why-verify__653RU","bam-why-verify-trigger":"BookAppointmentModal_bam-why-verify-trigger__O24cw","bam-why-verify-popover":"BookAppointmentModal_bam-why-verify-popover__ziC8X","bam-email-verify-notice":"BookAppointmentModal_bam-email-verify-notice__lcg_5","bam-verify-notice":"BookAppointmentModal_bam-verify-notice__SDl8V","bam-verify-notice__title":"BookAppointmentModal_bam-verify-notice__title__STw8n","bam-verify-notice__body":"BookAppointmentModal_bam-verify-notice__body__tlU5b","bam-verify-notice--warning":"BookAppointmentModal_bam-verify-notice--warning__DZfGo","bam-verify-notice--success":"BookAppointmentModal_bam-verify-notice--success__Q51SY","bam-otp-wrapper":"BookAppointmentModal_bam-otp-wrapper__MWaHe","bam-otp-header":"BookAppointmentModal_bam-otp-header__zxRMM","bam-otp-desc":"BookAppointmentModal_bam-otp-desc__wJBVC","bam-otp-input-row":"BookAppointmentModal_bam-otp-input-row__D1dnW","bam-otp-input":"BookAppointmentModal_bam-otp-input__De_kD","bam-otp-verify-btn":"BookAppointmentModal_bam-otp-verify-btn__rAGT3","bam-otp-error":"BookAppointmentModal_bam-otp-error__dd3Ns","bam-health-section":"BookAppointmentModal_bam-health-section__DWVoP","bam-subsection-title":"BookAppointmentModal_bam-subsection-title__KbwMy","bam-subsection-desc":"BookAppointmentModal_bam-subsection-desc__bZvCN","body-chart-container":"BookAppointmentModal_body-chart-container__D7qXF","chart-wrapper":"BookAppointmentModal_chart-wrapper__qolD9","charting-image":"BookAppointmentModal_charting-image__ruCAI","body-point":"BookAppointmentModal_body-point__vdKph","body-chart-explanations":"BookAppointmentModal_body-chart-explanations__7HDeW","bam-health-toggle":"BookAppointmentModal_bam-health-toggle__uetZl","bam-health-toggle__optional":"BookAppointmentModal_bam-health-toggle__optional__wm_wK","bam-health-body":"BookAppointmentModal_bam-health-body__uILj8","bam-health-desc":"BookAppointmentModal_bam-health-desc__xz6oq","bam-insurance-section":"BookAppointmentModal_bam-insurance-section__EsCzr","bam-insurance-toggle":"BookAppointmentModal_bam-insurance-toggle__MnRl4","bam-insurance-toggle--saved":"BookAppointmentModal_bam-insurance-toggle--saved__oTIE_","bam-insurance-form":"BookAppointmentModal_bam-insurance-form___q8W5","form-row":"BookAppointmentModal_form-row__6Nu7N","bam-insurance-form-actions":"BookAppointmentModal_bam-insurance-form-actions__OBdSD","bam-additional-section":"BookAppointmentModal_bam-additional-section__gSmIp","bam-additional-toggle":"BookAppointmentModal_bam-additional-toggle__TmCeH","bam-additional-body":"BookAppointmentModal_bam-additional-body__NJ_ZM","bam-yesno":"BookAppointmentModal_bam-yesno__zaoCE","bam-yesno-btn":"BookAppointmentModal_bam-yesno-btn__G7FoD","bam-yesno-btn--yes":"BookAppointmentModal_bam-yesno-btn--yes__o6qpV","bam-yesno-btn--no":"BookAppointmentModal_bam-yesno-btn--no__A7qBI","bam-field-hint":"BookAppointmentModal_bam-field-hint__7FKY9","bam-phone-wrapper":"BookAppointmentModal_bam-phone-wrapper__UN3P9","bam-phone-prefix":"BookAppointmentModal_bam-phone-prefix__6lVzH","bam-phone-input":"BookAppointmentModal_bam-phone-input__7ql8k","bam-upload-zone":"BookAppointmentModal_bam-upload-zone__2odHK","bam-upload-zone--dragging":"BookAppointmentModal_bam-upload-zone--dragging__Qcye5","bam-upload-icon":"BookAppointmentModal_bam-upload-icon__90yTP","bam-upload-text":"BookAppointmentModal_bam-upload-text__PoubS","bam-upload-subtext":"BookAppointmentModal_bam-upload-subtext__PQ5lp","bam-image-card":"BookAppointmentModal_bam-image-card__00vXH","bam-image-card-thumb":"BookAppointmentModal_bam-image-card-thumb___XBj8","bam-image-card-info":"BookAppointmentModal_bam-image-card-info__4boiX","bam-image-card-name":"BookAppointmentModal_bam-image-card-name__6YHdM","bam-image-card-size":"BookAppointmentModal_bam-image-card-size__umuUo","bam-image-card-remove":"BookAppointmentModal_bam-image-card-remove__yN2_F","insurance-skip-button":"BookAppointmentModal_insurance-skip-button__Jb9en","insurance-save-button":"BookAppointmentModal_insurance-save-button__PdC3j","bam-emergency-disclaimer":"BookAppointmentModal_bam-emergency-disclaimer__q9jhi","terms-section":"BookAppointmentModal_terms-section__oS2fa","terms-checkbox":"BookAppointmentModal_terms-checkbox__15XYG","proceed-button-wrapper":"BookAppointmentModal_proceed-button-wrapper__af1FE","proceed-tooltip":"BookAppointmentModal_proceed-tooltip__W4kNr","proceed-button-wrapper--blocked":"BookAppointmentModal_proceed-button-wrapper--blocked__cJGFi","bam-email-alert-banner":"BookAppointmentModal_bam-email-alert-banner__Tu6gw","bam-email-alert-banner__icon":"BookAppointmentModal_bam-email-alert-banner__icon__Sfxui","bam-email-alert-banner__text":"BookAppointmentModal_bam-email-alert-banner__text__RbYUA","bam-email-alert-banner__close":"BookAppointmentModal_bam-email-alert-banner__close__TcYpy","step-actions":"BookAppointmentModal_step-actions__neSS9","bam-insurance-refund-note":"BookAppointmentModal_bam-insurance-refund-note__dHG_T","back-button":"BookAppointmentModal_back-button__h5xHr","proceed-button":"BookAppointmentModal_proceed-button__bg710","modal-direct-booking-slot-selected":"BookAppointmentModal_modal-direct-booking-slot-selected__ECrCv","insurance-modal-overlay":"BookAppointmentModal_insurance-modal-overlay__1V__f","insurance-modal-content":"BookAppointmentModal_insurance-modal-content__MAiCl","bam-step1":"BookAppointmentModal_bam-step1__tlGh_","bam-step1-loading":"BookAppointmentModal_bam-step1-loading__N1m4r","bam-step1-slots-loading":"BookAppointmentModal_bam-step1-slots-loading__rzKMo","bam-step1-spinner":"BookAppointmentModal_bam-step1-spinner__bqTb0","bam-spin":"BookAppointmentModal_bam-spin__Df_HW","bam-step1-section":"BookAppointmentModal_bam-step1-section__Wr0GP","bam-step1-label":"BookAppointmentModal_bam-step1-label__MRV4V","bam-step1-empty":"BookAppointmentModal_bam-step1-empty__ODDTw","bam-type-options":"BookAppointmentModal_bam-type-options__JCqKy","bam-type-option":"BookAppointmentModal_bam-type-option__94i3W","bam-type-option--active":"BookAppointmentModal_bam-type-option--active__Ef7IL","bam-type-option-name":"BookAppointmentModal_bam-type-option-name__8qp5s","bam-type-option-fee":"BookAppointmentModal_bam-type-option-fee__z_Ko8","bam-date-pills":"BookAppointmentModal_bam-date-pills__k763G","bam-date-pill":"BookAppointmentModal_bam-date-pill__gqKki","bam-date-pill--active":"BookAppointmentModal_bam-date-pill--active___jGDr","bam-date-pill-day":"BookAppointmentModal_bam-date-pill-day__Zy5nP","bam-date-pill-date":"BookAppointmentModal_bam-date-pill-date__T1mde","bam-slot-grid":"BookAppointmentModal_bam-slot-grid__ZTCYO","bam-slot-pill":"BookAppointmentModal_bam-slot-pill__bxv1K","bam-slot-pill--active":"BookAppointmentModal_bam-slot-pill--active__1O9h1","bam-patient-section":"BookAppointmentModal_bam-patient-section__u4Qfo","bam-section-heading":"BookAppointmentModal_bam-section-heading__2oQ3t","bam-required":"BookAppointmentModal_bam-required__4Los6","bam-booking-error":"BookAppointmentModal_bam-booking-error__5Un4y","bam-booking-success":"BookAppointmentModal_bam-booking-success__ZoNMv","bam-upload-status":"BookAppointmentModal_bam-upload-status__9hqUU","bam-upload-status--ok":"BookAppointmentModal_bam-upload-status--ok__74pHA","bam-upload-status--error":"BookAppointmentModal_bam-upload-status--error__z36UI","bam-upload-error":"BookAppointmentModal_bam-upload-error__naayB","bam-btn-loading":"BookAppointmentModal_bam-btn-loading__ldEMF"}}}]);