Versions Compared

Key

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

...

Architecture Diagram

...

Step

Label

Note

1

NOP

Nopcommerce also know as Aspenware Commerce powers both the golf customer facing shopping experience and the Pro-Shop Checkin page that appears within LSRetail for onsite checkins.

If multiple resorts are operating golf courses that operate out of separate stores but share a single corporate entity, then there are separate Nops for each resort likely.

2

Identity

Big Sky

Identity

Identity is a separate application that enables customers authenticate to Aspenware Commerce and other applications via sign in, create account or claim account flows. Flows for how Identity handles create an account, log in, and claim account are detailed here.

Site

Authentication Method Turned On

Golf Enabled

Boyne Golf

Identity + Guest

Yes

Boyne HI

Identity

No but on Nop Instance with Golf

Boyne MO

Identity

No but on Nop Instance with Golf

Avalanche Bay

Identity + Guest

No but on Nop Instance with Golf

Inn at Bay Harbor

Identity + Guest

No but on Nop Instance with Golf

Gatlinburg

Standard Login + Guest

No

Sugarloaf

Identity

Yes

Sunday River

Identity

Yes

Loon

Identity

No

YesIf multiple resorts are operating golf courses that operate out of separate stores but share a single corporate entity, then there is likely a single Identity that all the resorts tie into.

3

LS Retail

LS Retail displays a Nop storefront within LSRetail to power the check-in experience. There are multiple terminals that all run LSRetail and are linked to the NOP store that is configured for its terminal.

4

Unity used for EZLinks

Used for booking and displaying tee time data.

If multiple resorts are operating golf courses that operate out of separate stores but share a single corporate entity, then there are separate EZLinks Identitys for each resort likely.

5

Redis Cache

The Redis Cache is a database that stores tee time information coming from the EZL Xtream Service, RTP & EZLinks Contact Pairings, and Earliest Available Tee Time Information.

If multiple resorts are operating golf courses that operate out of separate stores but share a single corporate entity, then there is likely a single Redis Cache that all the resorts tie into.

6

Xtream Services

The Xtream Service is an EzLinks Subscription Service. EzLinks Unity subscribes to this service to get real-time updates on tee times for all of courses that unity instance. When we get sent a message from the Xtream service, EzLinks Unity will process the message and update the tee time information stored in the Redis Cache (the tee time data that is stored in the redis cache is the same data that is displayed on the PDP).

If multiple resorts are operating golf courses that operate out of separate stores but share a single corporate entity, then there is likely a single Xtream Service that all the resorts tie into.

7

Golf Topic Function/Queuing Process

Calls create customer.

  1. First, it checks to see if the customer already exists in EZLinks.We match on Internet User ID, which is a combo of some prefix (defined in settings) and ip code ("{_settings.InternetUserIdPrefix}{recId}")

  2. If a customer does not exist, the customer is created in EZLinks with the following data:

    1. IP Code (stored in InternetUserID),  LastName, FirstName, StreetAddress, StreetAddress2, City, StateProvince, ZipPostalCode, CountryId, Phone, Email, sponsorId, ezLinksCountryId
      If fields are not present then defaults are set. Address fields default to XX/XXX and phone defaults to 0000000000, country defaults to us

8

Syncing customers from Shared EZLinks Unity to EZLinks API

Check for customers/create customers in EZLinks

Regardless of which NOP site a customer is created on, the behavior of syncing customer to RTP|One is identical. Flows for how Identity handles create an account, log in, and claim account are detailed here.

Info

NOTE: When guest checkout is turned on with Identity, Guest checkout has to be the prioritized flow. So the guest is first asked if they want to checkout as a guest, and if they opt to log in, they are routed to Identity. If guest checkout is turned on with standard login, either guest checkout or standard login can be prioritized with a setting.

...

  1. A message is sent to Topic in the Service Bus that a customer was created in RTP. We have an EZLinks function that is subscribed to that topic.

  2. When a topic gets a message it tells the EZLinks Function that a customer has been created and the following events are followed to create a customer in EZLinks.

    1. First we check , it checks to see if the customer already exists in EZLinks.We match on Internet User ID, which is a combo of some prefix (defined in settings) and ip code ("{_settings.InternetUserIdPrefix}{recId}")

    2. If a customer does not exist, the customer is created in EZLinks with the following data:

      1. IP Code (stored in InternetUserID),  LastName, FirstName, StreetAddress, StreetAddress2, City, StateProvince, ZipPostalCode, CountryId, Phone, Email, sponsorId, ezLinksCountryId
        If fields are not present then defaults are set. Address fields default to XX/XXX and phone defaults to 0000000000, country defaults to us

...

Frequently Asked Questions

...