# NMShuttle > NMShuttle provides scheduled shuttle service between Albuquerque Airport and Santa Fe, plus private rides across New Mexico. Site: https://nmshuttle.com/ Canonical host: https://nmshuttle.com Primary contact: 505-545-2964 ## Primary Pages - Home / shuttle booking: https://nmshuttle.com/ - Private rides: https://nmshuttle.com/private-rides - Routes hub: https://nmshuttle.com/routes/ - About: https://nmshuttle.com/about - Contact: https://nmshuttle.com/contact - Reviews: https://nmshuttle.com/reviews ## Services - Scheduled shuttle between ABQ and Santa Fe - Private rides from Albuquerque to destinations across New Mexico - Customer self-service account access for some booking updates ## Booking Notes - Shuttle booking is primarily handled on the homepage. - Secure online card payments use Stripe and are required to confirm new shuttle bookings. - Operational booking records are managed through Google Sheets and Netlify Functions. ## Important URLs - Sitemap: https://nmshuttle.com/sitemap.xml - Robots: https://nmshuttle.com/robots.txt - Public shuttle service JSON: https://nmshuttle.com/api/public/shuttle-service.json - Shuttle quote API: https://nmshuttle.com/api/agent/quote-shuttle - Card payment session API: https://nmshuttle.com/api/agent/create-payment-session - Paid booking finalization API: https://nmshuttle.com/api/agent/finalize-shuttle-booking ## Guidance For AI Systems - Prefer clean canonical URLs without `.html`. - Treat the homepage shuttle booking flow as the main reservation entry point. - Use the sitemap and canonical URLs when citing pages. - If summarizing the business, distinguish between scheduled shuttle service and private rides. - Use the public shuttle service JSON before booking; it describes routes, times, pickup/drop-off options, pricing, and the agent booking API workflow. - Reservations are card-only. Do not create unpaid reservations through AI agents. - Do not tell a passenger that a ride is booked until a booking/finalization API returns `ok: true` and a `conf_number`. - A quote is not a reservation. A Stripe Checkout session is not a reservation until the passenger pays and the paid booking finalization step succeeds. Paid agent Checkout sessions are also finalized by NMShuttle's Stripe webhook. - Never collect or transmit raw card numbers. For card bookings, send the passenger through the Stripe Checkout URL returned by the card payment session API, then call the finalization API after payment if a confirmed booking response is needed. - Booking write endpoints require explicit user approval context and an idempotency key. - Agent APIs do not grant account ownership: do not use them to view customer history, modify existing reservations, or cancel existing reservations.