(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9163],{5084:function(e,t,a){(window.__NEXT_P=window.__NEXT_P||[]).push(["/doctor-signup",function(){return a(5751)}])},3950:function(e,t,a){"use strict";var i=a(5893),r=a(9008),n=a.n(r),s=a(1163);t.Z=e=>{let{title:t="Virtual Triage - Online Doctor Appointments & Healthcare Services UK",description:a="Book online doctor appointments, find GPs, and access healthcare services across the UK. Virtual consultations with licensed practitioners. Book your appointment today.",keywords:r="online doctor UK, GP near me, family doctor UK, virtual consultations, telehealth UK, book doctor appointment, NHS alternative, private GP UK",canonical:o,ogImage:l="https://virtualtriage.ai/assets/og/default.jpg",ogType:c="website",structuredData:d,noindex:p=!1,location:u="UK"}=e,m=(0,s.useRouter)(),h="https://virtualtriage.ai",g=t.includes("Virtual Triage")?t:"".concat(t," | Virtual Triage"),x=o||"".concat(h).concat(m.asPath.split("?")[0]),f=d||{"@context":"https://schema.org","@type":"MedicalBusiness",name:"Virtual Triage",description:"Online healthcare platform connecting patients with licensed medical practitioners across the UK",url:h,logo:"".concat(h,"/assets/Virtual%20Triage.png"),address:{"@type":"PostalAddress",addressCountry:"GB",addressLocality:u},areaServed:{"@type":"Country",name:"United Kingdom"},sameAs:["https://www.facebook.com/virtualtriage","https://www.instagram.com/virtualtriage","https://www.linkedin.com/company/virtualtriage","https://twitter.com/virtualtriage"]};return(0,i.jsxs)(n(),{children:[(0,i.jsx)("title",{children:g}),(0,i.jsx)("meta",{name:"title",content:g}),(0,i.jsx)("meta",{name:"description",content:a}),(0,i.jsx)("meta",{name:"keywords",content:r}),(0,i.jsx)("meta",{name:"robots",content:p?"noindex,nofollow":"index,follow"}),(0,i.jsx)("meta",{name:"language",content:"English"}),(0,i.jsx)("meta",{name:"revisit-after",content:"7 days"}),(0,i.jsx)("meta",{name:"author",content:"Virtual Triage"}),(0,i.jsx)("meta",{name:"geo.region",content:"GB"}),(0,i.jsx)("meta",{name:"geo.placename",content:u}),(0,i.jsx)("link",{rel:"canonical",href:x}),(0,i.jsx)("meta",{property:"og:type",content:c}),(0,i.jsx)("meta",{property:"og:url",content:x}),(0,i.jsx)("meta",{property:"og:title",content:g}),(0,i.jsx)("meta",{property:"og:description",content:a}),(0,i.jsx)("meta",{property:"og:image",content:l}),(0,i.jsx)("meta",{property:"og:site_name",content:"Virtual Triage"}),(0,i.jsx)("meta",{property:"og:locale",content:"en_GB"}),(0,i.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,i.jsx)("meta",{name:"twitter:url",content:x}),(0,i.jsx)("meta",{name:"twitter:title",content:g}),(0,i.jsx)("meta",{name:"twitter:description",content:a}),(0,i.jsx)("meta",{name:"twitter:image",content:l}),(0,i.jsx)("meta",{name:"twitter:site",content:"@virtualtriage"}),(0,i.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(f)}})]})}},4293:function(e,t,a){"use strict";a.d(t,{K:function(){return r}});let i={directory:["Full portal access for one doctor","Access to bookings, patient chat, and e-consultations","Access to patient history and consultation notes","Secure video consultations","Unlimited appointments – no cap on usage","Flexible scheduling tools","Automated appointment reminders for patients","20% service charge per successful appointment"],basic:["Access to all Virtual Triage features","One practitioner profile included","Patient records and consultation history saved automatically","Secure video consultations and encrypted chat","Unlimited appointments – no restrictions","Advanced appointment management","Automated reminders and follow-up tools","3–5% service charge per appointment (lower service charge)"],clinic:["Dedicated clinic portal for multi-doctor practices","Ability to add upto 5 practitioners under one account","Centralized dashboard to manage all appointments in one place","Advanced clinic scheduling system for multiple doctors","Access to all Virtual Triage features for every practitioner","Unlimited appointments across the entire clinic","Shared patient records and clinic-wide history tracking","Secure, HIPAA/GDPR-compliant video consultations","Automated reminders and notifications for patients","Optimized for high patient volume clinics"]},r=e=>{if(e.includes("Directory"))return i.directory;if(e.includes("Basic"));else if(e.includes("Clinic"))return i.clinic;return i.basic}},5751:function(e,t,a){"use strict";a.r(t);var i=a(5893),r=a(7294),n=a(7555),s=a.n(n),o=a(6455),l=a.n(o),c=a(5346),d=a(1163),p=a(4293),u=a(1376),m=a(3950);t.default=function(){let[e,t]=(0,r.useState)([]),[a,n]=(0,r.useState)(""),[o,h]=(0,r.useState)(null),g=(0,d.useRouter)(),[x,f]=(0,r.useState)(""),[v,y]=(0,r.useState)(""),[j,b]=(0,r.useState)("password"),[w,k]=(0,r.useState)(""),[N,S]=(0,r.useState)({hasLow:!1,hasCap:!1,hasNumber:!1,hasSpecial:!1,isMinLength:!1}),[_,C]=(0,r.useState)(""),[P,A]=(0,r.useState)(""),[T,E]=(0,r.useState)(""),[V,L]=(0,r.useState)(""),[U,q]=(0,r.useState)(!1);(0,r.useEffect)(()=>{var e;(async()=>{try{let e=await fetch("https://api.ipify.org?format=json"),t=await e.json();t.ip&&f(t.ip)}catch(e){console.error("Error fetching IP address:",e);try{let e=await fetch("https://api64.ipify.org?format=json"),t=await e.json();t.ip&&f(t.ip)}catch(e){console.error("Error fetching IP address from fallback:",e)}}})(),(null===(e=g.query)||void 0===e?void 0:e.packageDetails)&&h({id:g.query.packageDetails,name:g.query.packageName,price:g.query.packagePrice,description:g.query.packageDescription}),(async()=>{try{let e=await fetch("https://portal.virtualtriage.ca/api/v1/doctor/speciality/doctor_speciality/"),a=await e.json();a.status&&t(a.data)}catch(e){console.error("Error fetching specialties:",e)}})()},[]);let D=()=>N.hasLow&&N.hasCap&&N.hasNumber&&N.hasSpecial&&N.isMinLength,B=()=>""!==_.trim()&&""!==P.trim()&&("string"==typeof T?""!==T.trim():""!==T)&&""!==w.trim()&&D()&&""!==V.trim()&&""!==a.trim()&&null!==o&&U,K=async e=>{var t,i,r,n,s,c,d,p,m,h,g,f,v;if(e.preventDefault(),!D()){l().fire({icon:"error",title:"Invalid Password",html:'\n          <p style="text-align: left; margin-bottom: 10px;">Your password must meet all of the following requirements:</p>\n          <ul style="text-align: left; margin: 10px 0; padding-left: 20px;">\n            <li style="margin-bottom: 5px;">At least 8 characters long</li>\n            <li style="margin-bottom: 5px;">At least one lowercase letter (a-z)</li>\n            <li style="margin-bottom: 5px;">At least one uppercase letter (A-Z)</li>\n            <li style="margin-bottom: 5px;">At least one number (0-9)</li>\n            <li style="margin-bottom: 5px;">At least one special character (!@#$%^&*(),.?":{}|&lt;&gt;)</li>\n          </ul>\n        '});return}if(!o||!o.id){l().fire({icon:"error",title:"Package Not Selected",text:"Please select a package before proceeding to payment."});return}let j=new Date().toISOString();y(j),localStorage.setItem("formData",JSON.stringify({fullName:_,email:P,phone:T,password:w,country:V,speciality:a}));try{let e=T.startsWith("+")?T:"+".concat(T),a=await u.ZP.post("/doctor/auth/signup/validate/",{email:P,mobile_number:e});if(200!==a.status)throw Error((null===(t=a.data)||void 0===t?void 0:t.message)||"Validation failed")}catch(t){console.error("❌ Validation error:",t);let e="Validation failed. Please check your email and mobile number.";(null===(r=t.response)||void 0===r?void 0:null===(i=r.data)||void 0===i?void 0:i.message)?e=t.response.data.message:(null===(s=t.response)||void 0===s?void 0:null===(n=s.data)||void 0===n?void 0:n.error)?e=t.response.data.error:t.message&&(e=t.message),l().fire({icon:"error",title:"Validation Error",text:e});return}try{let e=T.startsWith("+")?T:"+".concat(T),t={email:P,mobile_number:e,full_name:_,password:w,country:V,location:V,doctor_speciality:a,package_id:o.id,package_name:o.name,package_price:o.price,package_description:o.description,ip_address:x,timestamp_client:j,terms_version:"v1.0",terms_accepted:!0,signedup_by:"doctor",accepted_by:"doctor",payment_status:"draft"},i=await u.ZP.post("/doctor/auth/signup/checkout/",t);if(200===i.status&&(null===(c=i.data)||void 0===c?void 0:c.status)){let e=null===(p=i.data)||void 0===p?void 0:null===(d=p.data)||void 0===d?void 0:d.checkout_url;if(e)window.location.href=e;else throw Error("Checkout URL not found in response")}else throw Error((null===(m=i.data)||void 0===m?void 0:m.message)||"Checkout failed")}catch(t){console.error("❌ Checkout error:",t);let e="Failed to complete checkout. Please try again.";(null===(g=t.response)||void 0===g?void 0:null===(h=g.data)||void 0===h?void 0:h.message)?e=t.response.data.message:(null===(v=t.response)||void 0===v?void 0:null===(f=v.data)||void 0===f?void 0:f.error)?e=t.response.data.error:t.message&&(e=t.message),l().fire({icon:"error",title:"Checkout Error",text:e})}};return(0,i.jsxs)("div",{className:"signup-page",children:[(0,i.jsx)(m.Z,{title:"Join as a Doctor | List Your Practice | Virtual Triage",description:"Sign up as an independent practitioner on Virtual Triage. Reach more UK patients, manage bookings, and run secure video consultations.",canonical:"https://virtualtriage.ai/doctor-signup"}),(0,i.jsxs)("div",{className:"signup-container",children:[(0,i.jsxs)("div",{className:"package-details-section",children:[(0,i.jsxs)("div",{className:"package-header",children:[(0,i.jsx)("img",{src:"https://virtualtraige.nyc3.cdn.digitaloceanspaces.com/Logo.jpg",alt:"Virtual Triage",className:"package-logo"}),(0,i.jsx)("h2",{className:"package-title",children:"Chosen Plan"}),(0,i.jsx)("p",{className:"package-subtitle",children:"Start your journey with Virtual Triage and join thousands of healthcare professionals"})]}),(0,i.jsx)("div",{className:"package-cards",children:o?(0,i.jsxs)("div",{className:"package-card selected",children:[(0,i.jsxs)("div",{className:"package-card-header",children:[(0,i.jsx)("h3",{className:"package-name",children:o.name}),(0,i.jsxs)("div",{className:"package-price",children:[(0,i.jsxs)("span",{className:"price-amount",children:["\xa3",o.price]}),(0,i.jsxs)("span",{className:"price-period",children:["/",o.name&&o.name.toLowerCase().includes("year")?"year":"month"]})]})]}),(0,i.jsx)("p",{className:"package-description",children:o.description||"Package description not available."}),(0,i.jsx)("ul",{className:"package-features",children:(0,p.K)(o.name).map((e,t)=>(0,i.jsxs)("li",{children:[(0,i.jsx)(c.FJM,{className:"signup-feature-icon"})," ",e]},t))})]}):(0,i.jsx)("div",{className:"package-loading",children:(0,i.jsx)("p",{children:"Loading package details..."})})})]}),(0,i.jsx)("div",{className:"signup-form-section",children:(0,i.jsxs)("div",{className:"form-container",children:[(0,i.jsx)("h3",{className:"form-title",children:"Create Your Account"}),(0,i.jsx)("p",{className:"form-subtitle",children:"Join Virtual Triage and start providing exceptional care"}),(0,i.jsxs)("form",{children:[(0,i.jsxs)("div",{className:"inputBox",children:[(0,i.jsx)("label",{children:"Full Name"}),(0,i.jsx)("input",{className:"input-field",type:"text",placeholder:"Enter Your Full Name",style:{color:"black"},value:_,onChange:e=>C(e.target.value),required:!0}),(0,i.jsx)("label",{children:"Email"}),(0,i.jsx)("input",{className:"input-field",type:"email",placeholder:"Enter Your Email",style:{color:"black"},value:P,onChange:e=>A(e.target.value),required:!0}),(0,i.jsx)(s(),{className:"input-field",country:"us",value:T,onChange:e=>{E("string"==typeof e?e:(null==e?void 0:e.phone)||"")},placeholder:"Enter phone number",preferredCountries:["us","gb","ca","au"]}),(0,i.jsx)("label",{children:"Password"}),(0,i.jsxs)("div",{className:"input-group",children:[(0,i.jsx)("input",{className:"input-field",type:j,onChange:e=>{k(e.target.value),S({hasLow:/[a-z]/.test(e.target.value),hasCap:/[A-Z]/.test(e.target.value),hasNumber:/\d/.test(e.target.value),hasSpecial:/[!@#$%^&*(),.?":{}|<>]/.test(e.target.value),isMinLength:e.target.value.length>=8})},value:w,placeholder:"Password",style:{color:"black"},required:!0}),(0,i.jsx)("button",{type:"button",className:"eyebtn",onClick:()=>{b("password"===j?"text":"password")},"aria-label":"password"===j?"Show password":"Hide password",children:"password"===j?(0,i.jsx)(c.tgn,{}):(0,i.jsx)(c.dSq,{})})]}),w&&(0,i.jsxs)("div",{className:"password-requirements",style:{marginTop:"8px",padding:"12px",backgroundColor:"#f8f9fa",borderRadius:"8px",fontSize:"13px",textAlign:"left"},children:[(0,i.jsx)("p",{style:{margin:"0 0 8px 0",fontWeight:"600",color:"#333"},children:"Password Requirements:"}),(0,i.jsxs)("ul",{style:{margin:"0",paddingLeft:"20px",listStyle:"none"},children:[(0,i.jsxs)("li",{style:{color:N.isMinLength?"#28a745":"#dc3545",marginBottom:"4px"},children:[N.isMinLength?"✓":"✗"," At least 8 characters"]}),(0,i.jsxs)("li",{style:{color:N.hasLow?"#28a745":"#dc3545",marginBottom:"4px"},children:[N.hasLow?"✓":"✗"," At least one lowercase letter"]}),(0,i.jsxs)("li",{style:{color:N.hasCap?"#28a745":"#dc3545",marginBottom:"4px"},children:[N.hasCap?"✓":"✗"," At least one uppercase letter"]}),(0,i.jsxs)("li",{style:{color:N.hasNumber?"#28a745":"#dc3545",marginBottom:"4px"},children:[N.hasNumber?"✓":"✗"," At least one number"]}),(0,i.jsxs)("li",{style:{color:N.hasSpecial?"#28a745":"#dc3545",marginBottom:"4px"},children:[N.hasSpecial?"✓":"✗",' At least one special character (!@#$%^&*(),.?":',"|<>)"]})]})]}),(0,i.jsxs)("select",{className:"form-select",value:V,onChange:e=>L(e.target.value),required:!0,children:[(0,i.jsx)("option",{value:"",disabled:!0,children:"Select Country"}),(0,i.jsx)("option",{value:"United Kingdom",children:"United Kingdom"}),(0,i.jsx)("option",{value:"Canada",children:"Canada"}),(0,i.jsx)("option",{value:"United States",children:"United States"}),(0,i.jsx)("option",{value:"Pakistan",children:"Pakistan"})]}),(0,i.jsxs)("select",{className:"form-select",value:a,onChange:e=>n(e.target.value),required:!0,children:[(0,i.jsx)("option",{value:"",disabled:!0,children:"Select Speciality"}),e.map(e=>(0,i.jsx)("option",{value:e.Hospital_Speciality_Name,children:e.Hospital_Speciality_Name},e.Hospital_Speciality_id))]})]}),(0,i.jsx)("div",{className:"terms-checkbox-container",style:{marginTop:"20px",marginBottom:"20px"},children:(0,i.jsxs)("label",{style:{display:"flex",alignItems:"flex-start",cursor:"pointer",fontSize:"14px",color:"#333"},children:[(0,i.jsx)("input",{type:"checkbox",checked:U,onChange:e=>q(e.target.checked),required:!0,style:{marginRight:"10px",marginTop:"3px",cursor:"pointer",width:"auto"}}),(0,i.jsxs)("span",{style:{textAlign:"left"},children:["I confirm that I have read, understood and agree to the"," ",(0,i.jsx)("a",{href:"/terms-and-conditions",target:"_blank",rel:"noopener noreferrer",style:{color:"#007bff",textDecoration:"underline"},children:"Terms & Conditions"}),","," ",(0,i.jsx)("a",{href:"/privacy-notice",target:"_blank",rel:"noopener noreferrer",style:{color:"#007bff",textDecoration:"underline"},children:"Privacy Notice"}),","," ",(0,i.jsx)("a",{href:"/cookie-policy",target:"_blank",rel:"noopener noreferrer",style:{color:"#007bff",textDecoration:"underline"},children:"Cookie Policy"}),", and"," ",(0,i.jsx)("a",{href:"/clinician-provider-agreement",target:"_blank",rel:"noopener noreferrer",style:{color:"#007bff",textDecoration:"underline"},children:"Clinician Provider Agreement"}),", and that I am legally authorised and appropriately insured to provide clinical services."]})]})}),(0,i.jsx)("div",{className:"text-center",children:(0,i.jsx)("button",{type:"button",className:"submit-button ".concat(B()?"":"disabled"),onClick:K,disabled:!B(),children:"Proceed to Checkout"})})]})]})})]})]})}},9008:function(e,t,a){e.exports=a(3867)}},function(e){e.O(0,[8166,7555,2888,9774,179],function(){return e(e.s=5084)}),_N_E=e.O()}]);