EMS Integration for Room Reservations
The CampusGroups platform can integrate directly with EMS provided that the API module is provisioned on your EMS instance. Please refer to EMS' documentation page for additional details regarding the licensing requirements.
To get started with the integration please contact your Implementation Consultant, Campus Success Manager, or the Integrations Team at integrations@readyeducation.com to enable the EMS Module.
The integration can support the following scenarios:
Importing events from EMS into CampusGroups using customizable filters
Integrating EMS room reservation requests within the Event form in CampusGroups
Integration Steps
1. Set up a new API Client User in EMS
The integration requires you to set up a new API client user with the following settings:
do NOT enable the "Everyday User Authentication Required" option
enable the "Allow this client to book without Everyday User Templates and ignore Booking Rules" option
the role selected should grant access to at least the API routes below; allowing all routes should be preferred where possible to support additional use cases as they are implemented:
/clientauthentication [POST]
/authentication/token [POST]
/webusers/actions/search [POST]
/bookings [GET]
/bookings/{booking_id} [GET]
/bookings/{booking_id} [PATCH]
/bookings/{booking_id}/cancel [POST]
/bookings/actions/search [POST]
/bookings/actions/search/userdefinedfields [POST]
/reservations/{reservation_id} [GET]
/reservations/{reservation_id} [PATCH]
/reservations/actions/create [POST]
/reservations/actions/search/userdefinedfields [POST]
/reservations/{reservation_id}/bookings [POST]
/reservations/{reservation_id}/cancel [POST]
/reservations/{reservation_id}/userdefinedfields [GET]
/reservations/{reservation_id}/userdefinedfields [PATCH]
/rooms [GET]
/rooms/actions/availability [POST]
/rooms/{room_id}/features [GET]
/features [GET]
/webtemplates [GET]
/webtemplates/{webtemplate_id} [GET]
/setuptypes [GET]
/buildings [GET]
/floors [GET]
/roomtypes [GET]
/statuses [GET]
/eventtypes [GET]
/groups [GET]
/reservationsources [GET]
/timezones [GET]
2. Activating the Integration
The Integration can be activated and configured under Admin > Settings > General Settings > Rooms. To activate the integration, you will need to enter the following information:
EMS API url: should look similar to https://schoolid.emscloudservice.com/platform/api/v1
EMS Client IDÂ
EMS Secret Key
Once you have activated the integration, you can complete the remainder of the configuration with the platform directly.
Please Note: You may need to contact 25Live for some of this information. While the CampusGroups team has basic proficiency with 3rd party systems, we cannot assist with configuring 25Live to integrate with CampusGroups.
3. Detailed Configuration
Importing events from EMS into CampusGroups
CampusGroups can import events from EMS using the EMS API. You may select which events to import using combinations of filters based off of:
Buildings
Event types
Groups
Rooms
Room Types
Status
Reservation level user defined fields (eg "Publish to CampusGroups: Yes")
Booking level user defined fields (eg "Publish to CampusGroups: Yes")
Additionally CampusGroups groups and EMS groups can be mapped in the EMS to CampusGroups direction so that imported events end up in the correct group. Events that belong to EMS groups not mapped to specific CampusGroups groups would be imported into a single default group of your choosing.
Book rooms in EMS from events created in CampusGroups
When creating an event in CampusGroups officers can request a room in EMS. This will only suggest rooms which are available at the selected time based on the information provided by the EMS API.
The EMS integration lets club officers request rooms in EMS directly from CampusGroups using the event editing page as per below:
Student begins the event registration process
They can choose the following options for location:
 - On Campus
 - Off CampusIf they select On Campus they can enter additional information such as expected attendance, required setup time, breakout time, setup type or EMS process template
If they select Off Campus they can enter the location
The On Campus option provides access to a Book Rooms button which opens the system where users can trigger room requests to EMS where your office can verify the bookings as needed
The integration supports the following configuration options:
EMS Initial Status [Required]: all room reservation requests sent to EMS will be sent with a pre-selected Status
EMS Cancel Status [Required]: requests cancelled from the CampusGroups side require a cancellation Status
EMS Reservation Source: all room reservation requests sent to EMS may include a pre-selected source (eg, a "CampusGroups" source)
Groups: you may configure a mapping of groups between CampusGroups and EMS to allow for easier identification of organizations
EMS Event Type [Required]:
  - A single default event type for all events pushed to EMS
  - A mapping from CampusGroups event types to EMS event typesEveryday Users:
  - Use the email or netid from the currently logged in user's CampusGroups profile to find the matching Everyday User in EMS
  - Use a default Everyday User of your choosing
  - Do not use a Everyday UserEveryday User Process Templates:
  - Use the same default template for every user
  - Retrieve the list of templates assigned to the Everyday User and display it to the user for selection
  - If no Everyday User is configured or found you may either fallback to a default template or display the full list of templates available to the API Client User
Using the configuration above, the list of available rooms to display to the user is retrieved from EMS using the following parameters:Â
Expected number of attendees
Event dateÂ
Event start time (including selected setup time)
Event end time (including selected breakout time)
Everyday User (see above)
Selected Room Setup Type (see above)
Selected Process Template (if more than one is available, see above)
Once the user makes their selection and saves their event the room reservation request is sent to EMS with the following information:
Event type (see configuration above)
Event name
Status (see configuration above)
Temporary contact (currently logged in user's name)
Contact email address (using the currently logged in user's email address)
Source (if configured, see configuration above)
Group (if configured, see configuration above)
Selected Room Setup Type (if enabled)
Expected number of attendees