Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Insert excerpt
Golf - EZLinks Tee Time Reservations and Online Check-In
Golf - EZLinks Tee Time Reservations and Online Check-In
nopaneltrue

...

Insert excerpt
Set-up Checklist
Set-up Checklist
nopaneltrue

EZLinks Tasks

Contact EZLinks and complete required setup.

Status
colourRed
titleRequired

  • Purchase an EZLinks subscription.

    Status
    colourRed
    titleRequired

  • Setup a web reservation channel.

    Status
    colourRed
    titleRequired

  • Provide AW with SponsorID(s), Course ID(s), etc.

    Status
    colourRed
    titleRequired

  • Complete misc. EZLinks tasks.

    Status
    colourRed
    titleRequired

Status
colourYellow
titlePrerequisites

Infrastructure Tasks

1. Provide Aspenware Azure information (reccomended to use secure upload and not send via email)

Status
colourRed
titleRequired

  • Application (Client) ID

  • Directory (Tenent) ID

  • Client Secret for the Aspenware DevOps app registration

2. AW rep tasks:

Status
colourRed
titleRequired

  • Provide EZLinks with technical requests

  • Request connection info from EZlinks

  • Install Plugins (Golf, Routing, Roles, Discounts, Discount Requirements)

  • Point AWC test to EZLinks Test and AWC Live to EZLinks Live

  • Ensure “Unity.Discount” Configuration > Widgets is enabled

  • Ensure “Cache product prices” is unchecked Configuration > Settings > Catalog Settings

  • Add Category Template System > Templates > Category Templates

  • Add Product Template System > Template > Product Templates

  • Set up salt values in EZLinks settings

Status
colourYellow
titlePrerequisiteS

Aspenware Commerce Tasks

1. Set up “Golf” Category

Status
colourRed
titleRequired

2. Create Golf Attributes

Status
colourRed
titleRequired

3. Enable store to route to Golf

Status
colourRed
titleRequired

4. Set the Default Sponsor ID

Status
colourRed
titleRequired

5. Map Customer Role(s) to the corresponding EZLinks Sponsor ID(s)

Status
colourRed
titleRequired

6. Add Language Strings

Status
colourRed
titleRequired

7. Add Widgets

Status
colourRed
titleRequired

Status
colourYellow
titlePrerequisiteS

1. Create Golf Course Product

Status
colourRed
titleRequired

2. Assign the line of business to the product

Status
colourRed
titleRequired

3. Set the course display order

Status
colourBlue
titleoptional

6. Add Course Notes

Status
colourBlue
titleoptional

7. Add Discounts

Status
colourBlue
titleoptional

8. Enable Online Checkin

Status
colourBlue
titleoptional

9. Disable Online Checkin Out of Season

Status
colourBlue
titleoptional

Status
colourGreen
titleDetailed setup

Prerequisite Tasks

Insert excerpt
Prerequisites Tasks Excerpt
Prerequisites Tasks Excerpt
nopaneltrue

...

  • Provide EZLinks with technical requests

  • Request connection info from EZlinks

  • Install Plugins (Golf, Routing, Roles, Discounts, Discount Requirements)

  • Point AWC test to EZLinks Test and AWC Live to EZLinks Live

  • Ensure “Unity.Discount” Configuration > Widgets is enabled

  • Ensure “Cache product prices” is unchecked Configuration > Settings > Catalog Settings

  • Add Category Template System > Templates > Category Templates

    • Name: Golf

    • View path: CategoryTemplate.GolfProducts

    • Display order: 2

  • Add Product Template System > Template > Product Templates

    • Name: Golf product

    • View path: ProductTemplate.Golf

    • Display order: 11

    • Ignored product type IDs (advanced): [leave blank]

  • Aspenware uses this value to make calls when we don’t know a user’s password and have to do something with their EZL account. A salt is added to the hashing process to force their uniqueness, increase their complexity without increasing user requirements, and to mitigate password related attacks.

    • These should be placed under the EzLinksSettings:

    • "EzLinksSaltValue": "4$p3N$4Lt",

...

1. Set up “Golf” Category

  • Go to Catalog > Categories > Add New and set up a category titled “Tee Times.”

  • Set up this category according to the Category Configuration Guide, however, you must also toggle on the “Advanced” view and set the Category template to “Golf”.

...

2. Create Golf Attributes

  • Go to Catalog > Attributes > Product attributes and create the following attributes:

