Booking Rules
Kotally deducts booking credits from the entitlement linked to the contact and appointment calendar.
Deduction trigger
Section titled “Deduction trigger”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.
Eligibility
Section titled “Eligibility”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.
Common refusal reasons
Section titled “Common refusal reasons”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.
Cancellation and restore
Section titled “Cancellation and restore”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.