kit

Card

Built revision v17.10.0

Phoenix
Topics

Human support

Bring a missing role, layout, or state, or a rendering against the standard, to the session working on kit. Name the package and the entry.

On List

Card

Main Hall

Deposit awaiting paymentKeys not collectedInsurance on file
Next booking
Amount due
£240.00

Meeting Room

Invoiced: £84.00 · Collected: £24.00 · Outstanding: £60.00 · payment expected after the hirer confirms the billing address, purchase order and named contact for Saturday’s Main Hall bookingPart payment taken by card on ; the balance stays outstanding until the reissued invoice is agreed, and the deposit is held against the Garden Room key that has not come back

Kitchen

Key depositThe deposit, the cleaning charge and the return of the key are held against the Saturday booking until

Source
<div>
  <Kit.Phoenix.Roles.Card.card>
    <:subject href="#role-card">Main Hall</:subject>
    <:stamp><Kit.Phoenix.Roles.Stamp.stamp state="attention">Deposit awaiting payment</Kit.Phoenix.Roles.Stamp.stamp></:stamp>
    <:stamp><Kit.Phoenix.Roles.Stamp.stamp state="neutral">Keys not collected</Kit.Phoenix.Roles.Stamp.stamp></:stamp>
    <:stamp><Kit.Phoenix.Roles.Stamp.stamp state="settled">Insurance on file</Kit.Phoenix.Roles.Stamp.stamp></:stamp>
    <:facts>
      <Kit.Phoenix.Roles.FactGroup.fact_group>
        <Kit.Phoenix.Roles.LabelledFact.labelled_fact>
          <:name>Next booking</:name><:value><Kit.Phoenix.Roles.Time.time value={Kit.Phoenix.Time.day(reader(), ~D[2025-04-12])} /></:value>
        </Kit.Phoenix.Roles.LabelledFact.labelled_fact>
        <Kit.Phoenix.Roles.LabelledFact.labelled_fact>
          <:name>Amount due</:name><:value words={[Kit.Phoenix.Words.amount(Kit.Phoenix.Amount.money(reader(), Money.new(:GBP, "240.00")))]} />
        </Kit.Phoenix.Roles.LabelledFact.labelled_fact>
      </Kit.Phoenix.Roles.FactGroup.fact_group>
    </:facts>
    <:actions>
      <Kit.Phoenix.Roles.ActionGroup.action_group>
        <:lead><Kit.Phoenix.Roles.PrimaryAction.primary_action>Send reminder</Kit.Phoenix.Roles.PrimaryAction.primary_action></:lead>
        <:secondary><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Hold the room</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:secondary>
      </Kit.Phoenix.Roles.ActionGroup.action_group>
    </:actions>
  </Kit.Phoenix.Roles.Card.card>
  <Kit.Phoenix.Roles.Card.card>
    <:subject href="#role-card">Meeting Room</:subject>
    <:unnamed_fact><Kit.Phoenix.Roles.Time.time value={Kit.Phoenix.Time.day(reader(), ~D[2025-04-17])} /></:unnamed_fact>
    <:unnamed_fact supporting={[Kit.Phoenix.Supporting.line([Kit.Phoenix.Words.text("Part payment taken by card on "), Kit.Phoenix.Words.time(Kit.Phoenix.Time.day(reader(), ~D[2025-04-12])), Kit.Phoenix.Words.text("; the balance stays outstanding until the reissued invoice is agreed, and the deposit is held against the Garden Room key that has not come back")])]}>Invoiced: £84.00 ·&nbsp;Collected: £24.00 ·&nbsp;Outstanding: £60.00 ·&nbsp;payment expected after the hirer confirms the billing address, purchase order and named contact for Saturday’s Main Hall booking</:unnamed_fact>
    <:actions>
      <Kit.Phoenix.Roles.ActionGroup.action_group>
        <:secondary><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Open bookings</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:secondary>
      </Kit.Phoenix.Roles.ActionGroup.action_group>
    </:actions>
  </Kit.Phoenix.Roles.Card.card>
  <Kit.Phoenix.Roles.Card.card>
    <:subject href="#role-card">Garden Room and the kitchen beside it</:subject>
    <:stamp><Kit.Phoenix.Roles.Stamp.stamp state="alert">Boiler out of service</Kit.Phoenix.Roles.Stamp.stamp></:stamp>
    <:facts>
      <Kit.Phoenix.Roles.FactGroup.fact_group>
        <Kit.Phoenix.Roles.LabelledFact.labelled_fact>
          <:name>Hirer</:name><:value>Oakmere Primary School</:value>
        </Kit.Phoenix.Roles.LabelledFact.labelled_fact>
        <Kit.Phoenix.Roles.LabelledFact.labelled_fact>
          <:name>Last cleaned</:name><:value><Kit.Phoenix.Roles.Time.time value={Kit.Phoenix.Time.day(reader(), ~D[2025-04-07])} /></:value>
        </Kit.Phoenix.Roles.LabelledFact.labelled_fact>
        <Kit.Phoenix.Roles.LabelledFact.labelled_fact>
          <:name>Capacity</:name><:value words={[Kit.Phoenix.Words.amount(Kit.Phoenix.Amount.named(reader(), Decimal.new("40"), "seated", 0))]} />
        </Kit.Phoenix.Roles.LabelledFact.labelled_fact>
      </Kit.Phoenix.Roles.FactGroup.fact_group>
    </:facts>
    <:actions>
      <Kit.Phoenix.Roles.ActionGroup.action_group>
        <:secondary><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Report fixed</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:secondary>
      </Kit.Phoenix.Roles.ActionGroup.action_group>
    </:actions>
  </Kit.Phoenix.Roles.Card.card>
  <Kit.Phoenix.Roles.Card.card>
    <:subject href="#role-card">Kitchen</:subject>
    <:unnamed_fact supporting={[Kit.Phoenix.Supporting.line([Kit.Phoenix.Words.text("The deposit, the cleaning charge and the return of the key are held against the Saturday booking until "), Kit.Phoenix.Words.time(Kit.Phoenix.Time.day(reader(), ~D[2026-10-30]))])]}>Key deposit</:unnamed_fact>
    <:actions>
      <Kit.Phoenix.Roles.ActionGroup.action_group>
        <:secondary><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Open the kitchen rota</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:secondary>
      </Kit.Phoenix.Roles.ActionGroup.action_group>
    </:actions>
  </Kit.Phoenix.Roles.Card.card>