...

  • If “Golf” is not already present go to Aspenware Commerce > Routing > Manage Lines of Business and add “Golf” while leaving Ski as the default.

...

Aspenware references EZLinks' 18 holes, 9 holes, and membership Sponsor IDs in order to retrieve the correct tee times and pricing for specific customers. Since rates can vary for “club members” and “public players”, Aspenware requires a “Default Sponsor ID” which should be mapped to the public player sponsorID for 18 holes and 9 holes if applicable. This ensures a guest without a special Role is priced at the public rate.

  • Go to Aspenware Commerce > Golf Configuration and enter the Sponsor IDs and click Map

...

Info

NOTE: First customer roles must be set up which can be done by following the guide here:

Configuration: Customer Role Assignment

  • First, go to Customers > Customer Roles and select Add New.

  • Name the customer role in accordance with the membership General Program Profile in RTP|One and the Membership SponsorID name in EZLinks.

  • Ensure Active is checked and DO NOT UPDATE ANY OTHER FIELDS.

  • Select Save and repeat this process for all roles.

Note

IMPORTANT: If you define a “purchased with product” on a customer role configuration in Aspenware Commerce it can break your site. Roles can be granted via purchased products in RTP|One but NOT using this feature.

  • Next, go to Aspenware Commerce > Role Configuration and complete the following:

    • Roles: Select the role from the drop-down that was just created in the step above.

    • External Role ID: Input the General Program Profile ID from RTP|One in the External Role ID field.

    • Sales Channel ID: Input the EZLInks SponsorID from EZLinks in the Sales Channel ID field.

    • Membership Type ID: Input the EZLinks Membership Type ID in the Membership Type ID field.

  • Click Map and repeat this process for all roles.

...

The most up-to-date language strings can be found here: Language Strings Library and the following are related to golf:

Language String

Default Value

Messages.Order.DueAtCourse

Due at Course:

golf.catalog.viewteetimes

View Tee Times

golf.checkin.slotmissingcustomer

Missing Customer Info: Slot customer is missing

Golf.CheckIn.NoReservation.Title

No Reservation Found

Golf.CheckIn.NoReservation.Message

Online check-in is only available on the date of play. Check your reservation details and try again.

Golf.CheckIn.TooLate.Title

You are a bit too late to check in

Golf.CheckIn.TooLate.Message

Online check in is only available on the date of play. You are searching for a reservation for ${DateOfPlay}. Come back on that date to check in. Thanks for choosing BOYNE Golf!

Golf.CheckIn.TooEarly.Title

You are a bit too early to check in

Golf.CheckIn.TooEarly.Message

You are a bit too early to check in. “Online check-in is only available on the date of play. You are searching for a reservation for <Date of Play>; please come back on that date to check in. Thanks for choosing BOYNE Golf!

Golf.CheckIn.Button.Search

Search

Golf.CheckIn.Button.SearchNew

New

Golf.CheckIn.Button.Next

Next

7. Add Widgets

The most up-to-date widgets and process to add can be found here: https://aspenware.atlassian.net/wiki/spaces/AE/pages/1102807053/Configuration+and+Library+HTML+Widgets#1.-Find-the-Desired-HTML-Widget and the following are related to golf:

HTML Widget Name

Use

Code

Config Options

Widget Zones

Location

Example(s)

Click to expand

Golf Reservation Message

Because Tee-Times are $0 down products, this explains why a credit card is being collected for carts with tee-times

Code Block
<div class="payment-message" style="padding: 1.6rem; background: #e8edf0; margin: 0 1.2rem; line-height: 1.5;" v-if="requiresCreditCard">A credit card is being collected to reserve your tee time. {{ personalization.TotalPriceDisplay }} is due online. {{ personalization.TotalCustomerEnteredPriceValue | currency }} will be due at the course.</div>

Can edit some phrasing

checkout_payment_method_bottom

Image Modified

Checkout - Payment Page

Golf Confirmation Page Message

Reiterate the amount due at course and highlight terms and conditions before guest completes booking

Code Block
<div class="payment-message" style="padding: 1.6rem; background: #e8edf0; margin: 0 1.2rem; line-height: 1.5;" v-if="requiresCreditCard"><strong>{{ personalization.TotalCustomerEnteredPriceValue | currency }} DUE AT COURSE<br /><br />
Cancellation/No Show Policy:</strong><br />All guests are responsible for their reserved tee times. No payment will be collected to reserve a tee time; in the event of a no show, the credit card associated with the tee time reservation will be charged as follows: 
Tee time cancelled more than 48 hours before tee time, no fee charged. Tee time canceled 24 - 48 hours before tee time, 50% of greens fee will be charged. Tee time canceled less than 24 hours before tee time will be charged 100% of greens fees. 
This cancellation policy and associated penalties is applicable to all non-Full Golf Member players.</div>

