Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

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-

“…meaning all data is stored within the Microsoft 365 platform and in Exchange.”

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

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”

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

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

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

Using Microsoft Graph (technical side)

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

    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

      {
          "@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.

    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

      {
          "@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

  • No labels