***Please advise, this guide is intended for WooCommerce-based ticket sales only. If you are not using WooCommerce, but are using the KORONA.Events platform, please see this link.***
Linking Accounts
Note: There are an infinite number of plugins for WooCommerce, Korona cannot guarantee that our plugin works well with every other plugin, you may have to test, configure, and reconfigure on your own to get it to work with additional plugins.
First, log into your Korona.cloud account and navigate to Settings > Data Exchange. Type in “api” into the text box and press enter. In the new field that populates click on “Add API Access”. Fill in the information, give the application a name, create a username and password and select all permissions, then click OK. Copy the Account-ID and Endpoint, you will need them later. Next, navigate to Settings > Tax and take note of the tax number you wish to use for your online webstore.
Lastly, navigate to Sales > Points of Sale and create a new one. Select “External Point of Sale”. Fill out the appropriate information and take note of the POS number.
Next, navigate to your WordPress site and add the WooCommerce plugin if you haven’t already. Then, download the Korona-WooCommerce plugin here.
Navigate to Plugins > Add New and select the zip file you just downloaded. After it installs navigate to Settings > KORONA Settings. Fill out the information here with the information you have noted from the previous steps.
Korona Settings
Google Map API Key will be what you use for geolocation/map display on your events. If you have events in WooCommerce that are tied to a location this will function based on this API key. (This is Optional, it will not impact your experience with Korona Sync at all)
Korona Account ID will be what is listed on the APIv3 snippet in the Korona Cloud, Copy that from the cloud and into this field inside of WooCommerce.
Korona API Endpoint URL will be what is listed right beneath your Account ID in your APIv3 snippet in the Korona Cloud, it is labelled the same. Copy that from the cloud and into this field inside of WooCommerce
Korona API User will be the same as the “user” you set up when you added a new APIv3 connection. Copy that from the cloud and into this field inside of WooCommerce
Korona API Password will be the same as the “password” you added underneath that user when you set up this new APIv3 connection in the cloud. Copy that from the cloud and into this field inside WooCommerce
Korona POS Number will be the number that is listed in the far left column of the Points of Sale listing inside of the Korona Cloud. Typically 01, 02, 03 etc. Copy that from the cloud and into this field inside of WooCommerce. (You will need to have created this as an external point of sale from the previous steps)
Korona Tax Number will be found inside of Settings > Taxes in the Korona cloud, that you created in the previous steps. You want to make note of the number on the far left side of the Taxes column. Copy that from the cloud and into this field inside WooCommerce.
WooCommerce Settings
Once you have the basic fields set up the next step will be choosing how this plugin will behave in terms of its connection to Korona.
Syncing Korona Products
You will want this checked if you intend to have your listing of Products in Korona to be reflected on the WooCommerce site. The way that mapping is handled is the SKU in WooCommerce, should EQUAL the PRODUCT NUMBER in Korona. ** This is important because if you already have products in your WooCommerce account and you want them to “match” up with existing products inside of your Korona account, you’d want to ensure these values match. Otherwise products will create themselves inside of WooCommerce along those same conventions.**
Sync KORONA Events
You will want to use this if you plan on using ticket event sales. Ticket Event sales differ from general admission tickets in that they occupy a certain time slot with capacity restrictions. If you are not using Events within Korona Cloud, you do not need this checked. If you are using Events through the Korona Cloud, the events will be synced from Korona and placed inside of a new WooCommerce side menu called “Events”.
Draft Sync
You will want to use this if you would like it so that when products or events from Korona are synced to your WooCommerce site, they should sync as a “Draft” instead of as something immediately “published” to your live site. This is recommended as it will allow you more freedom in customizing the appearance of these products and events on your website cosmetically, instead of publishing as just raw product data passed over from Korona.
Show Event Details
This is only applicable for users who have already chosen to select Korona Sync Events. If you are not using that feature you can ignore this box. If you are using Events, this corresponds with how “Category” inside of events are displayed. For instance if you sell variants of event tickets, child, adult, senior, etc. This will allow you the freedom to display those ticket variants underneath the Event itself. If your Events are a one ticket type for all, then you can leave this unchecked.
Enable Debug
You will probably want this unchecked unless working directly with our support team to troubleshoot an issue via email. This enables a log file to be written noting the steps the plugin is running, the log file can grow large and so can waste valuable size on your hosting site. We recommend having a file manager or FTP access to your WooCommerce site before enabling this option, so you can later manually remove the log file and free up that extra space.
Event Details Template
This simply just gives options for how the display of your Event Details appear, there are a variety of displays you can choose from to see which best you prefer.
More Syncing
Underlying how Syncing works in WooCommerce are a few basic principles. Everything will still run through Cron Jobs native to WooCommerce.
Cron Jobs typically run batches of events inside of WooCommerce, such as syncing data. They will try to execute queries of reasonable size so as to not overload the live server processing data, due to the nature of this if the job is running or triggered, it may still take some time to complete as it goes through its smaller queries. This is why the amount of Products/Events you see synced at a time may vary from the Total amount in your Korona Account, it splits the job up if its a large enough data set.
All of your Events will be synced to WooCommerce after this setup is done. Depending on the amount of Events in your system the time for them all to display in WooCommerce will vary. Depending on how your Cron Job setup is, the sync will be triggered according to those specifications.
All of your products will be synced to WooCommerce after the setup is done. Please be patient, though, as the size of your database will contribute to the length of time this process takes. New products will be created and existing products will either be updated or left alone. Depending on how your Cron Job setup is, the sync will be triggered according to those specifications.
if you wish to manually trigger/change the way the job executes you are free to use whatever Cron Job Manager plugin you prefer. The name of Korona’s Cron Job will be displayed as “Korona_sync_event”
Other situations that will Trigger a sync to take place are as follows:
When a product or event is updated/changed in ANY way inside Korona. This would cause a sync to WooCommerce
From the WooCommerce side, when a sale takes place, that triggers the sync. Or if an existing order (sale prior to the korona connection) has its order status changed, that would cause a sync as well.
When a Customer loads up the events page on a live site, it has to make a live call to determine capacity status.That also triggers a sync.
What Carries Over with the Sync
All of your products will carry over the Data from the Name, Product Number, Price. You will still need to manually adjust things such as images and descriptions of those products on your WooCommerce site before publishing.
All of your Event data that will carry over is Event Name, Capacity (live updates with sales from both sides), Category (ticket variants), Time slot, Time Duration.
In Stock vs Out of Stock
The product’s will now be shown as In Stock or Out of Stock based on the warehouse value in Korona. A product that has 1 or more actual goods in a Korona warehouse will show as In Stock and an item that has 0 or a negative quantity will be shown as Out of Stock. Please be aware that this sync takes place about once every 10 minutes and that the inventory number does not get synchronized, just whether it is in or out of stock.
Building Out Events Page and other Short Codes
Events do not list as products on the default product pages, to view events you will have to create a new page or post in WooCommerce and from there you can use any of our short codes to help build out the Events “interface”.
Here is the master list of options you have for Short Codes
[event-list cat=” org=” style=’grid’ cat-filter=’no’ org-filter=’no’ show=” pagination=’no’ sort=’ASC’]
Here is a brief explanation of how each of these differ in behavior and display
cat:
By default, all events will be shown. However if you want to show events by list per Category you can use this attribute. Usage format:
[event-list cat=’ID’]
org:
By default, all events will be shown. However if you want to show just events by Organization you can use this attribute. Usage format:
[event-list org=’ID’]
style:
By default, all events show in a grid format. However if you want to change the display style to a list view instead use this attribute. Usage format:
[event-list style=’list’]
cat-filter:
By default all events will be listed without any filter options. However if you want to change it to have a category filter use this attribute. Usage format:
[event-list cat-filter=’yes’]
org-filter:
By default all events will be listed without any filter options. However if you want to change it to have an organization filter use this attribute. Usage format:
[event-list org-filter=’yes’]
show:
By default all events will be listed without any limit on the amount displayed. However if you want to change it to have set limits, you can use this attribute. Usage format:
[event-list show=’10’]
pagination:
By default there is no pagination notated with the event list but if you want to show pagination you can use this attribute. Usage format:
[event-list pagination=’yes’]
sort:
You can sort the event list by event start date/time. By default it sorts in ascending format, If you want to change the sorting format you can modify this attribute. Usage format:
[event-list sort=’ASC/DESC’]
Event Calendar:
If you wish to view the events on a Calendar display you can use this attribute. Usage format:
[event-calendar]
Additional Help
Helpful Tools
Ticket products need to have a ticket definition and a production type that has the word “ticket” in the name. Otherwise WooCommerce will not create tickets.
Turning your ticket number into a QR code in your Customer Receipt Emails.
You’ll notice that inside of the “Email Settings” inside of the Korona Settings inside of WooCommerce there are two other codes you can reference.
_ticket_
_description_
These can be used to input text into the relevant section of the html. For instance, if you put something like “congratulations your ticket number is _TICKET_”
That customer will see their actual ticket number listed there instead of “_TICKET_”. The _description_ code works similarly however provides the description of the event instead.
If you wish to have the ticket number that is generated automatically be delivered in QR code format, you can input this line into your HTML. This will resolve that Ticket Number into a QR code for a customer to scan easily at any 2D scanner on-site for validation.
Example:
https://chart.googleapis.com/chart?chs=300×300&cht=qr&chl=_TICKET_