Not agreed. Screens illustrate proposals in docs/ and .scratch/ , and invent the states those documents leave open.

Back

Stop tell me when my new bill is ready?

We will stop sending these. You can start them again later if you change your mind.

Why are you stopping these? (optional)

Behind the scenes

Property names follow docs/profile-communication-subscriptions.md, which says its own spelling is illustrative. The shape is what was decided.

Usable destinations

email
usable
sms
usable
post
usable
in-app
usable

Seeded by seedChannel() against this fixture — §4.1, the one communication rule with real logic behind it here.

Subscription

subscriptionId
sub-ct-bill-ready
catalogueTopicId
council-tax.bill-ready-alert
state
active
basisAtOptIn
public-task
noticeVersionAgreed
v1
channel
sms
channelSource
preferred-seed
createdBy
Citizen
captureChannel
my-account
createdAt
2026-07-02T09:20:00Z
deliveryIssue
none

Not modelled

  • Expiry, withdrawal history and officer-captured consent. Examples 6.3, 6.6, 6.7 and 6.8 are not fixtures, so nothing renders them.
  • What happens to a Subscription when the contact value it depends on is removed. Phase 1 sends to the primary confirmed destination for the channel, so there are no per-Subscription pointers to repair.
  • The material-change flow that forces re-opt-in. §5 lists the event; no owner and no journey exist for it.