Skip to main content
EMS Software, LLC

Best Practices

Using filters is smart

A leading management consulting firm, with over 250,000 employees, has used EMS for more than 10 years to schedule and manage Classrooms, Lobby Areas, Meeting and Conference Rooms, Hot Desks, Parking Spaces and Video Conference Rooms. EMS Workplace manages 330 customer buildings around the world, comprising 33,095 rooms and hot-desks. In 2011, the number of bookings scheduled was 2,234,086. That’s a lot of data!

We don’t put a limit on the amount of data you can pull through the API, but we do provide numerous API call filters so you can request an efficient and targeted set of data. This helps reduce the work-load on the EMS system. It also improves the performance of your solution – why pull in a lot of extraneous data that you don’t need or use? 

More about EventTypes and StatusTypes

One of the reasons that EMS is so successful is because it’s so  flexible. That flexibility gives the user a lot of freedom in customizing the system. For example, EventTypes are user-defined - there is no single definitive list, they will be different at each EMS customer. You can get all the EventTypes using the GetEventTypes call. The same is true for Statuses – these are user-defined, no single definitive list. You can get all the Statuses using the GetStatuses call.

Each Status has to be one of four StatusTypes:

  • Booked Space —the room is taken out of inventory and cannot be reserved by another booking. (The system prevents the space from being double-booked.)
  • Cancel—booking information is retained, but the room is released back into inventory
  • Info Only—Booking information is retained, but the space is not taken out of inventory
  • Wait—booking information is retained in case the space becomes available prior to the event date

StatusTypeIDs are as follows: -14 = Booked Space, -11 = Info Only, -13 = Wait, -12 = Cancel

Understanding DisplayOnWeb

The GetEventTypes and GetStatuses calls above both return a field called DisplayOnWeb. That field is set by the customer when defining a new EventType or a new Status – it’s either Yes or No.

DisplayOnWeb is the field we use in our various web interfaces to EMS, including Virtual EMS and our Kiosk, to determine whether to display an event or not. Partners can use DisplayOnWeb to make a similar determination … and then you don’t need to worry about mapping EventTypes and Statuses. Plus this makes your solution consistent with the behavior that customers already understand about DisplayOnWeb.   

Taken one step further, you can also determine which EventTypes and Statuses may be displayed (DisplayonWeb=Yes). You can use those EventTypes and Statuses as filters on some of the GetBooking calls – the result is you see just the booking data needed, rather than pulling in everything and then discarding a bunch of bookings.