The state of the transaction flow's activity phase. It can be one of the following:
Scheduled
(Future): Activity is scheduled for the user, meaning the activity is happening in the future. It is not necessary to make this the initial state. In some cases, it might make sense to put the activity directly in Relevant
state.Relevant
(Present): Activity is relevant for the user, meaning the activity is happening for the user right now or in the very near future. The event might begin soon, have just started, or end soon.Recent
(Past): Activity is done, meaning the activity happened in the past for the user. It either completed with a success/failure OR was canceled. This is a terminal state, meaning that an activity cannot go back to a previous state after it has reached this state.The Scheduled
and Relevant
states can go back and forth. For example, if a flight keeps getting delayed, it might go between Scheduled
and Recent
depending on the departure time. However, once an Activity reaches the Recent
state, it is terminal and cannot go back to another state.
All activities must generally follow one of these paths:
Scheduled
> Relevant
> Recent
Scheduled
> Recent
Relevant
> Recent
state (Scheduled) {
expires(statusRefreshTime)
summary-view {
message {
template ("#{value(orderState)} #{value(order)}")
}
title {
template ("#{value(order)}")
}
details {
template ("#{value(orderState)}")
}
}
detail-view {
render {
layout-match (this) {
mode (Details)
}
}
}
}
summary-view required | Represents the information that is shown to the user as a summary |
detail-view optional | A view that represents the detailed layout (as opposed to the summary layout) |
expires optional | The time in seconds the current state will remain fresh |