Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

Introduction

https://www.microsoft.com/en-ca/microsoft-365/business/scheduling-and-booking-app

Business Process

...

Security

https://docs.microsoft.com/en-us/microsoft-365/bookings/bookings-faq?view=o365-worldwide#where-is-bookings-data-stored-

...

It is in exchange and our tenant according to them. Microsoft 365 platform is in Canada server.

Bookings visualization

If you don’t see any appointments or some appointments are not showing in the calendar, verify your filter option.

...

Configuration time zone

...

Connection with Microsoft Graph (technical side)

  1. Open Microsoft Graph Explorer

  2. Connect with your TC Account and select the “beta” option
    For the Booking Tools API, here is the reference https://docs.microsoft.com/en-us/graph/api/resources/booking-api-overview?view=graph-rest-beta

    1. You will need to give consent for the Graph Explorer to access the Bookings API on your behalf. To do so, click the ellipses near your name, and click “Select Permissions”

      1. Image Added

    2. From the flyout on the right, choose “Bookings” and add the appropriate permissions you need.

      1. Image Added

  3. Find your business id. Run the query below and in Microsoft graph response find your booking name

    Code Block
    https://graph.microsoft.com/beta/bookingBusinesses

Configuration for Terminals

Using Booking Tools (user-friendly)

For a terminal, we need to create a staff like Guest with an e-mail (this e-mail doesn’t need to be functional). The role Guest can be assigned to bookings, but they can’t open the booking mailbox (source: https://docs.microsoft.com/en-us/microsoft-365/bookings/add-staff?view=o365-worldwide).

The e-mail default will be: terminal + number + region + @tc.gc.ca

like: terminal1pnr@tc.gc.ca, terminal2pnr@tc.gc.ca

  1. Go to Settings > Staff > Add new staff

    Image Removed
  2. Add a name > Select the option Use this name

    Image Removed

  3. Add the e-mail and save changes.

    Image Removed

Using Microsoft Graph (technical side)

  1. To select all members, you can use the query below and run it

    Code Block
    https://graph.microsoft.com/beta/bookingBusinesses/PNRCivilAviationExamBooking@034gc.onmicrosoft.com/staffMembers

  2. To create a new staff, you can take information from an existing one.

    1. You need to remove id and add @odata.type, change the field “displayName” and “emailAddress”
      Reference: https://docs.microsoft.com/en-us/graph/api/bookingbusiness-post-staffmembers?view=graph-rest-beta&tabs=http

      Code Block
      {
      
          
      "@odata.type":"#microsoft.graph.bookingStaffMember",
          
      "displayName": "Terminal 2",
      
          "emailAddress": "terminal2pnr@tc.gc.ca",
      
          "availabilityIsAffectedByPersonalCalendar": false,
      
          
      "colorIndex": 8,
      
          
      "role": "externalGuest",
      
          "useBusinessHours": false,
      
          "workingHours": [
      
              
      {
      
                  
      "day": "monday",
      
                  "timeSlots": []
      
              },
      
              
      {
      
                  
      "day": "tuesday",
      
                  "timeSlots": [
      
                      {
      
                          
      "start": "08:15:00.0000000",
      
                          
      "end": "12:30:00.0000000"
      
                      }
      
                  ]
      
              
      },
      
              
      {
      
                  "day": "wednesday",
      
                  "timeSlots": [
      
                      
      {
      
                          
      "start": "08:15:00.0000000",
      
                          "end": "12:30:00.0000000"
      
                      }
                  
      ]
      
              },
      
              {
      
                  
      "day": "thursday",
                  
      "timeSlots": [
      
                      {
      
                          "start": "08:15:00.0000000",
      
                          
      "end": "12:30:00.0000000"
      
                      
      }
      
                  ]
      
              },
      
              
      {
      
                  
      "day": "friday",
      
                  "timeSlots": []
      
              },
      
              
      {
      
                  
      "day": "saturday",
      
                  "timeSlots": []
      
              },
      
              
      {
      
                  
      "day": "sunday",
      
                  "timeSlots": []
      
              }
      
          
      ]
      
      
      }

    2. Change the action to POST and click on Run Query

Information

At the end of this configuration, maybe will receive a message like that:

...

This is not worrying as this staff will only be used for assigned automatically appointments

Configuration for services

Using Booking Tools (user-friendly)

  1. Go to Settings > Services > Add new service

  2. For a new service, you have some configuration to add, so it is important to take a time to fill in each available option.

    Note: the option Maximum number of attendees, if you choose 1 attendee(s) and you have 2 staffs like Guess, please pay attention because in this service you can have 2 appointments at the same time, one for the first staff (like terminal 1) and another for the second staff (like terminal 2).
    This setting was desired by the members of this booking.

  3. After fill out all options desired, click on Save changes to create the service.

Using Microsoft Graph (technical side)

  1. To select all services, you can use the query below and run it.

    Code Block
    https://graph.microsoft.com/beta/bookingBusinesses/PNRCivilAviationExamBooking@034gc.onmicrosoft.com/services

  2. To create a new service, you can take information from an existing one.

    1. You need to remove id and add @odata.type and change others fields as you want.
      Reference: https://docs.microsoft.com/en-us/graph/api/bookingbusiness-post-services?view=graph-rest-beta&tabs=http

      Code Block
      {
      
          "@odata.type":"#microsoft.graph.bookingService",
      
          "displayName": "AIRAF - INSTRUCTOR RATING CLASS 4 AEROPLANE",
      
          
      "defaultDuration": "PT3H30M",
      
          
      "defaultPrice": 35,
      
          "defaultPriceType": "fixedPrice",
      
          "description": "Exam duration - 3 hoursRequirements:Government issued ID (i. e. passport, Aviation Document Booklet, drivers license)Category 1 MedicalFlight Training Unit Letter of recommendation if applicable or proof of 15 hours instructor flight training and all",
          
      "isHiddenFromCustomers": false,
      
          "notes": "",
      
          "additionalInformation": "",
      
          
      "preBuffer": "PT0S",
          
      "postBuffer": "PT0S",
      
          "staffMemberIds": [],
      
          "isLocationOnline": false,
      
          
      "schedulingPolicy": null,
      
          
      "defaultLocation": {
      
              "displayName": "344 Edmonton St",
      
              "locationEmailAddress": null,
      
              
      "locationUri": "",
      
              
      "locationType": null,
      
              "uniqueId": null,
      
              "uniqueIdType": null,
      
              
      "address": {
      
                  
      "type": "home",
      
                  "postOfficeBox": "",
      
                  "street": "344 Edmonton St",
      
                  
      "city": "Winnipeg",
      
                  
      "state": "Manitoba",
      
                  "countryOrRegion": "Canada",
      
                  "postalCode": "R3C 0P6"
      
              
      },
      
              
      "coordinates": {
      
                  "altitude": null,
      
                  "latitude": null,
      
                  
      "longitude": null,
      
                  
      "accuracy": null,
      
                  "altitudeAccuracy": null
      
              }
          
      },
      
          "defaultReminders": []
      }

    2. Change the action to POST and click on Run Query

    3. Result

Custom fields

I didn’t find any reference in the Booking Tools API to create/add custom fields by Microsoft Graph.

Power BI

  1. Open Power BI Desktop. If you don’t have installed this software in your machine, you can open Microsoft Store

  2. Search Power BI Desktop and install it.

  3. Click on Get Data

  4. Select Online Services > Microsoft Exchange Online and click on Connect

  5. Add your booking page address and click OK.

    Note: If you don’t know your booking address click on Booking Page and copy the address from the Booking Page Status.

  6. Select Microsoft account > Sign in

  7. Click on Connect

  8. Select Calendar > Load

Dashboard

...