This registration page may not work well in Internet Explorer. Please use a different browser to complete your registration.

The Sunshine Festival

June 20, 2026 10:00 AM - 5:00 PM (PDT)

Description

Downtown Vernon Association presents the 32nd Annual Sunshine Festival, a FREE event on Saturday June 20th, 2026 from 10am-5pm.

Help kick off the start of Summer with one of Vernon's most iconic events, as six city blocks of 30th Ave in Downtown Vernon are transformed into a vehicle-free playground for children and adults.

Speaking of vehicles: it's also a FREE PARKING DAY, and all Vernon parking meters and hourly lots are free on June 20th.

Or leave the car at home and ride your bike! The City of Vernon FREE Bike Valet will be located at Cenotaph Park (from 10:00 a.m. until 2:00 p.m.) Bring your bike, e-bike, or scooter, and leave them safely monitored by professional attendants while you enjoy the festival worry-free.

This festival will showcase our own downtown businesses and some guest businesses and organizations from outside downtown. Play games, meet mascots, listen to live music, find new treasures, watch free performances and demonstrations, enjoy countless vendors and eateries, dance, shop and so much more!

MAIN STAGE BANDS 3400 Block by Food Trucks
• 10am - The Shades
• 11am - Ghost Town
• 12pm - Cover2Cover
• 1pm - Carbon Copy
• 2pm - Josh + Bex
• 3pm – Shalisa!
• 4pm - Echo Watch
KIDS SCHEDULE 2900 Block
- 11:30 – 12:15pm: Kiki The Eco Elf
- 12:20pm – 1pm Little Reptile Queen
- 1:30pm – 1:45 Estry Illusion Show
- 1:45pm-2pm Kinshira Circus Act
- 2pm – 2:45pm Believe Party Entertainment
- 2:30pm – 3pm Silly in The Valley
- 3pm - 3:20pm Evan The Juggler
- 3:30pm-4pm Kiki The Eco Elf
- 4pm - 5pm Music TBD
** We have some NEW SURPRISES in store for you and the kids! 
** Follow our socials for more details and schedules, as we get closer to event date. Our event is supported by: BEACH FM

We're sorry. No registrations are currently available. You may wish to contact the event organizer for assistance.
{{ vm.EventInfo.ErrorMessage }}

Select Registration Options

Edit
{{vm.regWarningMessage}}
{{vm.regAlertMessage}}

Exhibitor Opportunities

Name Price Att Qty
{{ et.Name }}
{{ et.IncludedAttendeesCount }} {{ et.AttendeeRegType.RemainingPerType }} Remaining {{ et.AttendeeRegType.RemainingPerType * -1 }} on Waiting List {{ et.AttendeeRegType.RemainingPerType * -1 }} Over Limit
{{ et.Remaining }} Remaining
Sold out

Attendee Registration Options Total Remaining: {{ vm.EventInfo.VacantSpotsPerEvent }}

Waiting List Available
{{ vm.stats.totalAttendeesCount }} Registered , {{ vm.OverallOverAmount() }} on Waiting List , {{ vm.OverallOverAmount() }} Over Limit
Name Price Qty
{{ rt.Name }}
{{ rt.IsMemberOnly ? ' (Members Only)' : '' }}
Limit: {{ rt.LimitPerPurchase }}
Included Attendees: {{ rt.AttendeesCountPerOneRegistration }}
{{rt.Price | currency }} {{rt.PriceAfterDiscount | currency }} {{ rt.Price | currency }}
{{ rt.RemainingPerType }} Remaining
{{ rt.RemainingPerType * -1 }} on Waiting List
{{ rt.RemainingPerType * -1 }} Over Limit

{{'[[Sponsorship]] Opportunities' | localizeString:'['}}

Name Price Att Qty
{{ st.Name }}
{{ st.IncludedAttendeesCount }} {{ st.AttendeeRegType.RemainingPerType }} Remaining {{ st.AttendeeRegType.RemainingPerType * -1 }} on Waiting List {{ st.AttendeeRegType.RemainingPerType * -1 }} Over Limit
{{ st.Remaining }} Remaining
Sold out
Continue

Registration Information

Edit

Exhibitor - {{er.Name}}

Exhibitor #{{ $index + 1 }}

Total: {{exhibitor.TotalPrice | currency}} {{ exhibitor.IsBenefit ? "- Included as a Benefit" : exhibitor.IsDiscounted ? "- Discounts have been applied" : ""}}
Exhibitor Directory
Primary Contact
Booth Information
Additional Information
Additional Items

Attendee - {{er.Name}}

{{ att.getAttendeeTerm(vm.EventSettings.AdditionalAttendeesTerm, $index) }} #{{ att.getAttendeeIndexDisplay(vm.EventSettings.AdditionalAttendeesTerm, $index) }}

Total: {{att.TotalPrice | currency}} {{att.DiscountMessage | localizeString:'['}}
A No Show fee is being assessed for {{fee.EventName}} on {{fee.EventStartLocalTimeString}}.

Address


Phone

Additional Information
Event Sessions

{{slot.Name}}

{{$select.selected.SessionName}}
(full)
{{slot.SelectedSession.SessionDescription + (slot.HasFees ? " (Price: " + (slot.PriceTotal | currency) +")" : "")}}

Additional Items

{{'[[Sponsorship+]]' | localizeString:'['}} - {{er.Name}}

{{'[[Sponsor]]' | localizeString:'['}} #{{ $index + 1 }}

Total: {{sponsor.Price | currency}}
Continue

Additional Items

Edit

{{(vm.EventInfo.Terms.Donation || "Fundraising") + " Opportunities"}}

Campaign Name Item Description Amount
{{item.CampaignName}} {{item.Description + (item.ShowMinimumPrice && item.MinimumPrice ? " (Min: " + item.MinimumPrice + ")" : "")}}
Continue

Complete Registration

Edit

Terms & Conditions

No Show Policy

{{ vm.EventInfo.EventSettings.NoShowPolicy }}

Enter Promo Code

Billing Contact

Registration Protection

This event is synced to a webinar so no confirmation email will be sent from GrowthZone.

Thank you to our {{'[[Sponsor+]]' | localizeString:'['}}