# booking/11.6/includes/page-appointment-services/_out/appointment_services_client.js

Booking Calendar, version 11.6. 35 lines.

- Page: https://pluginprobe.com/plugins/booking/11.6/code/includes/page-appointment-services/_out/appointment_services_client.js
- Raw: https://pluginprobe.com/plugins/booking/11.6/raw/includes/page-appointment-services/_out/appointment_services_client.js
- Modified: 2026-08-04T08:52:12+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/booking/11.6/code/includes/page-appointment-services/_out/appointment_services_client.js#L10-L20`.

```javascript
"use strict";

(function (w, $) {
  'use strict';

  /** Update the visible duration summary for a resource-specific Service selector. */
  function updateSummary($select) {
    var $option = $select.find('option:selected'),
      duration = Number($option.data('duration') || 0),
      parts = [];
    if (duration) {
      parts.push(duration + ' min');
    }
    $select.closest('.wpbc_appointment_service_selector').find('.wpbc_appointment_service_summary').text(parts.join(' · '));
  }
  $(document).on('change', '.wpbc_appointment_service_select', function () {
    updateSummary($(this));
  });
  $('body').on('wpbc_before_booking_create', function (event, resourceId, params) {
    var $select = $('#wpbc_appointment_service_' + Number(resourceId));
    if ($select.length) {
      var $option = $select.find('option:selected');
      params.service_id = Number($select.val() || 0);
      params.appointment_service_required = 1;
      params.appointment_context_token = String($option.attr('data-appointment-context-token') || '');
    }
  });
  $(function () {
    $('.wpbc_appointment_service_select').each(function () {
      updateSummary($(this));
    });
  });
})(window, jQuery);
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jbHVkZXMvcGFnZS1hcHBvaW50bWVudC1zZXJ2aWNlcy9fb3V0L2FwcG9pbnRtZW50X3NlcnZpY2VzX2NsaWVudC5qcyIsIm5hbWVzIjpbInciLCIkIiwidXBkYXRlU3VtbWFyeSIsIiRzZWxlY3QiLCIkb3B0aW9uIiwiZmluZCIsImR1cmF0aW9uIiwiTnVtYmVyIiwiZGF0YSIsInBhcnRzIiwicHVzaCIsImNsb3Nlc3QiLCJ0ZXh0Iiwiam9pbiIsImRvY3VtZW50Iiwib24iLCJldmVudCIsInJlc291cmNlSWQiLCJwYXJhbXMiLCJsZW5ndGgiLCJzZXJ2aWNlX2lkIiwidmFsIiwiYXBwb2ludG1lbnRfc2VydmljZV9yZXF1aXJlZCIsImFwcG9pbnRtZW50X2NvbnRleHRfdG9rZW4iLCJTdHJpbmciLCJhdHRyIiwiZWFjaCIsIndpbmRvdyIsImpRdWVyeSJdLCJzb3VyY2VzIjpbImluY2x1ZGVzL3BhZ2UtYXBwb2ludG1lbnQtc2VydmljZXMvX3NyYy9hcHBvaW50bWVudF9zZXJ2aWNlc19jbGllbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiKCBmdW5jdGlvbiAoIHcsICQgKSB7XG5cdCd1c2Ugc3RyaWN0Jztcblx0LyoqIFVwZGF0ZSB0aGUgdmlzaWJsZSBkdXJhdGlvbiBzdW1tYXJ5IGZvciBhIHJlc291cmNlLXNwZWNpZmljIFNlcnZpY2Ugc2VsZWN0b3IuICovXG5cdGZ1bmN0aW9uIHVwZGF0ZVN1bW1hcnkoICRzZWxlY3QgKSB7XG5cdFx0dmFyICRvcHRpb24gPSAkc2VsZWN0LmZpbmQoICdvcHRpb246c2VsZWN0ZWQnICksIGR1cmF0aW9uID0gTnVtYmVyKCAkb3B0aW9uLmRhdGEoICdkdXJhdGlvbicgKSB8fCAwICksIHBhcnRzID0gW107XG5cdFx0aWYgKCBkdXJhdGlvbiApIHsgcGFydHMucHVzaCggZHVyYXRpb24gKyAnIG1pbicgKTsgfVxuXHRcdCRzZWxlY3QuY2xvc2VzdCggJy53cGJjX2FwcG9pbnRtZW50X3NlcnZpY2Vfc2VsZWN0b3InICkuZmluZCggJy53cGJjX2FwcG9pbnRtZW50X3NlcnZpY2Vfc3VtbWFyeScgKS50ZXh0KCBwYXJ0cy5qb2luKCAnIMK3ICcgKSApO1xuXHR9XG5cdCQoIGRvY3VtZW50ICkub24oICdjaGFuZ2UnLCAnLndwYmNfYXBwb2ludG1lbnRfc2VydmljZV9zZWxlY3QnLCBmdW5jdGlvbiAoKSB7IHVwZGF0ZVN1bW1hcnkoICQoIHRoaXMgKSApOyB9ICk7XG5cdCQoICdib2R5JyApLm9uKCAnd3BiY19iZWZvcmVfYm9va2luZ19jcmVhdGUnLCBmdW5jdGlvbiAoIGV2ZW50LCByZXNvdXJjZUlkLCBwYXJhbXMgKSB7XG5cdFx0dmFyICRzZWxlY3QgPSAkKCAnI3dwYmNfYXBwb2ludG1lbnRfc2VydmljZV8nICsgTnVtYmVyKCByZXNvdXJjZUlkICkgKTtcblx0XHRpZiAoICRzZWxlY3QubGVuZ3RoICkge1xuXHRcdFx0dmFyICRvcHRpb24gPSAkc2VsZWN0LmZpbmQoICdvcHRpb246c2VsZWN0ZWQnICk7XG5cdFx0XHRwYXJhbXMuc2VydmljZV9pZCA9IE51bWJlciggJHNlbGVjdC52YWwoKSB8fCAwICk7XG5cdFx0XHRwYXJhbXMuYXBwb2ludG1lbnRfc2VydmljZV9yZXF1aXJlZCA9IDE7XG5cdFx0XHRwYXJhbXMuYXBwb2ludG1lbnRfY29udGV4dF90b2tlbiA9IFN0cmluZyggJG9wdGlvbi5hdHRyKCAnZGF0YS1hcHBvaW50bWVudC1jb250ZXh0LXRva2VuJyApIHx8ICcnICk7XG5cdFx0fVxuXHR9ICk7XG5cdCQoIGZ1bmN0aW9uICgpIHsgJCggJy53cGJjX2FwcG9pbnRtZW50X3NlcnZpY2Vfc2VsZWN0JyApLmVhY2goIGZ1bmN0aW9uICgpIHsgdXBkYXRlU3VtbWFyeSggJCggdGhpcyApICk7IH0gKTsgfSApO1xufSApKCB3aW5kb3csIGpRdWVyeSApO1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBLENBQUUsVUFBV0EsQ0FBQyxFQUFFQyxDQUFDLEVBQUc7RUFDbkIsWUFBWTs7RUFDWjtFQUNBLFNBQVNDLGFBQWFBLENBQUVDLE9BQU8sRUFBRztJQUNqQyxJQUFJQyxPQUFPLEdBQUdELE9BQU8sQ0FBQ0UsSUFBSSxDQUFFLGlCQUFrQixDQUFDO01BQUVDLFFBQVEsR0FBR0MsTUFBTSxDQUFFSCxPQUFPLENBQUNJLElBQUksQ0FBRSxVQUFXLENBQUMsSUFBSSxDQUFFLENBQUM7TUFBRUMsS0FBSyxHQUFHLEVBQUU7SUFDakgsSUFBS0gsUUFBUSxFQUFHO01BQUVHLEtBQUssQ0FBQ0MsSUFBSSxDQUFFSixRQUFRLEdBQUcsTUFBTyxDQUFDO0lBQUU7SUFDbkRILE9BQU8sQ0FBQ1EsT0FBTyxDQUFFLG9DQUFxQyxDQUFDLENBQUNOLElBQUksQ0FBRSxtQ0FBb0MsQ0FBQyxDQUFDTyxJQUFJLENBQUVILEtBQUssQ0FBQ0ksSUFBSSxDQUFFLEtBQU0sQ0FBRSxDQUFDO0VBQ2hJO0VBQ0FaLENBQUMsQ0FBRWEsUUFBUyxDQUFDLENBQUNDLEVBQUUsQ0FBRSxRQUFRLEVBQUUsa0NBQWtDLEVBQUUsWUFBWTtJQUFFYixhQUFhLENBQUVELENBQUMsQ0FBRSxJQUFLLENBQUUsQ0FBQztFQUFFLENBQUUsQ0FBQztFQUM3R0EsQ0FBQyxDQUFFLE1BQU8sQ0FBQyxDQUFDYyxFQUFFLENBQUUsNEJBQTRCLEVBQUUsVUFBV0MsS0FBSyxFQUFFQyxVQUFVLEVBQUVDLE1BQU0sRUFBRztJQUNwRixJQUFJZixPQUFPLEdBQUdGLENBQUMsQ0FBRSw0QkFBNEIsR0FBR00sTUFBTSxDQUFFVSxVQUFXLENBQUUsQ0FBQztJQUN0RSxJQUFLZCxPQUFPLENBQUNnQixNQUFNLEVBQUc7TUFDckIsSUFBSWYsT0FBTyxHQUFHRCxPQUFPLENBQUNFLElBQUksQ0FBRSxpQkFBa0IsQ0FBQztNQUMvQ2EsTUFBTSxDQUFDRSxVQUFVLEdBQUdiLE1BQU0sQ0FBRUosT0FBTyxDQUFDa0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFFLENBQUM7TUFDaERILE1BQU0sQ0FBQ0ksNEJBQTRCLEdBQUcsQ0FBQztNQUN2Q0osTUFBTSxDQUFDSyx5QkFBeUIsR0FBR0MsTUFBTSxDQUFFcEIsT0FBTyxDQUFDcUIsSUFBSSxDQUFFLGdDQUFpQyxDQUFDLElBQUksRUFBRyxDQUFDO0lBQ3BHO0VBQ0QsQ0FBRSxDQUFDO0VBQ0h4QixDQUFDLENBQUUsWUFBWTtJQUFFQSxDQUFDLENBQUUsa0NBQW1DLENBQUMsQ0FBQ3lCLElBQUksQ0FBRSxZQUFZO01BQUV4QixhQUFhLENBQUVELENBQUMsQ0FBRSxJQUFLLENBQUUsQ0FBQztJQUFFLENBQUUsQ0FBQztFQUFFLENBQUUsQ0FBQztBQUNsSCxDQUFDLEVBQUkwQixNQUFNLEVBQUVDLE1BQU8sQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==

```
