code: function() {
  
      utils.doCallback('GetBookingSlotsStarted');
  
      var requestData = {
        url: '/bookings/groups',
        method: 'get',
        headers: {
          'Timekit-Timezone': customerTimezone
        }
      }
  
      // scope group booking slots by widget ID if possible
      if (getConfig().project_id) requestData.params = {
        search: 'project.id:' + getConfig().project_id
      }
  
      sdk
      .makeRequest(requestData)
      .then(function(response){
  
        var slots = response.data.map(function(item) {
          return {
            title: item.attributes.event_info.what,
            start: item.attributes.event_info.start,
            end: item.attributes.event_info.end,
            booking: item
          }
        })
  
        // Make sure to sort the slots chronologically,
        // otherwise FullCalendar might skip rendering some of them
        slots.sort(function(a, b) {
          return moment(a.start) - moment(b.start);
        })
  
        utils.doCallback('getBookingSlotsSuccessful', response);
        hideLoadingScreen();
  
        // Render available timeslots in FullCalendar
        if(slots.length > 0) renderCalendarEvents(slots);
  
        // Render test ribbon if enabled
        if (response.headers['timekit-testmode']) renderTestModeRibbon();
  
      }).catch(function(response){
        utils.doCallback('getBookingSlotsFailed', response);
        hideLoadingScreen();
        triggerError(['An error with Timekit Get Booking Slots occured', response]);
      });
  
    }
docs: Fetch availabile time through Timekit SDK