Whoa there!

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

;

Gould Academy Competition Program: Alpine

Designed for advanced skiers with a desire to improve and compete in alpine skiing. |
  •          Athletes interested in alpine will train in slalom, giant slalom, super-G, and downhill disciplines.
  •          Available for ages 7-19.
  •          Training occurs every weekend and holiday period beginning mid-November through the last weekend in March.
  •          See all GACP programs.
*
$1,599.00

Gould Academy Competition Program: Alpine

Thank you for joining the Gould Academy Competition Program. We’re looking forward to the 2020-21 season with you.

View program information and calendar.

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

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

Gould Academy Competition Program: Freestyle

Designed for advanced skiers with a desire to improve and compete in freestyle skiing. |
  •          Athletes interested in freestyle will focus on freeriding and mogul disciplines.
  •          Available for ages 7-19.
  •          Training occurs every weekend and holiday period beginning mid-November through the last weekend in March.
  •          See all GACP programs.
$1,599.00

Maine Student Combo Pass - 20/21

Available to Maine residents, offering unlimited skiing and riding all winter at both Sunday River and Sugarloaf for ages 6 to 18.|
$599.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>