Index: src/services/guardianship/queues.js
===================================================================
--- src/services/guardianship/queues.js	(revision 59d963f00edfe753497c4c3fb9cad34042ab692b)
+++ src/services/guardianship/queues.js	(revision c34ef26c11fe4bc3ceb3bb306311f0ac1236d04f)
@@ -294,4 +294,15 @@
     'shaer:handledAt': h.state.handled ? h.state.handled.at : undefined,
     'shaer:pickedUpBy': h.state.pickedUpBy.map((p) => p.handle || p.uri),
+    // HOE OUD het oudste oppakken is (shaer-lgo). Barts besluit was dat
+    // "opgepikt" niet vervalt maar zichtbaar VEROUDERT -- het verschil tussen
+    // "er is iemand mee bezig" en "er was ooit iemand mee bezig". Het paneel
+    // toonde dat al; de apps konden het niet, want dit veld bleef hier liggen.
+    // Een oppak van vijf minuten zag er daar uit als een van vijf dagen, en de
+    // faalstand is hier nou juist "iedereen denkt dat het geregeld is".
+    //
+    // Als TIJDSTIP en niet als leeftijd: een leeftijd maakt elk antwoord anders
+    // en dan kan de ETag nooit gelijk zijn. De client rekent zelf terug, precies
+    // zoals guardian.js het doet.
+    'shaer:oldestPickupAt': h.state.oldestPickupAt || undefined,
     'shaer:formerWard': h.state.formerWard || undefined,
   }));
Index: test/help-c2s.test.js
===================================================================
--- test/help-c2s.test.js	(revision 59d963f00edfe753497c4c3fb9cad34042ab692b)
+++ test/help-c2s.test.js	(revision c34ef26c11fe4bc3ceb3bb306311f0ac1236d04f)
@@ -60,4 +60,18 @@
 });
 
+test('en de apps krijgen te horen HOE OUD dat oppakken is', () => {
+  // Barts besluit: opgepikt vervalt niet maar veroudert zichtbaar -- het
+  // verschil tussen "er is iemand mee bezig" en "er was ooit iemand mee bezig".
+  // Het paneel toonde dat al uit dezelfde staat; de apps kregen het veld niet,
+  // dus daar zag een oppak van vijf minuten eruit als een van vijf dagen.
+  const coll = queues.helpCollection('https://x/queues/help', 'oma');
+  const item = coll.orderedItems.find((i) => i.id === BOEI);
+  assert.ok(item['shaer:oldestPickupAt'], 'het veld staat er');
+  assert.ok(!Number.isNaN(Date.parse(item['shaer:oldestPickupAt'])), 'en is een leesbaar tijdstip');
+  // Een TIJDSTIP en geen leeftijd: een leeftijd maakt elk antwoord anders en
+  // dan kan de ETag nooit gelijk zijn. De client rekent zelf terug.
+  assert.equal(typeof item['shaer:oldestPickupAt'], 'string');
+});
+
 test('afsluiten vanuit de app sluit hem ook echt', async () => {
   await AP.ingestOutboxActivity(site(), user, marker('handled'));
@@ -75,4 +89,7 @@
   assert.ok(item['shaer:handledBy']);
   assert.equal(item['shaer:helpRequest'], true);
+  // En de ouderdom is WEG zodra hij is afgehandeld: hoe lang er iemand naar
+  // keek is dan geen informatie meer, en zou als "er wacht nog iets" lezen.
+  assert.equal(item['shaer:oldestPickupAt'], undefined);
 });
 
