Whoa there!

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

;

Loyalty Maine Student Sunday River Pass - 20/21

Available to Maine residents, offering unlimited skiing and riding all winter at Sunday River for ages 6 to 18. Loyalty Passes may only be purchased by guests who purchased a season pass for the 2019/20 or 2018/19 seasons.|
*
$419.00

Loyalty Maine Student Pass

Thank you for being a loyal Sunday River passholder. We’re looking forward to the 2020-21 season with you.

 

Redemption Information: Loyalty Maine Student Pass

 

Please note that we are in the process of determining how to best connect you with your new pass once paid in full. Please stay tuned for more information as we work through new social distancing standards, all of which will be communicated by email and posted to sundayriver.com. Additional information related to season passes can be found here:

 

Customers who bought this item also bought

Loyalty 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. Loyalty Passes may only be purchased by guests who purchased a season pass for the 2019/20 or 2018/19 seasons.|
$1,044.00

South Ridge Preferred Parking Pass

It’s the time of year to start thinking about your preferred parking pass for the 2020-21 season. | To simplify your experience here at Sunday River Resort, all preferred parking passes will be managed by the Guest Service office in the Welcome Center at South Ridge Lodge. If you are renewing your preferred parking pass, the deadline for payment is October 12, 2020. * Please note Parking Passes are only available to those who had a parking pass during the 2019-2020 season. Guests who have purchased a pass that are not previous parking pass holders will have their orders canceled.
$530.00

Loyalty College Gold New England Pass - 20/21

Offering full-time college students unlimited skiing and snowboarding all season at Sunday River, Sugarloaf, and Loon Mountain with additional benefits including discounted friend tickets. Loyalty Passes may only be purchased by guests who purchased a season pass for the 2019/20 or 2018/19 seasons. |
$344.00

Loyalty Community Sunday River Pass - 20/21

Available to local residents, offering unlimited skiing and riding all winter at Sunday River for ages 6 to 18. Loyalty Passes may only be purchased by guests who purchased a season pass for the 2019/20 or 2018/19 seasons.|
$309.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>