Data stores - OfficeDev/microsoft-teams-apps-buildingaccess GitHub Wiki

The app uses the following data stores:

SharePoint Lists

  1. BAR_AppSettings – Used for feature configuration by the admin of the app.
Name of Column Type Comment
Title Single line of text Name of the list
SafetyPrecautions Yes/No If set to On, the Safety precautions feature is available in the Building Access App. If set to Off, the Safety Precaution feature does not appear in the Building Access App for the users to select.
KeyQuestions Yes/No If set to On, users are required to answer the Key Questions before making a reservation to a building. If set to Off the Key Questions screen does not appear in the Building Access App.
KeyQuestionDescription Multiple lines of text Desription of the key question.
EnableInlineApprovals Yes/No If set to On, this allows managers to approve the requests individually from within the Building Access App. If this setting is switched off, managers can only bulk approve requests.
BookingAdvance Number This is the number of days in the future that users can make reservations. By default, the value is set to 14.
KeyQuestionsFailMessage Multiple lines of text This setting is the message that appears in Building Access App when the user answers Yes to any of the key questions.
BookingAdvanceErrorMessage Single line of text This is the message that appears if a requestor selects a date which is greater than x days in the future as specified in the BookingAdvance field.
AdminTeamsID Single line of text This is the ID of the Admin team’s Microsoft Team. The Admin team receives approval adaptive card in the channel configured below if manager information is not configured for requestor in Active Directory.
AdminTeamChannelID Single line of text This is the ID of the Admin team’s Microsoft Team’s channel. This channel receives approval adaptive card if manager information is not configured for requestor in Active Directory.
SelectAlternateApprover Yes/No If enabled, this allows users to select alternate approver for building access.
  1. BAR_Buildings – Includes information about building name, address,total number of seats in the building, etc.
Name of Column Type Comment
Title Single line of text Name of the building.
Address Single line of text Address of the building.
Country Single line of text Country in which the building is located.
Seats Number The total number of bookable seats in a building is an aggregation of seats in each associated space. For example, if the first floor has 30 seats and the second floor has 40, a building has 70 total number of bookable seats.
Occupancy Threshold Number This is a percentage value which defines how many seats out of the total number of seats in a building will be auto-approved.
MaxOccupancy Number Number of seats up to which a request will be auto-approved.
OnsiteAccessInstructions Multiple lines of text Instructions to be followed when onsite, if any.
KeyEligibilityCriteria Multiple lines of text This informs employees of precautions, special scenarios (for example, special parking or entrance restrictions), or necessary special equipment needed to use this building.
Status Choice Status of the building whether in Draft or Published.
Building Type Choice Type of the building whether the building is Monitored or Un-monitored.
DefaultApproverEmailId Single line of text Email address of the building-specific approver if set.
  1. BAR_Spaces- A space is any bookable area within the building, for example, a floor or a room.
Name of Column Type Comment
Title Single line of text Name of the space
BuildingID Number ID of the building under which the space is mapped
Capacity Number Capacity of the space i.e. number of seats
  1. BAR_TimeSlots- A time slot is the period of time that will be used for a building access reservation.
Name of Column Type Comment
Title Single line of text Name of the time slot
  1. BAR_KeyQuestionAnswers – This list stores user responses to the key questions.
Name of Column Type Comment
Title Single line of text Question details i.e name of the question
QuestionID Number ID of the particular question
User Person or Group Details of the user who submitted the question
  1. BAR_KeyQuestions- Collection of screening questions that an employee must respond to before making a request to the building. This feature can be turned off from the admin app.
Name of Column Type Comment
Title Single line of text Question details i.e name of the question
State Choice State of the question whether in Draft or Published
Modified Date and time Date timestamp at which it get modified
  1. BAR_Requests- This is the core list that holds all access requests from users. The list holds key request information.
Name of Column Type Comment
Title Single line of text Requested building name
Request Collection ID Single line of text Auto generated GUID for the request
SpaceName Single line of text Requested space name
AccessKey Single line of text Auto generated access key for the request
RequestorNameText Single line of text Name of the requestor
ApproverNameText Single line of text Name of the approver
BuildingID Number Requested building ID
FloorID Number Requested floor ID
DateValue Number Request date converted to number
Active Number Is the request active or not
RequestReason Multiple lines of text Reason for the request
RejectionReason Multiple lines of text Reason for rejecting the request
Status Choice Status of the request
CheckIn Status Choice Check-in status of the request
RequestorNotificationSent Yes/No Whether the notification sent to the requestor or not
AutoApproved Yes/No Whether the request auto-approved or not
RequestDate Date and time Date timestamp of request
CheckInTime Date and time Check in date and time
CheckOutTime Date and time Check out date and time
Requestor Persone or Group Details of the requestor
Approver Persone or Group Details of the approver
SecurityApprover Persone or Group Details of the security approver
RequestorGuid Single line of text GUID of the requestor
ApproverGuid Single line of text GUID of the approver
SecurityApproverGuid Single line of text GUID of the security approver
TimeSlot Single line of text Requested time slot
ID Number ID of that specific row
Modified Date and time Date timestamp at which particular row got modified
IsSlotBooked Yes/No Flag indicating whether a particular slot is booked or not for a given day
IsRequired Yes/No Used in addition with the IsSlotBooked field to ensure double booking is not allowed in case of Full day and any given slot for the same day
  1. BAR_SafetyPrecautions- Collection of information that a company wants to relay to employees. This list could hold safety precautions or company news.
Name of Column Type Comment
Title Single line of text Safety precaution title/name
Country Single line of text Safety precaution specific to the country
ResourceURL Single line of text Attached link for better understanding of safety precautions
CountryID Single line of text ID of the country for which that specific safety precaution is configured
Description Multiple lines of text Description of the safety precaution
Status Choice State of the safety precaution whether in Draft or Published
Severity Choice Severity of the safety precaution

Flows

  • BARCreateRequest: This flow is invoked from within the Building Access app. This creates the building access request in the corresponding SharePoint list. The flow passes the context information back to the app.

  • BARNotifyApprover: Notifies the approver of submission of a access request through an adaptive card in Teams.

  • BARCalenderReservation: Creates calendar reservation for the approved dates in Outlook and Teams.

Office 365 Users

Office 365 Users is the Office 365 connector that provides signed-in user's information. The attributes which we are using in this app are:

  • Email id: Email id of signed-in user

  • Name: Display name of the user