Renewal.opened
Emitted each time a Renewal is opened.
Renewal.open emits Renewal.opened when it completes on a Renewal.
| Property | Value |
|---|---|
| Emitted by | Renewal.open |
| Noun | Renewal |
| Wakes | None. |
Payload
Each delivery is an Event record. data holds what Renewal.open returns.
| Field | Type | Required | Description |
|---|---|---|---|
name | string | required | Renewal.opened. |
at | datetime | required | When it happened. |
seq | integer | Its position in the namespace, one more than the Event before; any seq is a cursor into the history. | |
data | json | required | The Thing as the Action left it. |
data.renewal | Renewal | required | The open Renewal. |
data.renewal.status | string | required | One of Open, Qualified, Proposed, Won, or Lost. |
data.renewal.value | money | What the Deal is worth if won. | |
data.renewal.owner | Worker | The Worker who runs it. | |
data.renewal.closesOn | date | The date the buyer expects to decide. | |
data.renewal.statusSince | datetime | When it entered its current status, computed from its Events. | |
data.renewal.nextStep | text | The next dated step agreed with the buyer. | |
data.renewal.termEndsAt | datetime | required | When the current term ends, read from the Subscription. |
data.renewal.openedAt | datetime | required | When it opened: by default 90 days before the term ends. |
data.renewal.usageReview | text | Usage against each Entitlement over the term, written before any Quote. | |
data.renewal.noticeSentAt | datetime | When the renewal notice the legal floor requires went out, with the date, Price and cancel link. | |
data.renewal.saveOffer | text | The one save offer shown on cancel; it never blocks the cancel. | |
data.renewal.outcome | string | One of renewed, expanded, contracted, or churned, computed from the Subscription’s Events at the term end. |
Example
{
"$id": "https: //api.sb/ tutorloop.com/ events/ event_1",
"$type": "Event",
"name": "Renewal.opened",
"at": "2026-10-22T12: 00: 00Z",
"data": {
"renewal": {
"$id": "https: //api.sb/ tutorloop.com/ renewals/ renewal_1",
"$type": "Renewal",
"status": "Open",
"value": {
"amount": 60,
"currency": "USD"
},
"owner": "worker_1",
"closesOn": "2026-10-22",
"statusSince": "2026-10-22T12: 00: 00Z",
"nextStep": "Example next step",
"termEndsAt": "2026-10-22T12: 00: 00Z",
"openedAt": "2026-10-22T12: 00: 00Z",
"usageReview": "Example usage review",
"noticeSentAt": "2026-10-22T12: 00: 00Z",
"saveOffer": "Example save offer",
"outcome": "renewed"
}
},
"seq": 1
}