Data stores - OfficeDev/microsoft-teams-apps-buildingaccess GitHub Wiki
The app uses the following data stores:
SharePoint Lists
- 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. |
- 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. |
- 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 |
- 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 |
- 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 |
- 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 |
- 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 |
- 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: