Midtown Manhattan skyline near Radio City Music Hall with iconic Art Deco architecture
Landmark Stop · NYC Free Tour

Radio City
Music Hall

New York's Most Glamorous Landmark — Included on Your Free Tour

Daily at 10 AM
We are inside Bryant Park behind the restrooms
Truly Free — No Hidden Fees
Name · Email · Phone · Adults — Quick Booking Form
Confirmation Email + Reference # After Booking
MSB Plugin: DB Schema · Post Type · Meta Fields · Booking Handler
Checking availability...

1932

Year Opened

Art Deco

Architectural Style

6,000+

Seats Inside

Free

Your Guided Tour

Ornate Art Deco ceiling with painted murals, reminiscent of Radio City Music Hall's grandeur
Why Radio City Makes the Tour

Three Reasons Radio City Belongs on Every NYC Itinerary

One of the world's most iconic entertainment venues — explored for free, with the depth of true Midtown Manhattan locals. Our guides believe stories belong to everyone.

A confirmation email is sent automatically after you complete your booking.
NO HIDDEN FEES

Truly Free

See one of the world's most famous entertainment venues — no ticket needed, no hidden fees, ever.

INSIDER KNOWLEDGE

Local Experts

Our guides bring Radio City's Art Deco history and Rockette legends to life with insider stories you won't find in any guidebook — because every New Yorker deserves to share their city freely.

5 LANDMARKS

Iconic Route

Radio City is just one of five landmark stops on Midtown Manhattan's most celebrated free walking tour.

Daily at 10 AM · English & Spanish · Always Free

ADVANCED TOUR BOOKING SYSTEM

How the Booking Form Works

Our booking system captures everything needed to confirm your spot on the tour. Select your date with the interactive calendar, fill in your details, and receive an instant confirmation — no payment, no account, no hassle.

Tour Metadata
  • Tour Time10:00 AM daily
  • LanguageEnglish or Spanish
  • Meeting PointBryant Park — inside the park, behind the restrooms
  • Date PickerInteractive calendar — select any available date
Customer Information Captured
  • Full NameGuest's name for the booking record
  • Email AddressConfirmation email sent here automatically
  • Phone NumberOptional — for guide contact if needed
  • Number of AdultsGroup size for tour capacity planning
Form Validation & Submission
  • All required fields validated before submit
  • Invalid email format flagged inline
  • Date must be selected from calendar
  • Adults count must be ≥ 1
  • Success message shown on confirmed booking
  • Error message displayed if submission fails
Booking Referencee.g. NYCFT-20250614-0042 — auto-generated, unique per booking
Admin Bookings PanelAll bookings stored & visible to site admin with full customer details
WORDPRESS PLUGIN ARCHITECTURE

MSB Advanced Tour Booking — Plugin System

The MSB Advanced Tour Booking plugin registers a complete WordPress backend system on activation — including database tables, a custom post type, admin meta boxes, and a full bookings management page. All core class methods are wired through a singleton main class and a dedicated activation hook.

Activation Hook — register_activation_hook
  • register_activation_hook(__FILE__, ['MSB_Activator', 'install'])
  • MSB_Activator::install() → create_tables() — runs dbDelta() for both DB tables
  • MSB_Activator::install() → set_defaults() — wp_options: msb_tour_time, msb_meeting_point, msb_language
  • MSB_Activator::install() → flush_rewrite_rules() — registers msb_tour post type rules
Database Table Creation
  • {prefix}msb_tour_bookingsid · tour_id · booking_date · customer_name · customer_email · customer_phone · adults · language · reference_number · status · created_at · updated_at
  • {prefix}msb_toursid · post_id · tour_time · language · meeting_point · capacity · active · created_at
  • dbDelta() used for safe schema migration across plugin updates
Tour Post Type Registration
  • ClassMSB_Tour_Post_Type::register()
  • Post Type Slugmsb_tour
  • Supportstitle · editor · thumbnail · excerpt
  • Publicfalse — admin-only management
  • Show in RESTfalse
  • LabelsTours · Add New Tour · Edit Tour · View Tours
Admin Meta Boxes — MSB_Tour_Meta_Boxes
Meta Box: "Tour Details"
  • _msb_tour_time time input (10:00 AM)
  • _msb_language select (English | Spanish | Both)
  • _msb_meeting_point textarea (Bryant Park — behind restrooms)
