Skip to content

Booking Rules

Kotally deducts booking credits from the entitlement linked to the contact and appointment calendar.

The default launch flow deducts one credit when Kotally receives a GoHighLevel appointment-created event for a configured calendar. Kotally stores the appointment and writes a credit ledger entry so duplicate webhook deliveries do not deduct twice.

A booking can deduct a credit when:

  • The contact exists in Kotally for the same GoHighLevel location.
  • The contact has an active entitlement for the appointment calendar.
  • The entitlement is not expired or paused.
  • The entitlement has at least one credit remaining.
  • The product mapping that created the entitlement is still active.
  • NO_ENTITLEMENT: the contact has no usable Kotally balance for the calendar.
  • SERVICE_FAMILY_MISMATCH: the contact has credits, but not for this calendar.
  • INSUFFICIENT_CREDITS: the matching entitlement has no remaining credits.
  • CONFIG_NOT_FOUND: the original product mapping was removed.
  • DUPLICATE_EVENT: the appointment or ledger entry was already handled.

If your workflow restores credits after cancellation, use the API restore endpoint or your configured cancellation automation. Always include a unique request id so retries are safe.