The Events Calendar includes a feature that allows you to import events from other calendars, or to add a large number of events quickly from a CSV file.
We have step-by-step instructions for importing data from a CSV file in another post. The purpose of this post will be to provide files you can use to create your own imports. The Events Calendar is capable of importing a bunch of data for events, organizers, venues, tickets and RSVPs alike and the examples in this post will provide you with a starting point as well as a reference for the files you plan to import.
The bottom line is this: each column in a file corresponds to information that would be entered directly in WordPress if you were creating an event, organizer, venue, ticket or RSVP post in the WordPress editor, If the information in the columns do not match the fields that are available in the editor, then it will not be included in the import. These examples will help you ensure that your data formats are correct before initiating the import process.
⚠ It's important to remember that some date formats can be rather ambiguous! For example, 05/06/2016 could be interpreted either as May 6th or as 5th June. It's important to note that the former style, more common in North America, is assumed by the importer. If you prefer to use the alternative format, with the day first and month second, you can do so—but please use hyphens instead of slashes, i.e. 05-06-2016.
Venues
The following venue fields can be imported via a CSV file:
Field Name | Example Data | Field Type | Notes |
Venue Name | Home of Deduction | String | |
Venue Description | An apartment with a second-floor view. | HTML | |
Venue Country | UK | String | Preferably a 2-3 letter country code. |
Venue Address | 221 Baker Street | String | |
Venue Address 2 | Apartment B | String | Is appended to the Venue Address line upon import. |
Venue City | London | String | |
Venue State/Province | London | String | |
Venue Zip | NW1 6XE | String | |
Venue Phone | +1-800-123-4567 | Phone Number | |
Venue Website | http://www.sherlock-holmes.co.uk/ | URL | |
Venue Featured Image | http://www.sherlock-holmes.co.uk/wp-content/uploads/2016/05/29/sherlock-thumb.png | URL | This should be a direct URL to the image. |
Organizers
The following Organizer fields can be filled in via a CSV file:
Field Name | Example Data | Field Type | Notes |
Organizer Name | George-Michael Bluth | String | |
Organizer Description | Recently started growing a <em>moustache</em>. | HTML | |
Organizer Email | boygeorge@halliburtonteen.com | Email address | |
Organizer Website | http://fakeblock.com | URL | |
Organizer Phone | +1-987-555-1238 | Phone Number | |
Organizer Featured Image | http://halliburtonteen.com/wp-content/uploads/profiles/george-mb/550x400.jpg | URL | This should be a direct URL to the image. |
Events
Before importing events it is best to import or otherwise create the Organizers and Venues first. Once those are done, you can import an event and specify the unique Organizer name and Venue name that you have already added, and thus attach an event to the already imported organizers and/or venues.
The following event fields can be imported via a CSV file:
Field Name | Example Data | Field Type | Notes |
Event Name | Tacktleneck Fitting | String | |
Event Description | I <em>didn't</em> invent the turtleneck, but... | HTML | |
Event Excerpt | I'm afraid of any apex predator that lived through the <strong>K-T Extinction.</strong> | HTML | This is used as the excerpt, while the description is used as the actual content. |
Event Start Date | 1965-12-31 | Date | Example is for an event on December 31st, 1965. |
Event Start Time | 21:30:00 | Time | The time of day that the event starts. Example is for an event starting at 9:30pm. |
Event End Date | 1966-01-01 | Date | Example is for an event ending on January 1st, 1966. |
Event End Time | 00:50:00 | Time | The time of day that the event ends. Example is for an event ending at 12:50am. |
All Day Event | FALSE | Boolean | When true the event is treated as lasting all day from the beginning of the Start Date to the end of the End Date. The Start/End Time fields are essentially ignored and can be left blank. |
Timezone | America/New_York | String | This should be a valid Timezone string. Timezones can be represented in numerous acceptable ways. You can find a list of acceptable timezones sorted by continent here. |
Hide from Event Listings | FALSE | Boolean | When true, the event will appear in Month View, but in "List" views like the outright List View, the Photo View, etc. |
Sticky in Month View | TRUE | Boolean | When true, the event will appear at the top of its corresponding "day" square in the Month View, regardless of other events that day at other times. |
Event Venue Name | Archer's Penthouse | Comma Separated | Must match exactly the Venue Name of a preexisting Venue (see note about multiple venues). |
Event Organizers | Woodhouse, Chelsea S., 42 | Comma Separated | Must match exactly the Organizer Name of a preexisting Organizer, or you can use the Organizer's post ID. You can enter multiple Organizer Names or IDs separated by commas. |
Event Show Map Link | TRUE | Boolean | |
Event Show Map | TRUE | Boolean | |
Event Cost | 500 | String | Set to 0 for a free event. Leave blank if you do not wish the cost field to appear. Otherwise specify a single number for the event cost. This field is essentially unused when a ticketing plugin is active. |
Event Currency Symbol | $ | String | This field is essentially unused when a ticketing plugin is active. |
Event Currency Position | prefix | Unique | Sets whether the Currency Symbol is a prefix or suffix. Accepts two values "prefix" and "suffix". When left blank the default "prefix" is used. This field is essentially unused when a ticketing plugin is active. |
Event Phone | +1-326-437-9663 | Phone Number | |
Event Category | Tacktleneck, Tailor | Comma Separated | Separate multiple categories with commas. The example puts this event in two categories: Tacktleneck and Tailor. |
Event Tags | Valet, Mission ready, PPK | Comma Separated | Separate multiple tags with commas |
Event Website | http://doyounot.com | URL | |
Event Featured Image | http://doyounot.com/wp-content/uploads/thumbs/event.png | URL | This should be a direct URL to the image. |
Allow Comments | TRUE | Boolean | When true, comments will be allowed on the event. |
Allow Trackbacks and Pingbacks | FALSE | Boolean | When true, trackbacks and pingbacks will be allowed on the event. |
Note: while it is possible to enable support for multiple venues, by default you can only assign a single venue to each event. So, while comma separated values are technically supported for venues, this really only makes sense if multiple venue support is enabled. In general, it's recommended you specify a single venue here.
RSVP Fields
Before importing RSVPs, you should ensure that the events (or other post types) they are associated with have been imported, too. These are the RSVP fields that can be imported via CSV:
Field Name | Example Data | Field Type | Notes |
Event Name, ID, or Slug | NYPL Author Series: Shane Pearlman | String | |
Ticket Name | General Seating | String | |
Ticket Description | Reservation for a seat in the <strong>Peifer Auditorium</strong>. | HTML | |
Ticket Start Sale Date | 2016-12-01 | Date | |
Ticket Start Sale Time | 14:30:00 | Time | |
Ticket End Sale Date | 2016-12-15 | Date | |
Ticket End Sale Time | 21:30:00 | Time | |
Ticket Stock | 450 | Integer | CSV only accepts integers for ticket stock. |
Ticket Show Description | Yes|No | String |
Tickets Fields
Before importing tickets, you should ensure that the events (or other post types) they are associated with have been imported, too. These are the tickets fields that can be imported via CSV:
Field Name | Example Data | Field Type | Notes |
Event Name, ID, or Slug | NYPL Author Series: Shane Pearlman | String | |
Ticket Name | General Seating | String | |
Ticket Description | Ticket for a seat in the <strong>Peifer Auditorium</strong>. | HTML | |
Ticket Start Sale Date | 2016-12-01 | Date | |
Ticket Start Sale Time | 14:30:00 | Time | |
Ticket End Sale Date | 2016-12-15 | Date | |
Ticket End Sale Time | 21:30:00 | Time | |
Ticket Price | $25.00 | String | An integer without the currency symbol is also acceptable. |
Ticket Stock | 450 | Integer | CSV only accepts integers for ticket stock. |
Ticket SKU | GEN-AD | String |
Note that only WooCommerce Tickets, not Easy Digital Downloads (EDD) Tickets, can be imported via CSV.
A separate example CSV file to download is not available for WooCommerce Tickets. Please use the RSVP Fields CSV file and, if desired, add the Ticket Price and/or Ticket SKU columns to the CSV. Within your wp-admin Import settings, you will tell the importer which ticket type is being imported: "RSVPs" or "Tickets", meaning WooCommerce Tickets.
Events Calendar PRO Additional Fields
In addition to the above fields, you can add custom Additional Fields with the Events Calendar PRO add-on. Each field you add will appear in the CSV Importer as an available field to be imported. The name of the field will be the Label you typed in when you added the field. There are 6 field types, and the following table breaks down which types the importer accepts:
Field Name | Example Data | Field Type | Notes |
(Text Field) | I swear I had something for this. | String | |
(Text Area Field) | Do you want ants? ...because that’s how you get ants. | String | |
(URL Field) | http://www.algersoft.net/ | URL | |
(Radio Field) | Read a book | String | Prefers you input an exact case-sensitive match to the name of an existing option in this custom field. Example selects the option "Read a book." |
(Checkboxes Field) | Boop|Yup | String | To select multiple items separate the names of the items with a pipe bar | character. The example selects the two options "Boop" and "Yup". |
(Dropdown Field) | Danger Zone! | String | Prefers you input an exact case-sensitive match to the name of an existing option in this custom field. Example selects the option "Danger Zone!" |
Field types
- HTML - Accepts HTML. Further, it is run through wpautop(), meaning that two new line characters in a row are interpreted as a new paragraph (just like in the WordPress post/event editor).
- String - Accepts most any text including numbers and special characters. New lines are typically ignored.
- Boolean - Accepts boolean values such as true or false, 1 or 0, yes or no. These values are not case sensitive, so TRUE would also be a valid value. When left blank the default option is applied, which is typically false.
- Date - Accepts formatted dates. Preferably use the ISO 8601 date format YYYY-MM-DD as it is unambiguous (ex. 2015-12-31). If you wish to use the North American "middle-endian" format, slashes are recommended (ex. MM/DD/YYYY). If you wish to use the international little-endian format separate it with dashes (ex. DD-MM-YYYY).
- Time - Accepts formatted hours. Preferably use the ISO 8601 format HH:MM:SS (ex. 23:59:59).
- URL - Prefers full URLs with the protocol (ex. http://) included.
- Comma Separated - There is a certain bit of irony with this type. Accepts a comma-separated list of values (ex. "Concert, Barbecue" will be interpreted as the 2 separate values "Concert" and "Barbecue"). If you are not exporting your data from Microsoft Excel or a similar tool, make sure to properly escape the field so the commas are not interpreted as new CSV columns.
- Email Address - Accepts any string, but prefers valid email addresses.
- Phone Number - For proper internationalization include the full phone number with a country code and leading + (ex: +1-800-867-5309)