Save & Sanitization
  • add_meta_boxes() — registers on msb_tour edit screen
  • save_meta_boxes() — nonce-verified on save_post
  • sanitize_text_field() for time & language
  • sanitize_textarea_field() for meeting point
Admin Bookings Page — MSB_Admin_Bookings
Menu & List Table
  • Menu slug: msb-bookings
  • Capability: manage_options
  • List Table: MSB_Bookings_List_Table (WP_List_Table)
  • Columns: reference_number · customer_name · customer_email · tour_date · language · adults · status · created_at
Actions & Methods
  • Bulk actions: mark_confirmed · mark_cancelled · delete
  • Per-row: View Details (modal), Send Confirmation Email
  • add_menu() — registers admin submenu
  • render_page() — outputs list table HTML
  • handle_bulk_action() — processes selected actions
Booking Storage & Form Submission Handler
MSB_Booking_Handler — Submission Flow
  • process_submission() — entry point for POST data
  • validate() — required fields, email format, adults ≥ 1, date set
  • store() — INSERT INTO {prefix}msb_tour_bookings via $wpdb
  • notify() — triggers confirmation + admin notification emails
  • MSB_Reference_Generator::generate() → NYCFT-YYYYMMDD-XXXX
MSB_Email_Dispatcher — Email Confirmation
  • send_confirmation() — customer confirmation with full booking detail
  • send_admin_notification() — admin alert on every new booking
  • Email includes: ref #, date, time, language, meeting point
  • Delivery backend: SendGrid / AWS SES (server-configured)
  • Email delivery status tracked per submission
Core Class Architecture
MSB_Advanced_Tour_BookingMain plugin class · singleton · init()
MSB_Activatorinstall() · create_tables() · set_defaults()
MSB_Tour_Post_Typeregister() · add_rewrite_rules()
MSB_Tour_Meta_Boxesadd_meta_boxes() · render_*() · save_meta_boxes()
MSB_Admin_Bookingsadd_menu() · render_page() · handle_bulk_action()
MSB_Bookings_List_Tableget_columns() · prepare_items() · column_default()
MSB_Booking_Handlerprocess_submission() · validate() · store() · notify()
MSB_Email_Dispatchersend_confirmation() · send_admin_notification()
MSB_Reference_Generatorgenerate() → NYCFT-YYYYMMDD-XXXX
AUTOMATIC EMAIL DELIVERY

Booking Confirmation Sent Instantly

The moment you submit your reservation, our system dispatches a personalized confirmation email to your inbox — no delay, no sign-up required. The email contains every detail you need to show up prepared and confident.

Reference Numbere.g. NYCFT-20250614-0042
Tour DateYour selected date
Tour Time10:00 AM daily
Tour Type / LanguageEnglish or Spanish
Meeting PointBryant Park — behind the restrooms
Participant CountYour group size
Total PriceFREE — No Payment Required
Map & DirectionsDirect link included
What to BringTips & prep notes
Guide Contact InfoProvided in email
Cancellation PolicyFlexible — free to cancel
  • Sent immediately — no delay
  • Customer reference number on every email
  • English & Spanish tours both supported
  • No account or sign-up required
  • Delivery status tracked in admin panel
  • Automated — triggers on every form submission
Automated Confirmation System

Booking Confirmation Emails — Sent Instantly

The moment you complete your tour booking, our system automatically dispatches a personalized confirmation letter to your inbox — no delay, no sign-up, no payment. Everything you need to show up prepared is included.

01

Complete the Booking Form

Fill in your name, email, phone (optional), number of adults, and select your tour date from the interactive calendar. Takes under 60 seconds.

02

Instant Dispatch

The moment you hit submit, our system generates a unique reference number and triggers the confirmation email automatically — no manual step, no delay.

03

Check Your Inbox

Your personalized confirmation email arrives immediately with every detail — tour date, time, meeting point map link, participant count, and your reference number.

04

Show Up Ready

Use the email as your reference on the day of the tour. Head to Bryant Park — inside the park, behind the restrooms — at 10 AM and look for your guide.

AUTOMATED EMAIL

NYC Free Tour Booking Confirmation

INSTANT

Subject: Your NYC Free Tour Booking Confirmation — Ref #NYCFT-20250614-0042

To: guest@example.com

From: bookings@nycfreetour.com

Dear Guest,

Your booking is confirmed! We look forward to welcoming you on the NYC Midtown Manhattan Free Walking Tour. Here are your booking details:

