Happening @ Michigan Feed Importer


If you have events that already exist in a system and would like to add them to the calendar programmatically we offer a JSON feed that can import events into the site. To get your events imported you will first need a JSON feed that we can access through the web. The specification for this feed is below. Typically the feed contains all events in the future so that if information changes we can update the event. Events with a provider ID that has not been seen before will be created.

Feeds are checked 4 times a day (12:00AM, 6:00AM, 12:00PM, 6:00PM).

Feed Specification

Date / time format strings are given in the PHP date format.

[   // Array of events
    {   // Each event is an object
        "provider_id":1,   // Integer unique ID to you that we will match against for updating, also considered a GUID (Required)
        "last_modified":"2014-10-14 14:00:00",  // Last time anything on this event was changed (Y-m-d H:i:s)
        "title":"New Event",    // Event title (Required)
        "subtitle":"Subtitle",  // Subtitle
        "details":"This is the event details...",   // Event description text (Required)
        "type":"Other", // Name of event type, if no match is found will default to Other
        "cost":"Tickets cost ", // Cost
        "promote":true, // True=This event should be shown on the main calendar pages (Week, Month, List, etc.) or false=just on your group's listing
        "links":[   // Array of link objects
                "type":"other", // Link type, this determines the icon displayed next to the link if none provided defaults to other
                "url":"http://umich.edu",   // Link path (Required)
                "title":"University Gateway"   // Link title
        "image":{   // Image object
            "path":"http://path.to.image.jpg",  // Path to image we will fetch and save on our server (Formats allowed are gif, jpg, and png)
            "description":"This is my image"    // Image alt text, will default to event title if none is provided
        "occurrences":[ // Array of occurrences for event (Required: at least one occurrence)
                "date":"2014-10-31",    // Date of occurrence (Required: Y-m-d)
                "start_time":"17:00",   // Start time (Required H:i)
                "end_time":"18:00",     // End time
                "building":"Michigan Union",    // Building name (If you have an exact match for a building use this. example: Michigan Union)
                "location":"The location",  // Textual location (If you have an off-campus location or a string value for a location use this. example: The Ark)
                "room":"The room"   // Room
                ... repeat for next occurrence
        "tags":[    // Array of strings that match tags in the common tags list, (Required: at least one tag)
        "sponsors":[    // Your events will be owned by a group that is set when your feed is created, if you would like to attach additional co-sponsors send an array of their group IDs
        "status":"active"   // Status: (active, cancelled, deleted) (Required)
        ... repeat for next event and so on...

Specific Values

Some of the properties in the specification above are limited to certain lists of values. These properties are: Event Type (type), Link Type (links->type), Tags (tags), and Building (occurrences->building).

A list of allowed values for each of these fields is available here: Event Metadata. If you would like to import these values directly into your system we also offer a JSON version of these values here: Event Metadata (JSON).

If the location of your event is not a Building in our list you can send the location as just a text string in the "location" property. This location will show on the event's detailed information page but will be grouped in the "Off Campus Location" grouping in the filters on the site.

If you wish to italicize text in the title, subtitle, or details fields you can surround your text with *asterisks*. These will be converted to <em> tags in the event's display.

Submit Your Feed

Once you have built your feed to this specification and would like to have it imported just Contact Us. We will test your feed and once it is verified we will add it to the process that runs the import and updates your events.