</div>

Card, failed

Choir rehearsal

Cancelled
Room
Main Hall

This meeting was not reinstated: the connection dropped before it saved.

With Try again unavailable.

Choir rehearsal

Cancelled
Room
Main Hall

This meeting was not reinstated: the connection dropped before it saved.

Try again once you are back online.

Source
<Kit.Phoenix.Roles.Card.card standing={Kit.Phoenix.Roles.Row.Standing.failed("This meeting was not reinstated: the connection dropped before it saved.", %{})}>
  <:subject href="#role-card-failed">Choir rehearsal</:subject>
  <:stamp><Kit.Phoenix.Roles.Stamp.stamp state="settled">Cancelled</Kit.Phoenix.Roles.Stamp.stamp></:stamp>
  <:facts><Kit.Phoenix.Roles.FactGroup.fact_group><Kit.Phoenix.Roles.LabelledFact.labelled_fact><:name>Room</:name><:value>Main Hall</:value></Kit.Phoenix.Roles.LabelledFact.labelled_fact></Kit.Phoenix.Roles.FactGroup.fact_group></:facts>
  <:actions><Kit.Phoenix.Roles.ActionGroup.action_group><:secondary><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Open this meeting</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:secondary></Kit.Phoenix.Roles.ActionGroup.action_group></:actions>
</Kit.Phoenix.Roles.Card.card>
<p class="specimen-case-line">With Try again unavailable.</p>
<Kit.Phoenix.Roles.Card.card standing={Kit.Phoenix.Roles.Row.Standing.failed("This meeting was not reinstated: the connection dropped before it saved.", %{}, Kit.Phoenix.ActionState.inert("role-card-failed-try-again", "Try again once you are back online."))}>
  <:subject href="#role-card-failed">Choir rehearsal</:subject>
  <:stamp><Kit.Phoenix.Roles.Stamp.stamp state="settled">Cancelled</Kit.Phoenix.Roles.Stamp.stamp></:stamp>
  <:facts><Kit.Phoenix.Roles.FactGroup.fact_group><Kit.Phoenix.Roles.LabelledFact.labelled_fact><:name>Room</:name><:value>Main Hall</:value></Kit.Phoenix.Roles.LabelledFact.labelled_fact></Kit.Phoenix.Roles.FactGroup.fact_group></:facts>
  <:actions><Kit.Phoenix.Roles.ActionGroup.action_group><:secondary><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Open this meeting</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:secondary></Kit.Phoenix.Roles.ActionGroup.action_group></:actions>
</Kit.Phoenix.Roles.Card.card>

Card, conflict

Choir rehearsal

Cancelled
Room
Main Hall

Maya Patel cancelled this meeting while you were moving it to the Garden Room.

With the action unavailable.

Choir rehearsal

Cancelled
Room
Main Hall

Maya Patel cancelled this meeting while you were moving it to the Garden Room.

Reinstate this meeting before moving it.

