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

AFO Course - Scottsdale

May 4, 2026 8:00 AM - May 5, 2026 5:00 PM (MST)

Description

DEADLINE TO REGISTER: April 10th, 2026


The Aquatic Facility Operator (AFO) program is designed for pool operators and management staff in aquatic facility operation and management and is the most comprehensive and up-to-date training on operations, mechanical systems, water chemistry, disinfection, and safety. 

Add this sought after certification to your list of accomplishments and join over 8k certified AFOs working to make aquatic facilities safer and more enjoyable for communities nationwide.

Certification is achieved with a passing score of 78% on the 3-hour, open-book AFO Exam. AFO certification is valid for five (5) years. 


COURSE DETAILS

Monday, May 4

8:00AM - 5:00PM  Course Instruction


Tuesday, May 5

8:00AM - 2:00PM Course Instruction

2:00PM - 5:00PM Exam


The AFO Course Outline and Course Brief will be included in the shipment of course materials.


(The course is pre-approved for 1.5 CEUs)


EXAM DETAILS

50 questions - 39 correct answers to pass at 78%

Open-book

3 hours 


IMPORTANT REGISTRATION INFORMATION

Course materials are mailed 3-4 weeks in advance of the course to allow participants time to review/study the content prior to attending.

As a result, the deadline to register or make changes to an existing registration, including transfers and refund requests, must be made on or before the 45th day prior to the course start date. 

All refunds are subject to a 25% administrative fee.

No shows and last minute cancellations forfeit all paid registrations and/or are responsible for full payment of registration without refund. APRA is required to provide a guaranteed number of participants in advance and must adhere to the national deadlines.


Any questions contact APRA at - admin@azpra.org

Contact Information

Name: Joe Stubbins
Email: joe@azpra.org
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:'['}}