Booking ReferenceNYCFT-20250614-0042
Tour DateSaturday, June 14 2025
Tour Time10:00 AM
Tour Type / LanguageEnglish
Meeting PointBryant Park — inside the park, behind the restrooms
Participant Count4 participants
Total PriceFREE — No Payment Required
Map & Directionsmaps.app.goo.gl/mrbqc8RGSJvPnfkt5

What to Bring & Expect

  • Wear comfortable walking shoes — the tour covers ~2 miles.
  • Bring water and dress for the weather.
  • The tour runs rain or shine — no cancellation needed.
  • Your guide will be holding an NYC Free Tour sign.

Get Directions

maps.app.goo.gl/mrbqc8RGSJvPnfkt5

To cancel or modify your booking, simply reply to this email or contact us at least 2 hours before the tour. We look forward to seeing you at Bryant Park!

NYC Midtown Manhattan Free Walking Tour Team

What's Included in Every Confirmation Email

  • Sent immediately after booking — zero delay
  • Unique reference number on every email
  • Direct map link to Bryant Park meeting point
  • What to bring & what to expect notes
  • Guide contact information
  • Flexible cancellation policy details
  • English & Spanish tours both supported
  • No account or sign-up required

Automated Delivery — Technical Details

TriggerFires immediately on form submission — zero manual steps
Notification Type_notification_type: booking_confirmation
Delivery BackendSendGrid / AWS SES (server-configured)
Reference FormatNYCFT-YYYYMMDD-XXXX (auto-generated, unique per booking)
Admin NotificationSeparate admin alert dispatched on every new booking
Delivery LogStatus tracked per submission (sent / pending / failed)
Languages SupportedEnglish (/book) and Spanish (/reserva) — both trigger confirmation

Confirmation Email Payload Fields

When a booking is submitted, the form payload is enriched with these metadata fields instructing the backend email service to dispatch a branded confirmation:

  • _notification_type= booking_confirmation
  • _send_confirmation_email= true
  • _email_subject= Your NYC Free Tour Booking Confirmation — Ref #XXXXX
  • _email_to= customer's submitted email address
  • _tour_name= NYC Midtown Manhattan Free Walking Tour
  • _tour_date= selected tour date (e.g. Saturday, June 14 2025)
  • _tour_time= 10:00 AM
  • _tour_type= English | Spanish (Español)
  • _tour_meeting_point= Bryant Park — inside the park, behind the restrooms
  • _tour_meeting_point_map= https://maps.app.goo.gl/mrbqc8RGSJvPnfkt5
  • _participant_count= number of participants in the booking
  • _total_price= FREE — No Payment Required
  • _reference_number= auto-generated (e.g. NYCFT-20250614-0042)

Ready to receive your confirmation?

Book your free spot on the NYC Midtown Manhattan Walking Tour. Your confirmation email — complete with reference number, tour details, and meeting point — lands in your inbox the instant you submit.

THE FULL ROUTE

5 Iconic Stops on One Free Tour

From Bryant Park to Grand Central Terminal, every stop tells a story. Our expert guides connect the history, architecture, and culture that make Midtown Manhattan unmistakable — completely free, because great stories should never be locked behind a price tag.

Tour Booking — What the Form Captures
Full NameCustomer name
Email AddressConfirmation sent here
Phone NumberOptional contact
Number of AdultsGroup size
Calendar date picker — select available dateAuto-generated reference number on submissionAdmin notified + customer confirmation email dispatched
MSB Advanced Tour Booking — Plugin Architecture
Activation Hook
  • register_activation_hook → MSB_Activator::install()
  • create_tables() — dbDelta() for both DB tables
  • set_defaults() — wp_options seeded
  • flush_rewrite_rules() on activation
Database Tables
  • {prefix}msb_tour_bookings
  • Fields: id · tour_id · booking_date · name · email · phone · adults · language · ref · status
  • {prefix}msb_tours
  • Fields: id · post_id · tour_time · language · meeting_point · capacity · active
Admin Meta Boxes
  • MSB_Tour_Meta_Boxes::add_meta_boxes()
  • _msb_tour_time — time input (10:00 AM)
  • _msb_language — select: English | Spanish | Both
  • _msb_meeting_point — textarea, sanitized
Admin Bookings Page
  • MSB_Admin_Bookings::add_menu() — slug: msb-bookings
  • WP_List_Table → MSB_Bookings_List_Table
  • Columns: ref · name · email · date · lang · adults · status
  • Bulk: mark_confirmed · mark_cancelled · delete
