Summary
My need was for my app to use some code from the invite schedules tabs of the Meeting-screen template for canvas apps. There is also a detailed reference with the code. However, I want to share my notes and understanding of this template. Hopefully, you may get some ideas for your app to use some code from it.
Overview
The Meeting-screen template presents the user with Invite and Schedule tabs. The Invite tab is where users can select the invitees (stored in MyPeople Collection) after typing names in the search box. To search it uses the “Office365Users.SearchUser()” to get UPN and display-name of the invitees. All found results are added to a vertical gallery so the user can pick an invitee or multiple invitees.
As the user picks invites it builds a MyPeople collection. Additionally, the user can type an external email in the search box as an invite and that email (or UPN) is also can be added to the MyPeople collection by selecting Add Icon.
The MyPeople collection is used to make a call of “Office365Outlook.FindMeetingTimes()” to find available times of the selected invitees. The call also uses the start date, duration, and end date existing or new values from the schedule tab.
It creates a new MeetingTimes collection to bind to a new gallery on the schedule tab. Users can pick any available time for the meeting.
If the user makes any change in the Invitees or Start Day or Duration the MeetingTimes is repopulated and the user is given to select a different available time.
In the schedule tab, the user can search for the Rooms by calling to Office365Outlook.GetRooms() and Office365Outlook.GetRoomList(). The user is now able to select the room’s appropriate available times also need to be selected again so the app makes another call to Office365Outlook.FindMeetingTimes() now this time it is for the rooms UPNs.
After everything is selected and entered by the User. The user types the Subject and Body and selects Send Button. Here the App makes a call to Office365Outlook.CalendarGetTables() and Office365Outlook.V2CalendarPostItem.
And that is how the invite is sent to invitees and a room is selected by the user.
Finally
It may be a repeat of the other links I provided here. I think these simple to-the-point notes may give you ideas to develop or do something different in your app.