Source
<Kit.Phoenix.Roles.Card.card standing={Kit.Phoenix.Roles.Row.Standing.conflict("Maya Patel cancelled this meeting while you were moving it to the Garden Room.", "Move it to the Garden Room", %{})}>
  <:subject href="#role-card-conflict">Choir rehearsal</:subject>
  <:stamp><Kit.Phoenix.Roles.Stamp.stamp state="settled">Cancelled</Kit.Phoenix.Roles.Stamp.stamp></:stamp>
  <:facts><Kit.Phoenix.Roles.FactGroup.fact_group><Kit.Phoenix.Roles.LabelledFact.labelled_fact><:name>Room</:name><:value>Main Hall</:value></Kit.Phoenix.Roles.LabelledFact.labelled_fact></Kit.Phoenix.Roles.FactGroup.fact_group></:facts>
  <:actions><Kit.Phoenix.Roles.ActionGroup.action_group><:secondary><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Reinstate this meeting</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:secondary></Kit.Phoenix.Roles.ActionGroup.action_group></:actions>
</Kit.Phoenix.Roles.Card.card>
<p class="specimen-case-line">With the action unavailable.</p>
<Kit.Phoenix.Roles.Card.card standing={Kit.Phoenix.Roles.Row.Standing.conflict("Maya Patel cancelled this meeting while you were moving it to the Garden Room.", "Move it to the Garden Room", %{}, Kit.Phoenix.ActionState.inert("role-card-conflict-action", "Reinstate this meeting before moving it."))}>
  <:subject href="#role-card-conflict">Choir rehearsal</:subject>
  <:stamp><Kit.Phoenix.Roles.Stamp.stamp state="settled">Cancelled</Kit.Phoenix.Roles.Stamp.stamp></:stamp>
  <:facts><Kit.Phoenix.Roles.FactGroup.fact_group><Kit.Phoenix.Roles.LabelledFact.labelled_fact><:name>Room</:name><:value>Main Hall</:value></Kit.Phoenix.Roles.LabelledFact.labelled_fact></Kit.Phoenix.Roles.FactGroup.fact_group></:facts>
  <:actions><Kit.Phoenix.Roles.ActionGroup.action_group><:secondary><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Reinstate this meeting</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:secondary></Kit.Phoenix.Roles.ActionGroup.action_group></:actions>
</Kit.Phoenix.Roles.Card.card>

Card, processing

Choir rehearsal

Cancelled
Room
Main Hall

Reinstating this meeting…

Source
<Kit.Phoenix.Roles.Card.card standing={Kit.Phoenix.Roles.Row.Standing.processing("Reinstating this meeting…")}>
  <:subject href="#role-card-processing">Choir rehearsal</:subject>
  <:stamp><Kit.Phoenix.Roles.Stamp.stamp state="settled">Cancelled</Kit.Phoenix.Roles.Stamp.stamp></:stamp>
  <:facts><Kit.Phoenix.Roles.FactGroup.fact_group><Kit.Phoenix.Roles.LabelledFact.labelled_fact><:name>Room</:name><:value>Main Hall</:value></Kit.Phoenix.Roles.LabelledFact.labelled_fact></Kit.Phoenix.Roles.FactGroup.fact_group></:facts>
  <:actions><Kit.Phoenix.Roles.ActionGroup.action_group><:secondary><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Open this meeting</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:secondary></Kit.Phoenix.Roles.ActionGroup.action_group></:actions>
</Kit.Phoenix.Roles.Card.card>

Card, unsaved

Choir rehearsal

Cancelled
Room
Main Hall

This meeting will be reinstated when you are back online.

Source
<Kit.Phoenix.Roles.Card.card standing={Kit.Phoenix.Roles.Row.Standing.unsaved("This meeting will be reinstated when you are back online.")}>
  <:subject href="#role-card-unsaved">Choir rehearsal</:subject>
  <:stamp><Kit.Phoenix.Roles.Stamp.stamp state="settled">Cancelled</Kit.Phoenix.Roles.Stamp.stamp></:stamp>
  <:facts><Kit.Phoenix.Roles.FactGroup.fact_group><Kit.Phoenix.Roles.LabelledFact.labelled_fact><:name>Room</:name><:value>Main Hall</:value></Kit.Phoenix.Roles.LabelledFact.labelled_fact></Kit.Phoenix.Roles.FactGroup.fact_group></:facts>
  <:actions><Kit.Phoenix.Roles.ActionGroup.action_group><:secondary><Kit.Phoenix.Roles.SecondaryAction.secondary_action>Open this meeting</Kit.Phoenix.Roles.SecondaryAction.secondary_action></:secondary></Kit.Phoenix.Roles.ActionGroup.action_group></:actions>
</Kit.Phoenix.Roles.Card.card>