Manage Availability Feature
My role: user experience designer
Date: FEBRUARY 2018-augusT 2018
There are many scenarios in which a user who's part of a demand response program cannot always participate in their events because of building maintenance, being out of town, etc. This feature introduces the ability for users to choose not to participate in events (opting out of an event) by two mechanisms. First mechanism is to schedule what we call "unavailability." This means that during this scheduled unavailability, any future events that may be scheduled by the utility during this time will automatically not participate in the DR event. One caveat is that unavailability cannot be scheduled for the same time as an existing event. In this case, if the user cannot participate in the event, he will have to use the second option to opt out on the fly right up to the start of the event start time.
Primary Use Cases
General Scheduling:
Building Manager Bob has to shut down the assembly line shut down for a week for building A to retool the factory. Therefore his devices cannot participate in any events during this time so he needs to put in the schedule that those devices are unavailable during this time.
Edit Scheduling:
Assembly line shut down for building A is expected to take longer so Building Manager Bob needs to extend his unavailability for those devices. The user wants to edit the scheduled opt out.
Opting out on the fly:
There's a party going on on floor A in Bob's building A. Originally those devices are supposed to participate in an event that day, but the company on that floor asked Bob to leave the air conditioners on. Therefore, Bob needs to opt out of the event for those devices on the fly.
Worfkflow questions
After we were given the primary use cases, our team needed to dig deeper and break down the use cases. Answering these questions would help influence the direction that our design would take.
What is the appropriate scope of time that the user cares to see? e.g. Yearly, monthly, weekly?
What pieces of information does the user need to see to make a decision?
What are the cases in which scheduling would fail?
Do they want to see the schedule for each of their devices indivudally or aggregated?
Low Fidelity Wireframes
These were created using Balsamiq Wireframing tool to describe the functionality behind each element.
For high fidelity mockups, used HTML/CSS and some javascript.