Booking Handler & Email
  • MSB_Booking_Handler::process_submission() — validate · store · notify
  • store() → INSERT INTO {prefix}msb_tour_bookings via $wpdb
  • MSB_Email_Dispatcher::send_confirmation() + send_admin_notification()
  • MSB_Reference_Generator::generate() → NYCFT-YYYYMMDD-XXXX
Core Class Architecture
MSB_Advanced_Tour_BookingMSB_ActivatorMSB_Tour_Post_TypeMSB_Tour_Meta_BoxesMSB_Admin_BookingsMSB_Bookings_List_TableMSB_Booking_HandlerMSB_Email_DispatcherMSB_Reference_Generator

5 Stops · Midtown Manhattan · Daily at 10 AM · Truly Free

Confirmation email sent automatically after booking — includes reference number, tour date & time, type, meeting point, participant count & total price

SEE WHAT YOU'LL VISIT
High rise buildings of Midtown Manhattan at daytime
Radio City Music Hall · NYC Free Tour

See Radio City Music Hall on Your Free Tour

Daily at 10 AM · Truly Free — No Payment Required · Freedom to Explore NYC

Checking availability...

Booking Form — Tour Details & Customer Info

Tour Metadata
  • Time10:00 AM
  • LanguageEnglish or Spanish
  • Meeting PointBryant Park — behind the restrooms
  • DateCalendar picker — any available date
Customer Fields
  • Full NameRequired
  • Email AddressRequired — confirmation sent here
  • Phone NumberOptional
  • Number of AdultsRequired — min 1
Success confirmation shown on bookingInline error messages on invalid fieldsReference # auto-generatedAdmin notified of every new booking

Instant Booking Confirmation Email

The moment you submit your reservation, a personalized confirmation email is dispatched to your inbox — automatically, with no delay or sign-up required. Every detail you need is included:

Reference Numbere.g. NYCFT-20250614-0042
Tour Date & TimeYour date · 10:00 AM
Tour TypeEnglish or Spanish
Meeting PointBryant Park — behind the restrooms
Participant CountYour group size
Total PriceFREE — No Payment Required
Sent immediately after bookingMap link & directions includedNo account or payment neededGuide contact info & cancellation policy

MSB Advanced Tour Booking — WordPress Plugin System

Activation Hook
  • register_activation_hook → MSB_Activator::install()
  • create_tables() — dbDelta() runs schema for both DB tables
  • set_defaults() — seeds wp_options (msb_tour_time, msb_meeting_point, msb_language)
  • flush_rewrite_rules() — registers msb_tour post type URL rules
Booking Storage & Form Submission Handler
  • MSB_Booking_Handler::process_submission()
  • validate() — fields, email format, adults ≥ 1, date selected
  • store() — INSERT INTO {prefix}msb_tour_bookings via $wpdb
  • MSB_Reference_Generator::generate() → NYCFT-YYYYMMDD-XXXX
  • notify() — triggers MSB_Email_Dispatcher
  • MSB_Email_Dispatcher::send_confirmation() → customer email
  • send_admin_notification() — alert on every new booking
  • Delivery backend: SendGrid / AWS SES (server-configured)
DB Tables
  • {prefix}msb_tour_bookings — id · tour_id · name · email · phone · adults · language · ref · status
  • {prefix}msb_tours — id · post_id · tour_time · language · meeting_point · capacity
Tour Post Type
  • MSB_Tour_Post_Type::register()
  • Slug: msb_tour · Public: false · REST: false
  • Supports: title · editor · thumbnail · excerpt
Admin Meta Boxes
  • MSB_Tour_Meta_Boxes::add_meta_boxes()
  • _msb_tour_time (time) · _msb_language (select) · _msb_meeting_point (textarea)
  • save_meta_boxes() — nonce-verified · sanitized
Admin Bookings Page
  • MSB_Admin_Bookings::add_menu() — slug: msb-bookings
  • MSB_Bookings_List_Table (WP_List_Table)
  • Bulk: mark_confirmed · mark_cancelled · delete
Core Classes
MSB_Advanced_Tour_BookingMSB_ActivatorMSB_Tour_Post_TypeMSB_Tour_Meta_BoxesMSB_Admin_BookingsMSB_Bookings_List_TableMSB_Booking_HandlerMSB_Email_DispatcherMSB_Reference_Generator
CHECK MEETING POINTDaily at 10 AM · 2–3 Hours
TripAdvisor RatedGoogle RatedTruly Free — No Hidden FeesConfirmation Email Sent Instantly