import React, { useMemo, useState } from "react"; import { motion } from "framer-motion"; import { Button } from "@/components/ui/button"; import { Card, CardContent } from "@/components/ui/card"; function Icon({ name, className = "h-5 w-5" }) { const common = { className, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": true, }; const icons = { heartPulse: ( ), users: ( ), wheelchair: ( ), stethoscope: ( ), mapPin: ( ), clipboard: ( ), shield: ( ), calendar: ( ), check: ( ), spark: ( ), chevronRight: ( ), phone: ( ), menu: ( ), x: ( ), }; return icons[name] || icons.check; } const rideTypes = [ { name: "Ambulatory", icon: "users", desc: "Walks with light support." }, { name: "Wheelchair", icon: "wheelchair", desc: "Ramp or lift equipped." }, { name: "Stretcher", icon: "stethoscope", desc: "Non-emergency reclined transport." }, { name: "Long-distance", icon: "mapPin", desc: "City-to-city medical rides." }, ]; const platformModules = [ { title: "Rider profiles", text: "Save mobility needs, frequent addresses, ride history, and care contacts." }, { title: "Provider network", text: "Match requests to qualified companies by vehicle, service area, equipment, and timing." }, { title: "Live trip status", text: "Follow every step from quote request to arrival, pickup, drop-off, and completion." }, { title: "Payments", text: "Support deposits, card payments, invoices, refunds, and cancellation policies." }, ]; const videoScript = [ { scene: "Opening problem", visual: "A quiet clinic discharge area. A family member checks their phone while a patient waits.", voiceover: "When someone needs a medical ride, the hardest part is often knowing what help is needed, who can provide it, and whether the ride is truly confirmed." }, { scene: "What we do", visual: "The MyMedicalRide.com intake screen captures pickup, drop-off, mobility, stairs, oxygen, and timing.", voiceover: "MyMedicalRide.com helps patients, families, facilities, and care coordinators request non-emergency medical transportation with the right details from the start." }, { scene: "Ride types", visual: "Clean animated cards for ambulatory, wheelchair, stretcher, and long-distance rides.", voiceover: "Whether the rider can walk, uses a wheelchair, needs stretcher transport, or has a longer-distance trip, the platform guides the request step by step." }, { scene: "Provider matching", visual: "Qualified providers reviewing one complete trip snapshot.", voiceover: "Instead of calling around and repeating the same information, a complete ride request can be reviewed by providers who match the rider’s needs." }, { scene: "Confirmation", visual: "A confirmed ride screen with provider name, pickup window, contact details, and status updates.", voiceover: "Once accepted, everyone can see the pickup window, ride details, provider contact information, quote basis, and trip status in one place." }, { scene: "Closing", visual: "Patient arrives home safely. A family member receives a confirmation update.", voiceover: "MyMedicalRide.com brings structure, clarity, and confidence to medical ride coordination, so riders can get where they need to go with fewer surprises." } ]; function getQuoteSummary(selectedRide, tripType) { const base = selectedRide === "Stretcher" ? 280 : selectedRide === "Wheelchair" ? 125 : 85; return tripType === "Recurring" ? "Route review required" : `$${base} - $${base + 90} estimated`; } const quoteSummaryTests = [ { name: "wheelchair one-way estimate", selectedRide: "Wheelchair", tripType: "One-way", expected: "$125 - $215 estimated" }, { name: "stretcher round-trip estimate", selectedRide: "Stretcher", tripType: "Round trip", expected: "$280 - $370 estimated" }, { name: "recurring route review", selectedRide: "Ambulatory", tripType: "Recurring", expected: "Route review required" }, { name: "long-distance fallback estimate", selectedRide: "Long-distance", tripType: "One-way", expected: "$85 - $175 estimated" }, ]; function runQuoteSummaryTests() { return quoteSummaryTests.map((test) => { const actual = getQuoteSummary(test.selectedRide, test.tripType); return { ...test, actual, passed: actual === test.expected }; }); } function Field({ label, placeholder, type = "text" }) { return ( ); } function DeviceMockup({ selectedRide, tripType, quoteSummary }) { return (
Today
Ride request
Selected ride
ride.name === selectedRide)?.icon || "wheelchair"} className="h-6 w-6 text-sky-300" /> {selectedRide}
Trip
{tripType}
Quote
{quoteSummary}
{[ ["Pickup", "Hospital discharge bay"], ["Drop-off", "Home, front entrance"], ["Access", "5 porch steps noted"], ].map(([label, value]) => (
{label} {value}
))}
3 qualified providers reviewing
); } function RideSelector({ selectedRide, setSelectedRide }) { return (
{rideTypes.map((ride) => { const active = selectedRide === ride.name; return ( ); })}
); } export default function MyMedicalRidePlatform() { const [menuOpen, setMenuOpen] = useState(false); const [selectedRide, setSelectedRide] = useState("Wheelchair"); const [tripType, setTripType] = useState("One-way"); const testResults = useMemo(() => runQuoteSummaryTests(), []); const passedTests = testResults.filter((test) => test.passed).length; const quoteSummary = useMemo(() => getQuoteSummary(selectedRide, tripType), [selectedRide, tripType]); return (
MyMedicalRide.com
{menuOpen && ( )}
Planned medical rides, made clear.

Medical rides.
Without the runaround.

MyMedicalRide.com helps patients, families, facilities, and providers coordinate non-emergency medical transportation with less friction and fewer surprises.

A smarter request flow.

The app collects the details that change vehicle fit, price, timing, and provider availability before the ride is accepted.

{["One-way", "Round trip", "Recurring"].map((type) => ( ))}
Preliminary quote signal
{quoteSummary}

Final pricing depends on provider acceptance, mileage, wait time, equipment, and access details.

Provider matching

One clean trip snapshot. Better provider decisions.

Qualified providers see the same complete request, including mobility, equipment, access, timing, and trip notes. Less phone tag. Better confirmations.

{[ ["NorthStar Mobility", "Wheelchair, door-through-door", "98% fit"], ["CareBridge Transport", "Dialysis recurring routes", "95% fit"], ["Summit Stretcher Team", "Stretcher and bariatric", "93% fit"], ].map(([name, fit, score]) => (
{name}
{fit}
{score}
))}
top of page

The purpose of the following template is to assist you in writing your accessibility statement. Please note that you are responsible for ensuring that your site's statement meets the requirements of the local law in your area or region.

*Note: This page currently has two sections. Once you complete editing the Accessibility Statement below, you need to delete this section.

To learn more about this, check out our article “Accessibility: Adding an Accessibility Statement to Your Site”.

Accessibility Statement

This statement was last updated on [enter relevant date].

We at [enter organization / business name] are working to make our site [enter site name and  address] accessible to people with disabilities.

What web accessibility is

An accessible site allows visitors with disabilities to browse the site with the same or a similar level of ease and enjoyment as other visitors. This can be achieved with the capabilities of the system on which the site is operating, and through assistive technologies.

Accessibility adjustments on this site

We have adapted this site in accordance with WCAG [2.0 / 2.1 / 2.2 - select relevant option] guidelines, and have made the site accessible to the level of [A / AA / AAA - select relevant option]. This site's contents have been adapted to work with assistive technologies, such as screen readers and keyboard use. As part of this effort, we have also [remove irrelevant information]:

  • Used the Accessibility Wizard to find and fix potential accessibility issues

  • Set the language of the site 

  • Set the content order of the site’s pages

  • Defined clear heading structures on all of the site’s pages

  • Added alternative text to images

  • Implemented color combinations that meet the required color contrast

  • Reduced the use of motion on the site

  • Ensured all videos, audio, and files on the site are accessible

Declaration of partial compliance with the standard due to third-party content [only add if relevant]

The accessibility of certain pages on the site depend on contents that do not belong to the organization, and instead belong to [enter relevant third-party name]. The following pages are affected by this: [list the URLs of the pages]. We therefore declare partial compliance with the standard for these pages.

Accessibility arrangements in the organization [only add if relevant]

[Enter a description of the accessibility arrangements in the physical offices / branches of your site's organization or business. The description can include all current accessibility arrangements  - starting from the beginning of the service (e.g., the parking lot and / or  public transportation stations) to the end (such as the service desk, restaurant table, classroom etc.). It is also required to specify any additional accessibility arrangements, such as disabled services and their location, and accessibility accessories (e.g. in audio inductions and elevators) available for use]

Requests, issues, and suggestions

If you find an accessibility issue on the site, or if you require further assistance, you are welcome to contact us through the organization's accessibility coordinator:

  • [Name of the accessibility coordinator]

  • [Telephone number of the accessibility coordinator]

  • [Email address of the accessibility coordinator]

  • [Enter any additional contact details if relevant / available]

bottom of page

Built for the whole ride.

A clean platform layer for riders, families, facilities, transportation companies, and admins.

{platformModules.map((module, index) => (

{module.title}

{module.text}

))}

The story in 75 seconds.

A focused homepage or ad script that explains what MyMedicalRide.com does without sounding complicated.

{videoScript.map((item, index) => (
Scene {index + 1}
{item.scene}

{item.visual}

“{item.voiceover}”

))}

Planned rides only.

MyMedicalRide.com is for non-emergency medical transportation. For a medical emergency, call 911 immediately. The production platform should include clear disclaimers, consent records, role-based access, secure storage, audit trails, and privacy notices.

Prototype checks

Basic checks for quote summary logic.

{passedTests}/{testResults.length} passing
{testResults.map((test) => (
{test.name}
Expected: {test.expected}
Actual: {test.actual}
))}

Ready when the ride matters.

Start with a complete request, match with qualified providers, and keep everyone updated from quote to drop-off.

); }