Must edit cancellation policy to match own policy

checkout_confirm_bottom

Image Modified

Checkout - Order Confirm Page

Golf Tee Times Check-in Help

If online check-in enabled for golf, this widget zone gives instructions for how to use online tee time check in on the Tee Time Check in page

Code Block
<div id="“maincontent”">
<h2>How to Check In For Your Round</h2>
<hr class="“bluelinerule”" />
<div class="“introdescription" intro-body="">
<div class="”" introdesctext="">
<p><i>Online check-in is only available on day of play from midnight up to your tee time.</i></p>
<h3>How to Check In For Your Round:</h3>
<ol>
<li>Choose your course, enter your confirmation number and your last name. If you clicked on the <i>Check In</i> link in your email, these fields will be pre-populated.</li>
<li>Choose one or more slots to check in and pay in a single transaction, click Next.</li>
<li>You may choose to check out as a guest or login with your account. If you are a BoyneRewards member, please log in to receive your points.</li>
<li>Playing with friends on your reservation? Simply forward your confirmation email with the link to them or copy the link above and they can check in their slot and pay online too.</li>
<li>Show up and enjoy your round of golf!</li>
</ol></div>
</div>
</div>

Text

checkin_teetimes_bottom AND body_start_html_tag_after

Tee Time Check-In Page when ACTIVE

Online Check-in Unavailable

Turn this on ONLY when online check-in is not available, for example before the golf course is open for the season

Code Block
<!-- REMOVE THIS TO ENABLE CUSTOMER PRE-PAY / CHECK-IN FOR GOLF -->
<section class="no-result unavailable">
<h2 style="font-size: 1.5rem; font-weight: bold; color: #1c3565;">Online Check-In Is Not Available</h2>
<p>Online check-in is currently not available. Check-in at the course on day of play. Thanks for choosing RESORT Golf.</p>
</section>
<style><!--
section.search-reservation {
  pointer-events: none !important;
  opacity: 0.85 !important;
}
#commerce-store .tee-time-check-in section.search-results {
  display: none !important;
}
section.unavailable {
display: none;
}
#commerce-store .tee-time-check-in section.unavailable {
  display: block;
}
--></style>

Text

checkin_teetimes_bottom AND body_start_html_tag_after

Tee Time Check-In Page when INACTIVE

Detailed Setup Guide

Insert excerpt
Detailed Setup Guide Excerpt
Detailed Setup Guide Excerpt
nopaneltrue

1. Create Golf Course Product

  • Go to Catalog > Products > Add New and set up a product according to standard product shell configuration [see: Configuration: Product Shell] with the following differences:

...

  • In order to properly display the data populated from EZLinks on the PDP, add the golf attributes exactly as displayed below:

...

Note

WARNINGIMPORTANT: If anything does not match exactly as above including capitalization, display order, etc then the product will not perform as expected.

  • To hide extra attributes that should not show in cart card e.g. slot id etc. Navigate to Configuration > Settings > All settings.

  • Find “catalogsettings.hiddenattributes” and in the value section, enter the exact attribute names that you would like not shown in the cart separated by a comma.

  • Select Update.

2. Assign the line of business to the product

  • Go to Aspenware Commers > Routing then select each course from the Product drop-down, select Golf from the Line of Business drop-down, and click Assign.

...

3. Set the Course display order

Courses can be configured to display dynamically based on course availability or desired order. If the setup is based upon availability and multiple courses have availability, then the Courses will display in the order in which they were created.

  • Go to Catalog > Categories > select the “Golf” category > Scroll down to Products and click edit on the desired golf course.

    1. To display courses dynamically based on availability set all display orders to 1.

    2. To display courses in a specified order set the values in numerical order.

...

If not already set up Go to Catalog > Attributes > Specification attributes > Add New and create a specification attribute named “Course Note”. Click Add a new option and add “Course Note” then click Save.

Info

NOTE: This is case-sensitive.

...

  • Then go to Catalog > Products > and select your golf course. Scroll down to Specification attributes and click Add attribute. Add the specification attribute “Course Note” and click Save.

    • Attribute type: Custome text

    • Attribute: Course Note

    • Value: {enter the text you want guests to see}

    • Show on product page: checked

    • Display order: 0

