code: function() {
  
      var showTimezoneHelper = getConfig().ui.show_timezone_helper;
      var showCredits = getConfig().ui.show_credits;
  
      // If neither TZ helper or credits is shown, dont render the footer
      if (!showTimezoneHelper && !showCredits) return
  
      var campaignName = 'widget';
      var campaignSource = window.location.hostname.replace(/\./g, '-');
      if (getConfig().project_id) { campaignName = 'embedded-widget'; }
      if (getConfig().project_slug) { campaignName = 'hosted-widget'; }
  
      var timezoneIcon = require('!svg-inline!./assets/timezone-icon.svg');
      var arrowDownIcon = require('!svg-inline!./assets/arrow-down-icon.svg');
      var timekitLogo = require('!svg-inline!./assets/timekit-logo.svg');
      var template = require('./templates/footer.html');
  
      var footerTarget = $(template.render({
        timezoneIcon: timezoneIcon,
        arrowDownIcon: arrowDownIcon,
        listTimezones: timezones,
        timekitLogo: timekitLogo,
        campaignName: campaignName,
        campaignSource: campaignSource,
        showCredits: showCredits,
        showTimezoneHelper: showTimezoneHelper
      }));
      rootTarget.append(footerTarget);
  
      // Set initial customer timezone
      var pickerSelect = $('.bookingjs-footer-tz-picker-select');
      pickerSelect.val(customerTimezone);
      
      // Listen to changes by the user
      pickerSelect.change(function() {
        setCustomerTimezone(pickerSelect.val());
        $(rootTarget).trigger('customer-timezone-changed');
      })
    }
docs: Calculate and display timezone helper