Invariant Or Business Rule Block

An invariant is a rule that must remain true for the model to be valid.

When To Use It

Use this block when a rule is important enough to make visible on the canvas. Some rules belong inside an aggregate because they must be enforced immediately. Others belong in policies because they describe follow-up behaviour.

Required Data

  • Name: short rule label, such as No Double Booking.
  • Rule statement: precise business wording.
  • Scope: aggregate, policy, bounded context, integration, or user interface.
  • Enforcement point: command validation, aggregate decision, policy condition, or external check.
  • Failure outcome: rejection reason, escalation, compensation, or manual review.

Recommended Data

  • Examples: accepted and rejected scenarios.
  • Owner: domain expert or team who can change the rule.
  • Source: policy document, contract, law, internal standard, or domain expert decision.
  • Change frequency: rare, seasonal, frequent, experimental.

Examples

  • An appointment slot cannot be assigned to two active appointments.
  • A refund cannot exceed the captured payment amount.
  • A claim cannot be approved without required evidence unless a supervisor override is recorded.
  • A subscription cannot have more active seats than its plan allows.