...

If you are using a payment provider that supports storing the credit card in the POS from Aspenware, you can collect the credit card during the checkout process even if the order total is $0.

Note

WARNINGIMPORTANT: Only Auth.net has been tested and verified for this. Tokenization through Payeezy and future other payment providers may also work but will need to be tested and confirmed.

If the “Requires CC in checkout” classification does not exist add it. Go to Aspenware Commerce > Product Classifications > Add Classification and add a new classification for collecting the credit card and click Add.

...

Then assign this classification to the Category (assigning directly to the product is not required)

...

For every golf installation that is using customer pre-pay, a single tee time check-in product must be created. This product only needs to be set up once but must be present to power the check-in functionality. 

  • From Catalog>Products, clickAdd New to create a new product. 

  • From here, switch to the “Advanced” tab, providing access to all required fields

  • Change ‘Product Template’ to Golf product

  • Update the following fields:

    1. Product name - Enter “Tee Time”

    2. Short description - Leave blank

    3. SKU - Enter “checkin”

    4. Published - Check to publish the product. If the product is published and belongs to a published category, it will be accessible publicly.

    5. Price - Set to $0. The price when a customer checks out is $0. The price displayed to show what will be charged at the time of guest check-in comes from EZLinks.

    6. Customer enters price - Check this

    7. Minimum amount - Enter 0

    8. Maximum amount - Enter 1000

    9. Tax exempt - Check this

    10. Tax Category - If this appears, set to None. This field will not appear if Tax exempt is checked.

    11. Maximum cart qty - Must be set to 1. Minimum cart qty. should stay default of 1

    12. Categories - Do not add to any categories

  • Click Save and Continue Edit

  • Next, go to the Product attributes tab.

  • In order to properly display the data populated from EZLinks on the PDP, add the golf attributes exactly as displayed below:

...

Note

WARNINGIMPORTANT: If anything does not match exactly as above including capitalization, display order, default values, etc. then the product will not perform as expected.

  • Record the product ID from the “Tee Time” product so you can use the id in the settings required in the step below.

    Image RemovedImage Added

Create Categories for each Golf Shop

  1. Navigate to Catalog > Categories

  2. If Golf Shop Categories are not yet created

    1. Select Add New > Enter Golf Shop Name e.g. Alpine Golf Shop

    2. Select Display > Under Category Template > Select“Golf”

    3. Select Products > Add a new product

      1. Add each course that belongs within the Golf Shop

    4. Record the Category ID so that you can create it as a hidden category in the next step.

Add the required settings for check-in

  • Go to Configuration > Settings > All Settings and search for the following settings:

    • “golfsettings.checkin.teetimeproductid” add the id for the Tee Time product created in the step above.

    • “catalogsettings.hiddencategories” add the id for the category created for the Golf Shop in the step above

    • “GolfSettings.CustomerCheckin.EmailCheckinButtonBaseUrl”. Add this setting if not present and ensure the setting’s value is set to your store’s URL ending with “/checkinteetimes” example:

...

Add Golf check-in link to order confirmation emails

  • Go to Content Management > Message Templates > and click Edit next to the OrderPlaced.CustomerNotification template.

...

  • Click Tools > Source Code” and add the tag %Order.CallToAction% after %Order.Product(s)% in the HTML

  • Then, click Save and Continue Edit

Info

NOTE: This template shares messaging sent for orders containing ski products. If a guest purchases both a ski and golf product in one transaction, the location in the template that you add this tag will determine if ski products are displayed before or after golf products.

...

Turn off/on $0 check-in

  • Go to Configuration > Settings > All Settings and search for “GolfSettings.CustomerCheckin.AllowZeroDollarCheckin”. Add this setting if not present and set to “True” or “False”.

    1. True - $0 orders will be allowed to check-in. (Set to true if you want to allow members to check-in online)

    2. False - $0 orders will be prevented from being allowed to check-in. (Set to false if only guests who have paid for tee times should be allowed to check-in online)

8. Disable Online Check-In when out of Season (Optional)

...

  • Navigate to Nop Templates > Plugins > Html Widgets > Manage Html Widgets

  • Find and Edit “Online Check-In Unavailable”

  • Select Visible to DISABLE customer prepay.

...

NOTE: Some resorts that use Golf functionality of an Aspenware Commerce check-in experience embedded in LS Retail. For documentation on On-site check-in capabilities, please refer to legacy documentation.

...

...