Lead #928

Company
The Spine Lab
Website
https://thespinelab.janeapp.co.uk
Best Contact
Dr Ella Pusey — Founder
Email
contact@thespinelab.co.uk (person)

Override

Captured Pages

View text

                    
View text

                    
View text

                    
View text

                    
View text

                    
View text

                    
Emails: contact@thespinelab.co.uk
View text
Toggle navigation Hello. Are you a current patient? Sign in Back Account Links Sign In or Sign Up document.addEventListener('DOMContentLoaded', function() { const logoutRefreshEnabled = true const current_user_guid = null try { if (logoutRefreshEnabled && current_user_guid && window && typeof window.userSessionCheck === 'function') { window.userSessionCheck(current_user_guid, '/') } } catch (error) { // eslint-disable-next-line no-console console.error('Unable to check user id to reload', error) } }); Book an Appointment Booking Links View Availability by Month Welcome to our online booking site Treatments Treatment Chiropractic Book by Practitioner Book Chiropractic by Practitioner Ella Pusey Ella Pusey Book by Treatment Book Chiropractic by Treatment New Patient Consultation & Treatment 60 minutes - £50.00 - Offered by Ella Pusey Results Session 40 minutes - £40.00 - Offered by Ella Pusey Chiropractic Treatment 20 minutes - £35.00 - Offered by Ella Pusey Baby New Patient Consultation 60 minutes - £50.00 - Offered by Ella Pusey Chiropractic Treatment - PAY as you go 20 minutes - £40.00 - Offered by Ella Pusey The perfect gift for any occasion Create a gift card code you can send to a friend or loved one for products or services at The Spine Lab. Sign In To Buy Gift Card Back to Booking Page Ella Pusey The Founder of The Spine Lab Dr Ella Pusey DC is a UK trained qualified chiropractor graduating with a Masters degree from the Anglo European Chiropractic College. Ella previously played professional football at Southampton FC whilst studying for her degree. Over this time, she developed an appreciation of the bodies’ biomechanics & established her love for chiropractic care to aid human bodily function. Ella is passionate about overcoming injuries to reach optimal performance in a competitive environment. Additionally, Ella is also dedicated to support patients to achieve their everyday goals to improve their overall wellbeing and quality of life. Ella is well experienced, fully accredited and registered with the GCC and BCA. The Founder of The Spine Lab Dr Ella Pusey DC is a UK trained qualified chiropractor graduating ... Read More Select a treatment from the list on the left to view available appointment times Located at: 35 Church Rd, Kalm Space, Poole Directions & Map | Need Help? 07379752860 contact@thespinelab.co.uk Booking by Jane. See Jane run your practice. Terms of Use Privacy Policy function deepMerge(obj1, obj2) { for (let key in obj2) { if (!obj2.hasOwnProperty(key)) { continue; } if (obj2[key] instanceof Object && obj1[key] instanceof Object) { obj1[key] = deepMerge(obj1[key], obj2[key]); } else { obj1[key] = obj2[key]; } } return obj1; } var staticTranslations = { "en-GB": { "assets": { "javascript": { "insurance_upload": { "add_additional_policy": "Add Additional Policy", "back": "Back", "browse_files": "Browse Files", "camera_off": "Close", "confirm_photo": "Looks Good", "delete_file": "Remove File", "delete_insurance_image_error": "There was a problem deleting your insurance card image", "delete_policy_error": "There was a problem deleting your policy", "drag_and_drop_here": "Drag and drop image here", "drag_drop_instructions": "Drag and drop to upload or browse to choose a file", "existing_claim": { "add_new_policy": "Add Additional Policy", "card_mode": { "both_sides": "Both Sides of the Insurance Card", "front": "Front of the Insurance Card", "none": "None" }, "existing_policy": "You already have a policy on file", "insurance_info": "Insurance Information", "insurer": "Insurer", "referring_physician": "Referring Physician" }, "existing_policy": { "multiple_policies": "multiple insurance policies", "single_policy": "an insurance policy", "you_already_have_on_file": "You already have %{policy_phrase} on file", "you_can_add": "If your coverage has updated recently, you can add your new insurance policy below." }, "insurance_card_mode": { "options": { "back": "Back", "both_sides": "Both Sides", "disabled": "Disabled", "front": "Front", "optional": "Optional" } }, "insurance_information": "Insurance Information", "insured_persons_address": "Insured person's address", "insured_persons_birth_date": "Insured person's birth date", "insured_persons_information": "Insured person's information", "insureds_country": "Country", "insureds_first_name": "First Name", "insureds_last_name": "Last Name", "insureds_middle_initial": "Middle Initial", "insureds_relationship": { "options": { "child": "Child", "disabled": "Disabled Dependent", "domestic_partner": "Domestic Partner", "full_time_student": "Student (Full-time)", "other": "Other", "part_time_student": "Student (Part-time)", "self": "Self", "spouse": "Spouse" } }, "insureds_sex": "Sex", "insureds_sex_prompt": "Select a sex", "insureds_street": "Street Address", "insurer": "Insurer", "insurer_back_description": "Back of the card", "insurer_front_description": "Front of the card", "insurer_prompt": "Select an insurer", "member_id": "Claim Number / Authorisation Code", "notify_photo_file_type_requirement": "Incompatible file type (jpg, jpeg, png, tiff, tif, bmp, heic, or heif file types only)", "or": "or", "photo_file_type_requirement": "Supported files: JPEG, JPG and PNG", "photo_required": "Photo(s) required - Please upload image(s) of your insurance card.", "photo_size_requirement": "Maximum file size: 12MB", "plan_number": "Policy / Membership Number", "relationship_insurer": "Relationship to the insured person", "relationship_insurer_prompt": "Select an Insurer", "relationship_prompt": "Select a relationship", "remove_policy": "Remove Policy", "required": "Required", "retake_photo": "Retake", "save_and_continue": "Save and Continue", "skip_modal": { "are_you_sure": "Are you sure you want to skip?", "cancel": "Cancel", "skip": "Skip", "will_not_be_saved": "The insurance information added to this intake form will not be saved.", "yes_skip": "Yes, skip" }, "submit_error": "There was a problem submitting your insurance information", "submit_insurance_image_error": "There was a problem uploading your insurance card image", "submit_insurance_image_oversize_error": "You cannot upload an image exceeding 12MB.", "take_photo": "Take Photo", "update_file": "Update File", "upload_photo": "Upload Photo", "validation_errors": { "claim_number": "Please enter your Claim Number or Authorisation Code.", "policy_number": "Please enter your Policy or Membership Number.", "relationship": "Please enter your relationship to the insured person." }, "video_input": "Video Input", "your_insurance_policy": "Your insurance policy" }, "jane_payments_edit": { "payout_description": "You'll receive your Jane Payments payout, minus the fees, every 3 business days. You can check your Jane Payments Transactions and Payouts reports for details. If you need to update or verify your banking info, you can click the 'Go to Stripe' button." }, "notification_prefs": { "email": "Email", "phone": "Telephone", "send_notifications": "I would like email notifications of new, cancelled, and rescheduled appointments", "sms": "Text Message (SMS)", "sms_rates_may_apply": "Standard messaging & data rates may apply, messaging frequency can vary and you can update your preferences anytime." }, "payments_get_started": { "payout_timing": "Transactions are paid out 3 business days later" }, "pronouns": { "pronouns": "Pronouns" }, "public": { "formats": { "hour": "HH:00" }, "templates": { "calendar": { "add_to_list": "Add yourself to the wait list.", "add_to_staff_list": "Add yourself to %{staff_name}'s wait list.", "available": "Available", "book_more": "Book More", "booked": "Booked", "call_to_book": "Contact To Book", "close": "Close", "cookies_required": { "header": "You don't want Jane's cookies?", "header2": "They're needed to book online with Jane", "required1": "Cookies are a technical requirement for you to interact and book with Jane. A cookie is a small encrypted file that lets Jane identify you as you click around. The cookie does not contain any sensitive personal information.", "required2": "You may need to set your browser to accept cookies from this site. <a href=\"http://www.whatarecookies.com/enable.asp\"><u>Here is a helpful site</u></a> with instructions on how to enable cookies in your browser.</p>", "required3": "To find out more about how cookies are used on this site, you can read our <a href=\"https://jane.app/privacy\"><u>privacy policy</u></a>." }, "event_group": { "one_available": "time available.", "two_or_more_available": "times available." }, "event_view": { "please_call": "Please contact us to book this %{treatment_term}: %{primary_phone} %{email}.", "sorry_not_available": "Sorry, this appointment time is no longer available" }, "heads_up": "%{staff_member_name}'s first availability is %{date}. We've jumped ahead to that date for you.", "heads_up_header": "Heads Up!", "heads_up_profession": "The first availability for %{profession} is %{date}. We've jumped ahead to that date for you.", "im_done": "I'm Done", "next_2": "Next 2 Days", "next_7": "Next 7 Days", "next_day": "Next Day", "next_days": "Next Days", "no_appointments": "No Availability", "open_calendar": "Open Calendar", "previous_2": "Previous 2 Days", "previous_7": "Previous 7 Days", "previous_day": "Previous Day", "previous_days": "Previous Days", "rescheduled": "Your appointment has been rescheduled.", "reserve": { "_on": "on", "book_more": "Book More", "complete_booking": "Continue...", "held": "The following time is being held for 10 minutes:", "not_done": "You're not done yet.", "whoops": "Whoops, don't book that!" }, "select_visit_time": "Select a visit time:", "staff_nav_title": "Available appointments for %{staff_name} on %{date}", "thanks_for_booking": "Thanks for Booking", "to": "To", "today": "Today", "unavailable": "Unavailable", "view_staff_name_schedule": "View %{staff_name}'s Weekly Schedule", "whoops": "Whoops, don't book that!", "youve_just_booked": "You've just booked a %{description} on %{date} at %{time}.", "youve_just_rescheduled": "You've just rescheduled your %{description} visit from %{previous_date} to %{date} at %{time}." }, "selected_appointments": { "index": { "appointment": "Appointment", "appointments": "Appointments", "confirm_bookings": "Confirm Bookings", "no_appointments": "No Availability", "not_selected": "You have not selected any appointments." } }, "treatments": { "index_discipline": { "add_yourself": "add yourself to the wait list.", "back_to_practitioner_list": "Back to Booking Page", "cant_find_time": "Can't find a time?", "no_treatments": "No %{treatments_term}", "select_a_treatment": "Select a %{treatment_term} to view available appointment times for all %{professional_title_plural}:", "view_all": "View all %{professional_title_plural}" }, "index_staff_member": { "no_online_bookable": "No Online Bookable %{treatments_term}", "see_availability_of_all": "See availability of all", "select_a_treatment": "Select a %{treatment_term}", "try_shorter": "Try selecting a shorter %{treatment_term}." } } }, "views": { "account": { "confirm_email_update": "Confirm", "create_password": "Don't have a password? Click here to create one.", "create_password_label": "By clicking this, an email with the link to create a username and password will be sent to you.", "current_email": "Current Email", "current_mobile_phone": "Current Mobile Phone", "edit_email_btn_text": "Edit", "edit_email_modal_label": "Enter the new email address for %{name}, or leave it blank to remove the existing email.", "edit_email_modal_title": "Edit Email", "edit_mobile_phone_modal_label": "Enter the new mobile phone number for %{name}, or leave it blank to remove the existing mobile phone.", "edit_mobile_phone_modal_title": "Edit Mobile Phone", "email_update_instructions": "For security purposes, please identify yourself by confirming your password", "fail_to_send_password_create_link": "Something went wrong", "forgot_password_label": "This action will require you to revisit this section again", "forgot_your_password": "Forgot your password?", "new_email": "New Email", "new_email_error": "Please enter a valid email, we only allow letters (a-z), numbers (0-9), and a few extra characters.", "new_mobile_phone": "New Mobile Phone", "password_error": "Please enter your password", "password_strength": { "levels": { "excellent": "Excellent", "good": "Good", "okay": "Okay", "very_weak": "Very Weak", "weak": "Weak" }, "warnings": { "common": "This is a commonly used password.", "common_names": "Common names and surnames are easy to guess.", "dates": "Dates are easy to guess.", "extended_repeat": "Repeated character patterns like \"abcabcabc\" are easy to guess.", "key_pattern": "Short keyboard patterns are easy to guess.", "names_by_themselves": "Single names or surnames are easy to guess.", "recent_years": "Recent years are easy to guess.", "sequences": "Common character sequences like \"abc\" are easy to guess.", "similar_to_common": "This is similar to a commonly used password.", "simple_repeat": "Repeated characters like \"aaa\" are easy to guess.", "straight_row": "Straight rows of keys are easy to guess.", "top_hundred": "This is a frequently used password.", "top_ten": "This is a heavily used password.", "word_by_itself": "Single words are easy to guess." } }, "sent_password_create_link": "An email has been sent with a link to create your username and password", "successfully_updated_email": "The email address of the account has been changed.", "successfully_updated_mobile_phone": "The mobile phone number of the account has been changed.", "your_password": "Your Password" }, "calendar": { "no_bookings_selected": "No Bookings Selected", "no_staff_scheduled": "No staff scheduled for %{date}.", "sorry_could_not_be_cancelled": "Sorry, this appointment could not be cancelled. Please check your %{phrases_account} page or contact us to confirm." } } }, "signature_widget": { "change_style": "Change Style", "clear": "Clear", "draw": "Draw", "sign_again": "Sign Again", "signature": "Signature", "type": "Type", "type_here": "Type your signature here" } } }, "companies": { "setup": { "begin": { "next_step": "Continue" }, "bookmark": { "admin_site": "<strong>Admin Site</strong> for you and your staff", "bookmark_pages": "Bookmark these pages", "next_step": "Got it!", "online_booking_site": "<strong>Online Booking Site</strong> for your %{patient_term}", "share_and_bookmark_url": "Here are important URLs to Share & Bookmark" }, "loading": "Loading..." } }, "date": { "formats_js": { "weekday_month_day": "%{weekday} %{day} %{month}" }, "order": [ "day", "month", "year" ] }, "dictionary": { "address": { "city": "City", "postal": "Postal Code", "province": "County", "state": "State", "street_address_2": "Flat Number", "street_address_2_placeholder": "Flat Number (i.e. Flat #100)" }, "amount": "Amount", "at": "at", "at_time": "at", "author": "Author", "available": "Available", "back": { "term": "Back" }, "before_appointment": "before appointment", "cancel": { "past_tense": "cancelled", "present": "cancel", "term": "Cancel" }, "card_number": "Card number", "cash": "cash", "close": "Close", "collapse": "Collapse", "colon_symbol": ":", "continue": "Continue", "copied": "Copied", "copy": "Copy", "date": "Date", "day": { "one": "day", "other": "days" }, "deductible": { "term": "Excess", "unmet_term": "Unmet Excess" }, "delete": "delete", "details": "Details", "document": { "plural": "Documents" }, "email": "Email", "expand": "Expand", "family_doctor": "GP", "get_started": "Get Started", "hour": { "one": "hour", "other": "hours" }, "language": "language", "license": "License", "minute": { "one": "minute", "other": "minutes" }, "mobile_phone_number": "Mobile Phone Number", "month": { "one": "month", "other": "months" }, "more": "more", "name": "Name", "next": "Next", "no_show": { "one": "%{count} DNA", "other": "%{count} DNA's", "plural": "Did Not Arrive", "term": "Did Not Arrive" }, "on": "on", "or": "or", "other": "Other", "password": "Password", "payment": "Payment", "practitioner": "Practitioner", "preview": "Preview", "previous": "Previous", "print": "Print", "profile": "profile", "profiles": "profiles", "public_holiday": "Bank holiday", "ratings": { "errors": { "and": "and ", "every": "every", "first": "first ", "first_visit_and": "first visit and ", "other": " other", "recurring_visit_counts_text": [ "", "every", "second", "third", "fourth", "fifth", "sixth", "seventh", "eighth", "ninth", "tenth" ] } }, "receipt": "Receipt", "receipts": "Receipts", "required": "Required", "required_dash": "- Required", "reschedule": { "past_tense": "rescheduled" }, "save": "Save", "schedule": { "lowercase": "diary", "term": "Diary" }, "sms": "Text", "statement": "Statement", "statement_alternate": "", "status": "Status", "statuses": { "complete": "Complete", "deleted": "Deleted", "incomplete": "Incomplete" }, "today": "today", "tomorrow": "tomorrow", "user": "User", "username": "Username", "week": { "one": "week", "other": "weeks" }, "with": "with", "year": { "one": "year", "other": "years" } }, "email": { "pay": { "balance": { "intro": "You have an account balance of %{amount} which you can pay through the patient portal." } } }, "helpers": { "account_helper": { "email_or_phone": "An email address or a phone number is required for your %{phrases_account}.", "email_sent": "Email Sent. Please check your email and click the link to confirm your email address.", "password_reset_link_text": "Forgot your password? Click here to receive an email to reset your password", "problem_with_email": "There is a problem with your email address. Please check that it is entered correctly.", "problem_with_number": "There is a problem with your mobile number. Please check that it is entered correctly.", "sending_email": "Sending email...", "verified": "Verified", "verify_email_address": "Verify Email Address", "verify_mobile_number": "Verify Mobile Number" }, "page_entries_info": { "entry": { "one": "entry", "other": "entries", "zero": "entries" }, "more_pages": { "display_entries": "Displaying %{entry_name} <b>%{first}&nbsp;-&nbsp;%{last}</b> of <b>%{total}</b> in total" }, "one_page": { "display_entries": { "one": "Displaying <b>1</b> %{entry_name}", "other": "Displaying <b>all %{count}</b> %{entry_name}", "zero": "No %{entry_name} found" } } }, "prefixes": "Dr\nMrs\nMs\nMiss\nMr\nMx", "provider_number_names": { "default": [ "License", "SSN", "SIN" ], "us_specific": [ "License", "EIN", "NPI", "SSN", "SIN", "TIN", "Taxonomy" ] }, "select": { "prompt": "Please select" }, "submit": { "create": "Create %{model}", "submit": "Save %{model}", "update": "Update %{model}" }, "users_helper": { "account_cancel_view": "With your Online %{phrases_account} you will be able to cancel upcoming appointments, and view your appointment history.", "account_schedule_cancel_view": "With your Online %{phrases_account} you will be able to schedule appointments, cancel upcoming appointments, and view your appointment history.", "account_schedule_view": "With your Online %{phrases_account} you will be able to schedule appointments, and view your appointment history." } }, "intake_forms": { "account": { "create": { "button": "Create Account", "description": "Create an account to manage or review your intake forms." }, "logged_in": { "button": "My Account", "description": "Visit your account to manage or review your intake forms." }, "sign_in": { "button": "Sign In", "description": "Sign in to your account to manage or review your intake forms." } }, "archived_form": "No need to fill out this form - it is no longer required", "complete": { "go_to_my_account": "Go to My %{phrases_account}", "thank_you": "Thank you!" }, "consents": { "appointment_notifications": "Appointment Notifications and Reminders", "communication": "Communication", "consents": "Consents", "email_communication": "Email Communication", "marketing_emails": "News and Special Promotions", "marketing_emails_agree": "Yes, I would like to receive news and special promotions by email", "opt_in": "You can opt to receive emails to keep you informed of new bookings, changes to your bookings, and reminders for upcoming appointments.", "submit_form": "Submit Intake Form", "transactional_emails": "Transactional Emails" }, "credit_card": { "add_credit_card_title": "Add a credit card", "credit_card_information": "Credit Card Information", "we_accept": "We accept %{cards}." }, "credit_card_information": "Credit Card Information", "dob": "Date of Birth", "email": "Email", "emergency_contact": { "name": "Emergency Contact", "phone": "Emergency Contact Phone", "relationship": "Emergency Contact Relationship" }, "employer": "Employer", "family_doctor": { "email": "Family Doctor Email (if known)", "name": "Family Doctor", "phone": "Family Doctor Phone (if known)" }, "fill_new_intake_form": { "go_to_my_account": "Go to My %{phrases_account}", "message": "You've received an updated Intake Form. Please go to your My Account page and select Intake Forms." }, "first_name": "First Name", "form_error": "There was an error saving this form. Please review and try again.", "gender": "Sex", "guardian_name": "Guardian", "hints": { "gender": "This field may be used for submitting claims to your insurance provider. Please ensure the sex you provide here matches what your insurance provider has on file or what is indicated on your medical record.", "identifying_gender": "Refers to current gender which may be different than what is indicated on your insurance policies or medical record.", "mobile_phone": "A mobile phone is required if you would like to receive SMS appointment reminders." }, "identifying_gender": "Gender", "in_progress_by_other_author": "No need to fill out this form--it's already being worked on", "insurance_information": "Insurance Information", "last_name": "Last Name", "last_updated": "Last Updated", "new": { "agree_and_continue": "Agree & Continue", "consent_agreement": "Your answers will be submitted at the end of each step and may be reviewed by your clinic along the way to support your care. By continuing, you consent to the collection and use of your personal information.", "contact_us_for_other": "If you need to fill out an intake form for someone other than %{patient_name}, such as a family member or child, please contact us.", "patient_name": "%{patient_name}", "you_are_filling_form_for": "You are filling out an intake form for" }, "occupation": "Occupation", "only_staff_members_can_edit": "Only staff members can edit this information on an intake form.", "phone": { "fax": "Fax Phone", "home": "Home Phone", "mobile": "Mobile Phone", "work": "Work Phone" }, "policy_item_description": "Insurance Policy %{index}", "prefix": "Prefix / Title", "profile": { "female": "Female", "male": "Male", "other_gender": "X" }, "profile_info": "Profile Information", "questionnaires": { "error_message": "Please check that all required questions have been answered.", "questionnaires": "Questionnaires" }, "referral_source": "How Did You Hear About Us?", "referred_to": "Who Were You Referred To?", "referring_professional": { "email": "Referring Professional Email (if known)", "name": "Name of Referring Professional", "phone": "Referring Professional Phone (if known)" }, "required": "This field is required", "resend_token": { "check_email": "You can go ahead and close this tab now, a new link should be arriving in your email shortly.", "token_sent": "Thanks, a new link is on the way!" }, "step": "Step %{current} of %{steps}", "street_address": "Street Address", "submitted_form": { "author": "You’ve already submitted this form", "non_author": "This form has already been submitted" }, "thanks": "Thanks, we've received your info.", "token_expired": { "expired_header": "Uh oh! Your token is expired", "send_new_token": "Send a fresh link to my email", "send_new_token_helper": "In order to keep your data secure, we'll need to send you a new link. Click the button below to have a new link sent to your email." }, "you_are_completing": "You are completing the following intake forms: %{form_names}", "you_are_completing_one": "You are completing the intake form: **%{form_names}** for **%{patient_name}**" }, "language": "english", "notifications": { "email": { "failed": "Email not sent. Please check notification settings", "success": "Email successfully sent" } }, "number": { "currency": { "format": { "delimiter": ",", "format": "%u%n", "negative_format": "-%u%n", "precision": 2, "round_mode": "default", "separator": ".", "significant": false, "string": "%{unit}%{number}", "strip_insignificant_zeros": false, "unit": "£" } }, "format": { "delimiter": ",", "precision": 3, "round_mode": "default", "separator": ".", "significant": false, "strip_insignificant_zeros": false }, "human": { "decimal_units": { "format": "%n %u", "units": { "billion": "Billion", "million": "Million", "quadrillion": "Quadrillion", "thousand": "Thousand", "trillion": "Trillion", "unit": "" } }, "format": { "delimiter": "", "precision": 3, "significant": true, "strip_insignificant_zeros": true }, "storage_units": { "format": "%n %u", "units": { "byte": { "one": "Byte", "other": "Bytes" }, "eb": "EB", "gb": "GB", "kb": "KB", "mb": "MB", "pb": "PB", "tb": "TB", "zb": "ZB" } } }, "nth": {}, "percentage": { "format": { "delimiter": "", "format": "%n%" } }, "precision": { "format": { "delimiter": "" } } }, "patients": { "home_or_mobile": { "help_text": "A mobile OR home phone number is required to update your contact info." }, "personal_health_number": { "term": "Personal Health Number" }, "plural_term": "Patients", "preferred_name": { "help_text": "This is the name you identify with. Providing this allows the staff to address you appropriately.", "term": "Preferred Name (if different)" }, "referral_sources": "Friend\nPhysician / Specialist\nOnline Ad\nWeb Search\nOther", "term": "Patient" }, "phrases": { "account": "Account", "account_lookup": "%{phrases_account} Lookup", "add_this_account": "Add this account", "adjuster_email": "Case Manager Email", "adjuster_name": "Case Manager Name", "adjuster_phone": "Case Manager Phone", "adjuster_title": "Case Manager", "appointment_history": "Appointment History", "appointment_not_cancellable_online": "Sorry, this appointment is no longer cancellable online. Please call to cancel.", "appointment_reminder": "Appointment Reminder", "appointment_reminders": "Appointment Reminders", "auth_number": "Authorisation Code", "back_to_practitioner_list": "Back to Booking Page", "before_appointment": null, "book_an_appointment": "Book an Appointment", "booking_information": "Booking Information", "call_to_cancel": "Contact to Cancel", "cant_find_time": "Can't find a time?", "capacity_warning": "Maximum number of participants for this treatment is %{capacity}", "changed_users": "You have changed users, please wait while the page refreshes.", "claim_awaiting_warning": "This policy’s details have been provided by the %{patient_term} and are currently Awaiting Review. In order to add this policy to any purchases and generate claims, you will first need to review the details below and approve them by clicking \"Save and Approve\"", "click_here_to_reset": "Click here to reset your credentials.", "confirm_bookings": "Confirm Bookings", "confirm_new_password": "Confirm New Password", "confirm_password": "Confirm Password", "create_an_account": "Create an %{phrases_account}", "credit_card_cta": "Go to Credit Cards on File.", "credit_card_expired": "Credit card on file has expired.", "credit_card_expiry_soon": "Credit card on file is expiring soon.", "credit_card_please_update": "Please update your payment details to avoid any interruption in booking appointments and paying balances.", "credit_cards_on_file": "Credit Cards on File", "current_password": "Current Password", "deductible": { "hint": "Enable this field if this insurer ever requires your %{patients_term} to pay a per-visit patient excess or meet an annual excess." }, "done": "Done", "email_address": "Email Address", "enter_contact_info_to_access": "Enter your email address and we will send you an email or text message with instructions to access your %{phrases_account}.", "enter_mobile_phone_number": "Enter your mobile phone number", "enter_your_password": "Enter your password", "family_members": "Family Members", "forgot_u_p": "Forgot your username or password?", "hello_name": "Hello %{first_name},", "hide_password": "Hide", "intake_form": "Intake form", "intake_form_reminder": "Attention: You have forms to complete", "intake_forms": "Intake Forms", "invalid_date": "Invalid date", "let_us_know_contact_info": "Let us know your contact information", "limited_availability": "Limited Availability", "lookup_my_account": "Lookup My %{phrases_account}", "messages": "Messages", "my_account": "My %{phrases_account}", "my_contact_info": "Contact Info", "need_more_time": "I need more time!", "new_password": "New Password", "no_staff_scheduled_for": "No staff scheduled for", "no_thanks_return_home": "No thanks, return to booking page", "optional": "Optional", "password_does_not_work": "Hmm, no luck on that password. Please give it another go.", "pay_balance": "Pay Balance", "phone_call": "Phone Call", "please_confirm_password": "Please confirm password", "please_contact_to_book": "Please contact us to book this %{treatment_term}. %{primary_phone} %{primary_email}", "please_enter": "Please enter %{name}", "please_enter_password": "Please enter a password", "please_enter_phone_number": "Please enter a phone number", "please_enter_u_email_or_mobile": "Please enter a username, email address, or mobile phone number", "please_enter_your_password": "Please enter your password.", "please_sign_in": "Please Sign In", "please_update_u_&_p": "Please update your sign in info.", "please_wait": "Please wait...", "policy_number": "Policy / Membership Number", "policy_number_long": "Policy / Membership / Registration Number", "policy_number_term_short": "Policy #", "provide_one_phone": "Please provide at least one phone number. Your mobile number can be used to look up your %{phrases_account}.", "read_more": "Read More", "reminder_preferences": "Notifications & Reminders", "request_another_code": "Request another code", "reset_password": "Reset Your Password", "reset_password_for": "Reset Password For", "return_home": "Return to Booking Page", "return_to_my_account": "Return to My %{phrases_account}", "return_to_sign_in": "Return to Sign In", "session_expired": "Your session has expired. Please sign in again to continue.", "show_password": "Show", "sign_in": "Sign In", "sign_in_as": "Sign in as...", "sign_in_to_add_account": "Sign in to add this account", "sign_in_to_your_account_page": "Sign In to Your %{phrases_account} Page", "social_link": "Google, Facebook & Twitter", "stay_signed_in": "Stay signed in", "submit": "Submit", "successfully_signed_in": "Successfully Signed In", "text_message": "Text Message (SMS)", "thank_you_comma": "Thank you,", "thank_you_for_booking": "Thank You for Booking", "thanks_for_booking_upcoming_are": "Thanks for booking. Your upcoming appointments are:", "thanks_for_choosing": "Thanks for choosing %{company_name}.", "treatment_with_staff_member": "%{treatment_name} with %{staff_member_name}", "u_or_p": "Username or Email Address", "u_or_p_is_invalid": "Username or password is invalid. Please sign in again.", "upcoming_appointments": "Upcoming Appointments", "update_password": "Update Password", "update_password_for": "Update Password For", "username_password": "Username / Password", "username_password_incorrect": "Your username or password is incorrect. Please try again.", "verification_code": "Verification Code", "verification_code_incorrect": "Sorry, your verification code is incorrect. Please re-enter your verification code.", "view_account_page": "View Your %{phrases_account} Page", "wait_while_we_load_account": "Please wait while we load up your %{phrases_account}...", "weak_password": "The password you entered is quite commonly used. Jane checks your password against a list of the most commonly used passwords to help protect your %{phrases_account} from malicious access. Please enter a new password that is at least 8 characters long. We recommend a few words that tell a memorable story for you, like \"smallredbike\".", "welcome_back_enter_password": "Welcome back. Please enter your password.", "welcome_back_sign_in": "Welcome back. Please sign in...", "welcome_to_online_booking": "Welcome to our online booking site", "you_can_use_email": "You can use your email address or a username that is easy to remember.", "you_have_booked_appointment": "%{first_name}, you have booked an appointment.", "you_have_booked_appointments": "%{first_name}, you have booked %{amount} appointments.", "you_have_upcoming_plural": "Hello %{first_name}, you have %{amount} upcoming appointments.", "you_have_upcoming_single": "Hello %{first_name}, you have an upcoming appointment." }, "relationships": { "options": { "caretakee": "Caretakee", "caretaker": "Caretaker", "child": "Child", "co-parent": "Co-Parent", "dependent": "Dependent", "descendent_child": "Descendent / Child", "father": "Father", "friend": "Friend", "grandchild": "Grandchild", "grandparent": "Grandparent", "guardian": "Guardian", "mother": "Mother", "nanny": "Nanny", "other": "Other", "parent": "Parent", "partner": "Partner", "sibling": "Sibling", "spouse": "Spouse", "step-child": "Step-Child", "step-parent": "Step-Parent" } }, "reminders": { "auto_pay_balance": { "automated_text": "(Automated)" } }, "time": { "formats_js": { "calendar": "%A %B %-d, %Y at %-I:%M%p" } }, "treatments": { "plural_term": "Treatments", "term": "Treatment" }, "user": { "marketing_emails": "Yes, I would like to receive news and special promotions by email", "ratings_emails": "Yes, I would like to provide feedback about my experience" }, "views": { "add_family_member": { "add_button": "Add family member", "buttons": { "back": "Back", "cancel": "Cancel", "confirm_appointment": "Confirm appointment", "continue": "Continue" }, "cancel": "Cancel and go back", "errors": { "country_code_required": "Country code is required", "dob_required": "Date of birth is required", "email_invalid": "Email must be a valid email address", "email_required": "Email is required", "first_name": "First name is required", "health_number_required": "Personal Health Number is required", "invalid_phone_number": "Invalid phone number", "last_name": "Last name is required", "phone_required": "Phone is required", "phone_type_required": "Phone type is required", "relationship_to_you": "Please select the relationship to you" }, "fields": { "billing_permission": "I would like to give permission for this family member to bill their payments to my account", "date_of_birth": "Date of birth", "email": "Email", "first_name": "First name", "last_name": "Last name", "mobile_phone": "Mobile Phone", "phn": "Personal Health Number", "preferred_name": "Preferred name", "pronouns": "Pronouns", "relationship_to_you": "Relationship to you" }, "headings": { "almost_done": "You're almost done!", "appointment_details": "Appointment details", "contact_info": "Tell us about yourself", "create_account": "Create your account", "patient_contact_info": "Tell us about the person you're booking for", "review_appointment": "Review your appointment" }, "helper_text": { "preferred_name": "This is the name you identify with. Providing this allows the staff to address you appropriately." }, "labels": { "booking_for": "Are you booking for yourself?", "booking_for_label": "Booking for", "booking_for_other": "No, for someone else", "booking_for_self": "Yes, for myself", "country_code": "Country", "marketing_emails": "Want to get news and promotional emails?", "marketing_signup": "Yes, sign me up!", "paying_on_behalf": "Will you be paying on this person's behalf?", "personal_health_number": "Personal Health Number", "phone": "Phone", "phone_type": "Phone Type", "practitioner": "Practitioner", "referral_source": "How did you hear about us?", "referring_staff_member": "Who were you referred to?", "relationship_to_you": "Relationship to you", "select_family_member": "Select family member", "time_and_date": "Time and date", "treatment": "Treatment", "will_not_pay_on_behalf": "No", "will_pay_on_behalf": "Yes" }, "messages": { "review_details": "Before confirming, double check that the details are correct." }, "optgroups": { "all_countries": "All Countries", "common_countries": "Common Countries", "dob": "Date of birth is required", "phn": "Personal Health Number is required" }, "optional": "(Optional)", "placeholders": { "phone": "Phone number", "pronouns": "They/Them/Theirs", "select_option": "Select an option" }, "required": "(Required)", "select_options": { "day": "Day", "home": "Home", "mobile": "Mobile", "month": "Month", "staff_member": "Select a staff member", "year": "Year" }, "submit": "Confirm and add family member", "summary": { "heading": { "one": "To add this family member, 1 fix needs to be made:", "other": "To add this family member, %{count} fixes need to be made:" }, "link": "Review and fix the error" }, "title": "Add a family member" }, "mfa": { "2fa_description": "We want to make sure it’s really you who’s signing in by adding an extra layer of protection to your account.", "2fa_phone_code_instruction": "To enable 2-step verification, enter your mobile number below. You will receive a 6-digit code to confirm your number.", "2fa_title": "2-Step Verification", "authenticator_app": "Authenticator App", "authenticator_app_will_show_code": "Your authenticator app will show a code that you can use to sign in.", "check_your_auth_app": "Check your authenticator app", "check_your_messages": "Check your text messages", "choose_2sv_method": "Choose your default verification method to complete the setup.", "clinic_requires_mfa": "Your admin requires you to enable 2-Step Verification", "code_has_been_resent": "Your code has been re-sent", "confirm": "Confirm", "confirm_password_disable_2fa": "Please confirm your password to disable 2-step verification", "confirm_password_enable_2fa": "Enter your password to enable 2-step verification.", "default": "Default", "did_not_receive_code": "I didn't receive a code", "enable_2_step_verification": "Enable 2-step verification", "enter_code": "Enter code", "enter_code_auth_app": "Enter the code generated by your authenticator app to continue.", "enter_code_auth_app_setup": "Enter the code generated by your authenticator app to complete setup.", "enter_your_code": "Enter your code", "enter_your_phone_number_enable_2sv": "Enter your phone number to enable 2-step Verification.", "incorrect_code": "Your code is incorrect. Please try again.", "invalid_code_error": "Invalid code", "learn_more": "Learn more", "lost_access_to_mobile": "Lost access to your mobile?", "open_authenticator_app": "Install or open an authenticator app (such as Authy or 1Password) and scan the QR code below.", "please_enter_verification_code": "Please enter a verification code", "raw_code": "Or enter this setup key manually:", "remember_this_device": "Trust this browser to skip 2-step verification for 30 days", "secure_your_account_with_2sv": "Secure your account with 2-step verification", "set_as_default": "Set as default", "set_up_auth_app": "Set up authenticator app", "setup_steps": "Step %{current_step} of %{total_steps}", "skip_and_enable_later": "Skip and enable later", "skip_and_setup_later": "Skip and setup later", "sms_description": "Receive a code via text message (SMS) to your mobile phone.", "sms_title": "Text Messages", "text_message_sent_to": "A text message with a 6-digit code was just sent to", "text_message_sent_to_number_ending_html": "A text message with a 6-digit code was just sent to a number ending in <b>%{last_four_digits_phone_number}</b>.", "text_message_sms": "Text Message (SMS)", "totp_description": "The most secure method, and it even works without mobile service.", "totp_title": "Authenticator App (Recommended)", "will_receive_code_text_message": "You will receive a one-time code via text message to your mobile phone number each time you sign in.", "your_account_now_requires_2sv": "Your account now requires 2-step verification.", "your_admin_requires_2sv": "Your admin requires 2-Step Verification" }, "onboarding": { "bookmark_page": "Bookmark this page", "company_name_set_up": "%{company_name} Setup", "setup_username_and_password": "Set up a username and password", "step_one_of_three": "Step 1 of 3", "step_one_of_two": "Step 1 of 2", "step_three_of_three": "Step 3 of 3", "step_two_of_three": "Step 2 of 3", "step_two_of_two": "Step 2 of 2" }, "pay": { "index": { "balance_owing": "your balance owing is", "items_title": "Items", "page_title": "Pay" } }, "pre_pay": { "index": { "appointment_name_with_patient": "%{appointment_name} for %{patient_name}", "belonging_to": "(Belongs to %{relation_name})", "ccv_code": "CVV Code", "ccv_is": "A CVV code is the 3 or 4 digit code to the right of your signature strip on the back of your credit card.", "complete_card_on_file": "%{first_name}, to complete your booking, please put a credit card on file. It won't be charged at this time.", "complete_deposit": "%{first_name}, to complete your booking, please pay a deposit amount of", "complete_pay": "%{first_name}, to complete your booking, please pay the balance owing of", "ending_in": "ending in", "enter_card_number": "Enter your credit card number...", "enter_new_card": "Enter a New Card:", "enter_new_payment_method": "Enter a new payment method:", "expiry_month": "Expiry Month...", "expiry_year": "Expiry Year...", "items_title": "Appointments", "online_payments_processed_with": "Online payments processed with Jane Payments.", "other_invoices_warning": "We’re going to have to process your payment in multiple steps because you have items to pay to different practitioners or locations at %{company_name}. We’ll process %{primary_amount} first, and then the remaining %{other_amount} as separate transactions.", "pay": "Pay", "pay_with_card": "Pay with Card on File", "please_enter_valid": "Please enter a valid credit card", "please_pay": "%{first_name}, please pay", "please_provide": "Please provide payment information", "privacy_policy": "Privacy Policy", "save_credit_card": "Save Credit Card", "security_info": "Security Information", "use_card_on_file": "Use Your Card on File:", "use_other_payment_methods": "Pay using:", "we_accept": "We accept %{cards}.", "what_is_this": "What is this?" } }, "time_zone": { "change_time_zone": "Change Time Zone", "clinic_time_zone": "Clinic Time Zone", "hint": "Time will adjust automatically for daylight savings if appropriate for your region.", "intro": "You can select your preferred time zone for booking and managing appointments. It is helpful if you live in a different time zone from the clinic or travel between time zones before an appointment.", "preference_mismatch_banner": "The timezone used to book was <strong>%{logged_out_time_zone}</strong>. If this was correct and you want to save this, adjust the time zone on the <strong>My Account</strong> page within the <strong>Time Zone</strong> section to avoid future warnings.", "time_zone": "Time Zone", "time_zone_change_failure": "Unable to save Time Zone, please try again", "time_zone_change_success": "Your time zone has been saved. The page will refresh automatically in a few seconds to reflect the update throughout Jane." } } } }; var userTranslations = {}; var baseTranslations = deepMerge(staticTranslations, userTranslations); var adaptedTranslations = { "en-GB": { patients: { plural_term: "Patients" }, treatments: { plural_term: "Treatments" } } }; window.locale = "en-GB"; window.translations = deepMerge(baseTranslations, adaptedTranslations); if (window.sentryClient && window.sentryClient.addBreadcrumb) { sentryClient.addBreadcrumb({ message: "script after public vendor chunk executed" }) } if (window.sentryClient && window.sentryClient.addBreadcrumb) { sentryClient.addBreadcrumb({ message: "script after public chunk executed" }) } // Taken from `app/assets/javascripts/common/storage.ts` var storageSupported = function(getStorage) { try { var storage = getStorage() if (!storage) { return false } var key = '6a3b7014725868e837b69f4a7e4d0a5f6e72d70a3aba001e3b5cd91d38080260' // a random sha-256 hash storage.setItem(key, key) storage.removeItem(key) return true } catch (error) { return false } } var localStorageSupported = function() { return storageSupported(function() { return window.localStorage }) } var sessionStorageSupported = function() { return storageSupported(function() { return window.sessionStorage }) } window.checkBundleLoaded && window.checkBundleLoaded({ chunkNames: ["public","vendor_public"], accountsAppHost: "https://accounts.janeapp.com", }) jQuery(function() { App.Config || (App.Config = {}); App.Config.browser_session_id = "4ccc2ecc646f3b92c417c7e408"; App.Config.today = "2025-11-04T00:00:00"; App.Config.reschedule_id = null App.Config.current_user = false App.Config.patient_preferences = {} return App.Config.version = "7.2.106"; }); $(function() { App.Config.allow_patient_requested_appointments = true App.Config.upcoming_appointments_limit = 0 App.Config.online_booking_by_staff_member = true App.Config.clinic_timezone = "Europe/London" App.Config.company_guid = "80302" App.Config.verify_new_users = false App.Config.display_timezone = true App.location_id = 1 moment.locale("en-GB") moment.tz.setDefault("Europe/London") const routerOptions = { treatments: [{"id":1,"name":"New Patient Consultation \u0026amp; Treatment","treatment_duration":3600,"scheduled_duration":3600,"description":"A consultation with our practitioner involving a detail history-taking, physical examination, movement analysis and specific orthopedic testing. \r\n\r\nYou\u0026#39;ll will receive treatment in your first visit where appropriate. ","call_to_book":false,"booking_type":"one_on_one_booking","display_duration":true,"staff_member_ids":[1],"discipline_id":1,"online_only":false,"price":50.0},{"id":2,"name":"Results Session","treatment_duration":2400,"scheduled_duration":2400,"description":"Your second visit to the clinic including your written diagnosis, recommendation of treatment sessions and exercise prescription along with your second treatment session.","call_to_book":false,"booking_type":"one_on_one_booking","display_duration":true,"staff_member_ids":[1],"discipline_id":1,"online_only":false,"price":40.0},{"id":3,"name":"Chiropractic Treatment","treatment_duration":1200,"scheduled_duration":1200,"description":"Treatment involves spinal manipulation, soft tissue techniques and acupuncture. Utilised within a block payment method.","call_to_book":false,"booking_type":"one_on_one_booking","display_duration":true,"staff_member_ids":[1],"discipline_id":1,"online_only":false,"price":35.0},{"id":4,"name":"Baby New Patient Consultation","treatment_duration":3600,"scheduled_duration":3600,"description":"A consultation including history taking and a physical examination to check how your baby is developing. Examination will focus on spinal health, neurological function and muscular development. All assessments are age-appropriate and patients will receive treatment in the first visit where appropriate.","call_to_book":false,"booking_type":"one_on_one_booking","display_duration":true,"staff_member_ids":[1],"discipline_id":1,"online_only":false,"price":50.0},{"id":5,"name":"Chiropractic Treatment - PAY as you go","treatment_duration":1200,"scheduled_duration":1200,"description":"Treatment involves spinal manipulation, soft tissue techniques and acupuncture. Pay per treatment as you go.","call_to_book":false,"booking_type":"one_on_one_booking","display_duration":true,"staff_member_ids":[1],"discipline_id":1,"online_only":false,"price":40.0}], disciplines: [{"id":1,"name":"Chiropractic","professional_title":"Chiropractor","professional_title_plural":"chiropractors","professional_title_with_article":"a chiropractor","treatments":[{"id":1,"name":"New Patient Consultation \u0026amp; Treatment","treatment_duration":3600,"scheduled_duration":3600,"description":"A consultation with our practitioner involving a detail history-taking, physical examination, movement analysis and specific orthopedic testing. \r\n\r\nYou\u0026#39;ll will receive treatment in your first visit where appropriate. ","call_to_book":false,"booking_type":"one_on_one_booking","display_duration":true,"staff_member_ids":[1],"discipline_id":1,"online_only":false,"price":50.0},{"id":2,"name":"Results Session","treatment_duration":2400,"scheduled_duration":2400,"description":"Your second visit to the clinic including your written diagnosis, recommendation of treatment sessions and exercise prescription along with your second treatment session.","call_to_book":false,"booking_type":"one_on_one_booking","display_duration":true,"staff_member_ids":[1],"discipline_id":1,"online_only":false,"price":40.0},{"id":3,"name":"Chiropractic Treatment","treatment_duration":1200,"scheduled_duration":1200,"description":"Treatment involves spinal manipulation, soft tissue techniques and acupuncture. Utilised within a block payment method.","call_to_book":false,"booking_type":"one_on_one_booking","display_duration":true,"staff_member_ids":[1],"discipline_id":1,"online_only":false,"price":35.0},{"id":4,"name":"Baby New Patient Consultation","treatment_duration":3600,"scheduled_duration":3600,"description":"A consultation including history taking and a physical examination to check how your baby is developing. Examination will focus on spinal health, neurological function and muscular development. All assessments are age-appropriate and patients will receive treatment in the first visit where appropriate.","call_to_book":false,"booking_type":"one_on_one_booking","display_duration":true,"staff_member_ids":[1],"discipline_id":1,"online_only":false,"price":50.0},{"id":5,"name":"Chiropractic Treatment - PAY as you go","treatment_duration":1200,"scheduled_duration":1200,"description":"Treatment involves spinal manipulation, soft tissue techniques and acupuncture. Pay per treatment as you go.","call_to_book":false,"booking_type":"one_on_one_booking","display_duration":true,"staff_member_ids":[1],"discipline_id":1,"online_only":false,"price":40.0}],"slug":"chiropractic"}], staff_members: [{"id":1,"full_name":"Ella Pusey","professional_name":"Ella Pusey","pronouns":null,"suffix":null,"treatment_order":[1,2,3,4,5],"location_ids":[1],"disciplines":[{"id":1,"name":"Chiropractic","professional_title":"Chiropractor","professional_title_plural":"chiropractors"}],"description":"\u0026lt;p\u0026gt;The Founder of The Spine Lab\u0026lt;/p\u0026gt;\n\n\u0026lt;p\u0026gt;Dr Ella Pusey DC is a UK trained qualified chiropractor graduating with a Masters degree from the Anglo European Chiropractic College.\u0026lt;/p\u0026gt;\n\n\u0026lt;p\u0026gt;Ella previously played professional football at Southampton FC whilst studying for her degree. Over this time, she developed an appreciation of the bodies’ biomechanics \u0026amp;amp; established her love for chiropractic care to aid human bodily function. Ella is passionate about overcoming injuries to reach optimal performance in a competitive environment. Additionally, Ella is also dedicated to support patients to achieve their everyday goals to improve their overall wellbeing and quality of life.\u0026lt;/p\u0026gt;\n\n\u0026lt;p\u0026gt;Ella is well experienced, fully accredited and registered with the GCC and BCA.\u0026lt;/p\u0026gt;\n","photo":"https://assets-jane-euw2-55.janeapp.net/pub/W1siZiIsImRyYWdvbmZseS84MDMwMi91c2VyL3Bob3RvLzIwMjUtMDktMjMvMTU0MTEzLzkwMDc4ZTlkLWY2MGItNDc2My1iMGUxLWQ4Y2I2MjY0MjI3NC80QzcyMDI0Mi1DRTk2LTREM0QtODY0OC1BQjg5MDk3RjI3MzkuanBlZyJdLFsicCIsInRodW1iIiwiMjAweDI2MCMiXV0?sha=d59924a56fd5352a\u0026amp;for=thespinelab.janeapp.co.uk","photo_lg":"https://assets-jane-euw2-55.janeapp.net/pub/W1siZiIsImRyYWdvbmZseS84MDMwMi91c2VyL3Bob3RvLzIwMjUtMDktMjMvMTU0MTEzLzkwMDc4ZTlkLWY2MGItNDc2My1iMGUxLWQ4Y2I2MjY0MjI3NC80QzcyMDI0Mi1DRTk2LTREM0QtODY0OC1BQjg5MDk3RjI3MzkuanBlZyJdLFsicCIsInRodW1iIiwiODAweDEwNDAjIl1d?sha=680f14450ab841fa\u0026amp;for=thespinelab.janeapp.co.uk"}], multiple_locations: false, business_hours: { start: 8, end: 19, limitDisplay: true }, primary_email: "contact@thespinelab.co.uk", primary_phone: "07379752860", primary_phone_strict: "+GB7379752860", } function initializeRouter() { window.router = new App.Routers.BookingRouter(routerOptions) Backbone.history.start() } // A race condition will occur if we initialize the BookingRouter before we mount the PatientBookingCalendar. // We pass in our initializeRouter function to the PatientBookingCalendar so that we can initialize the router after the calendar has been mounted. var el = document.getElementById('calendar') el && mountPatientBookingCalendarApp({el, onMountedInitRouter: initializeRouter, locale: "en-GB" }) }) const handleSidebarTabClick = function (e) { e.preventDefault(); const clickedId = $(this).attr('id') if (clickedId == 'online-gift-card-link') { $('.list-group-item.active').removeClass('active'); $("#online_gift_cards").delay(401).fadeIn(400); $("#public_package_checkout").fadeOut(400); $("#disciplines").fadeOut(400); } else if (clickedId == 'package-checkout-link') { $('.list-group-item.active').removeClass('active'); $("#public_package_checkout").delay(401).fadeIn(400); $("#online_gift_cards").fadeOut(400); $("#disciplines").fadeOut(400); try { if (window.mountPublicPackageCheckout) { window.mountPublicPackageCheckout({ el: document.getElementById('public-package-checkout'), heading: 'Buy a Package' }) } } catch(err) { window.reportJaneError && window.reportJaneError(err) } } else { $("#online_gift_cards").fadeOut(400); $("#public_package_checkout").fadeOut(400); } } $('#online-gift-card-link, #package-checkout-link').on('click', handleSidebarTabClick); var notices = [] var handleFlash = () => { if(notices && notices.length ){ notices.forEach( n => { try { notify(n.msg, {type: n.type, title: n.title}) } catch(e) { alert((n.title || "") + " " + n.msg) } }) } } if (window.notify){ handleFlash() } else { document.addEventListener("chunksLoaded", handleFlash) } try { if (sessionStorage && sessionStorage.getItem && sessionStorage.setItem) { var browser_tab_id = sessionStorage.getItem('browser_tab_id') if (!browser_tab_id) { browser_tab_id = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15); sessionStorage.setItem('browser_tab_id', browser_tab_id); } document.addEventListener('DOMContentLoaded', function(event) { // Add browser_tab_id to all rails form POSTs var input = document.createElement('input') input.type = 'hidden' input.name = 'browser_tab_id' input.value = browser_tab_id var forms = document.getElementsByTagName('form') for (var i = 0; i < forms.length; i++) { forms[i].appendChild(input) } }); } } catch (e) {} var antiCSRFTokenMetaElement = document.querySelector('head meta[name="csrf-token"]') if (antiCSRFTokenMetaElement && antiCSRFTokenMetaElement.content && typeof setAntiCSRFToken !== 'undefined') { setAntiCSRFToken(antiCSRFTokenMetaElement.content) }