Whoa there!

You are using an outdated browser. Please upgrade your browser or use a different browser to improve your experience.

;

Peak Performance Club – Full-Time

A season-long program for ages 18 and up, the Peak Performance Club is a weekend ski group led by PSIA-certified coaches that is great for intermediate through expert skiers for both alpine and telemark. |
  •          Full-day schedule: 9:30-11:30AM and 12:30-2PM
  •          Half-day schedule: 9:30-11:30AM
  •          Program begins for the season in early December.
  •          Program does not included a season pass or lift ticket.

*
$750.00

Peak Performance Club – Full-Time

Thank you for enrolling in the Peak Performance Club! We’re looking forward to the 2020-21 season with you.

Please contact us at snowsportsschool@sundayriver.com with any questions. 

View program information and training schedule.

Customers who bought this item also bought

Gold New England Pass - 20/21

Our most popular pass, valid every day of the season at Sunday River, Sugarloaf, and Loon Mountain with additional perks including ticket deals for friends and skiing benefits at Western resorts.|
$1,169.00

8 Peaks

A season-long ski program for ages 13-17, 8 Peaks focuses on all-mountain adventure for advanced skiers.|
  •          Full-day schedule: 9-11AM and 12-2PM.
  •          Half-day schedule: 9AM-12PM.
  •          Program begins for the season in mid-December.
  •          Participants must be advanced, all-mountain skiers.
  •          Program does not included a season pass or lift ticket.
$1,399.00

Junior Professionals

A season-long ski program for ages 14-15, the Junior Professional Program is designed to prepare responsible teens for working in the ski industry as a PSIA-certified instructor. |
  •          Full-day schedule: 9-11AM and 12-2PM.
  •          Half-day schedule: 9AM-12PM.
  •          Program begins for the season in mid-December.
  •          Participants must be advanced, all-mountain skiers.
  •          Program does not included a season pass or lift ticket.

$1,399.00

River Runners

A season-long ski program for ages 5-12. Your little ripper will be part of a team centered on their enthusiasm for skiing and fun.|
  •          Full-day schedule: 9AM-2PM; must be dropped-off before 8:45AM.
  •          Half-day schedule: 9AM-12PM; must be dropped-off before 8:45AM.
  •          Program begins for the season in mid-December.
  •          Participants must be able to ski independently, turning and stopping in control, on Sunday River’s green terrain. If they cannot, please check-out our 30-Day Passes as another option.
  •          Program does not included a season pass or lift ticket.

$1,449.00
;
<script>// <![CDATA[ Vue.component('payment-details-schedule', { data: function () { return { monthlyPayment: 0, paymentTableHeaders: [ { text: 'Date', value: 'Date', align: 'center' }, { text: 'Amount', value: 'Amount', align: 'center' }, ], processing: false, showModal: false, paymentPlanProductIds: [], dates: null, paymentPrices: [], paymentDetails: [], paymentRemainder: 0, modalDescription: null, widgetDescription: null, totalPaymentPrice: 0, totalDeposit: 0 } }, template: '<div class="payment-plan-details" v-if="paymentDetails.length && isPaymentPlanProduct"> <p>Your remaining balance will be billed in 4 payments <span v-if="paymentRemainder == 0">of ${{ monthlyPayment.toFixed(2) }}</span>.<div v-if="widgetDescription">{{widgetDescription}}</div><span class="ax--btn ax--btn--secondary viewSchedule" @click="showModal = true">View Payment Schedule</span></p><ax-modal v-if="showModal" modalType="message" size="medium" @close="showModal = false"><template v-slot:header><h3>Payment Plan Schedule</h3><div>{{modalDescription}}</div><div>${{totalDeposit.toFixed(2)}} will be charged now. The remaining ${{totalPaymentPrice.toFixed(2)}} will be charged on the following schedule:</div></template><template v-slot:body><ax-loader v-if="processing" size="lg" position="fixed" loader-color="#222" /><ax-data-table v-if="!!paymentDetails.length" :allow-row-selection="false" break-width="large" :headers="paymentTableHeaders" :items="paymentDetails"/><div>Product total with deposit: ${{(totalPaymentPrice + totalDeposit).toFixed(2)}}</div></template></ax-modal></div>', created() { this.dates = window.datesArray this.paymentPrices = window.priceArray this.paymentPlanProductIds = window.productArray this.modalDescription = window.modalDescription this.widgetDescription = window.widgetDescription this.buildPaymentSchedule() }, computed: { productId() { return this.$store.getters['products/selectedProduct'].Id }, selectedAttributeValueIds() { return this.selectedAttributes .filter(function (attribute) { return !attribute.IsDisabled }) .map(function (obj) { return obj.SelectedValueId; }); }, selectedAttributes() { return this.$store.getters['products/selectedProductAttributes'] }, numberOfPayments() { return this.dates.length }, isPaymentPlanProduct() { let _this = this let foundProductId = this.paymentPlanProductIds.find(function (pid) { return pid === _this.productId; }); if (foundProductId){ return true } else { return false } }, }, methods: { buildPaymentSchedule() { this.paymentDetails = [] let paymentPriceRecord = null this.totalPaymentPrice = 0 this.totalDeposit = 0 //First we must determine which of the selected attributes have payment prices and calculate a total payment price for them let _this = this this.selectedAttributeValueIds.forEach(function (attributeId, index) { paymentPriceRecord = null paymentPriceRecord = _this.paymentPrices.filter(p => { return p.id.toString() === attributeId }) if (paymentPriceRecord && paymentPriceRecord.length > 0) { _this.totalPaymentPrice += paymentPriceRecord[0].paymentPrice _this.totalDeposit += paymentPriceRecord[0].deposit } }) if (_this.totalPaymentPrice > 0) { //Determine monthly payment let thisPayment = +(_this.totalPaymentPrice / _this.dates.length) _this.monthlyPayment = Math.floor(thisPayment * 100) / 100 //Determine if there is a remainder amount _this.paymentRemainder = +(_this.totalPaymentPrice - (_this.monthlyPayment * _this.dates.length)).toFixed(2) //Then we create payment record for each configured date _this.dates.forEach(function (paymentDate, index) { if (index === _this.dates.length - 1 && _this.paymentRemainder > 0) { let lastPayment = _this.monthlyPayment + _this.paymentRemainder _this.paymentDetails.push({ date: paymentDate, amount: `$${lastPayment.toFixed(2)}` }) } else { _this.paymentDetails.push({ date: paymentDate, amount: `$${_this.monthlyPayment.toFixed(2)}` }) } }) //Add a total amount row _this.paymentDetails.push({ date: '<b>TOTAL</b>', amount: `<b>$${_this.totalPaymentPrice.toFixed(2)}</b>` }) } }, }, watch: { selectedAttributeValueIds: { immediate: true, deep: false, handler(newValue, oldValue) { this.buildPaymentSchedule() }, }, } }) // ]]></script>