9月19日付変更書のUI実装
2026年9月18日に受領した 20260919仕様変更書.docx の対象は、保護者の出席連絡とKIOSKの登降園操作。日次連絡の既存項目を含むモックv2と時刻入力モックを確認した後、ユーザーから「モックで提示したものはとりあえず反映したい」と実装依頼を受けた。同時に、園ごとに異なる閉園時刻への対応は今後にする方針が示された。そのため、今回の実装には閉園時刻の設定・制限を含めない。モックを試してから実装する手順に沿って実装し、ユーザーの実機反映依頼により2026年9月19日12:29 JSTに本番配備を完了した。
変更書から読み取った要望
| 対象 | 要望 |
|---|---|
| 保護者の出席連絡 | 出席の下に降園予定時刻の入力をまとめ、一度で連絡できるようにする。既存のお迎え予定変更ボタンは維持する |
| KIOSKの登園 | クラス、名前、登園の順に進む。予定が揃っていれば大きな確認画面へ、未入力・一部入力なら予定入力へ進む。確認画面には修正・取り消し・決定を置く |
| KIOSKの降園 | 出席確認済みの園児に、お迎えに来た人の選択と降園ボタンを表示する。人を選ばず押した場合は受け付けず警告を出す。選択後は従来の受付完了画面へ進む |
文書中の「当園時間」は登園時刻、「捕食」は補食と解釈した。登園確認画面の「降園時刻」は実績ではなく「降園予定時刻」と表示する。
回答により確定した3点
| 確認事項 | 確定した動作 |
|---|---|
| 出席連絡にまとめる項目 | 降園予定時刻・お迎えの人・補食の3点 |
| 登園の記録が確定する操作 | 最初の登園ボタンの時刻を仮保持し、確認画面の決定で保存。取り消しでは何も保存しない |
| 降園画面を表示する条件 | 登園打刻、または職員による目視の出席確認がある |
確定した動作をモックの標準動作にした。調整項目には園児名の大きさと完了画面を止める操作のみを残し、合意済みの条件は切替対象にしない。目視確認だけの場合も、実際には存在しない登園時刻は作らない。
モックv2で試せる操作
- 保護者画面で、出席連絡とお迎え予定を一度に保存し、変更ボタンから予定だけを変更する。
- 日次連絡は体温、就寝・起床、睡眠メモ、朝食・食欲、食べた内容、排便の性状・回数・メモ、機嫌、咳、鼻水、服薬、体調メモ、園への連絡事項を含む。現行の入力順を保ち、その前にお迎えの3項目を置く。
- 出席/欠席と、欠席理由の私用/病欠を切り替える。私用は備考、病欠は体温・症状・診断名・備考を表示する。入力途中に出欠を切り替えても入力値を保持する。
- 体温・朝食・機嫌の選択ボタン、出席時の37.5℃以上の警告、病欠時の必須項目を試せる。保存後に日次連絡を開くと、架空の園児ごとに保存した内容を再表示する。
- 保護者が保存した予定をKIOSK側でも参照する。
- 登園前は園児名と登園ボタンを表示する。予定の登録だけを理由に降園画面には進まない。
- 予定が揃っている場合は確認画面へ、未入力・一部入力の場合は入力画面へ進む。入力済みの値は保持する。
- 確認画面で園児名、登園時刻、降園予定時刻、お迎えの人、補食を大きく表示する。
- 修正は入力画面へ、取り消しはクラス選択へ、決定は受付完了へ進む。取り消した修正案も予定に書き戻さない。
- 降園では「予定の人」と別に「実際にお迎えに来た人」を選ぶ。予定の人を自動選択せず、未選択で降園を押すと画面に警告を出す。
- 受付完了から1秒でクラス選択へ戻る。確認用の調整項目で完了画面を止められる。
サンプルは、たんぽぽ組の「見本 はる」(予定入力済み)、「見本 あお」(未入力)、「見本 りく」(時刻だけ入力)と、すみれ組の「見本 そら」(登園済み)、「見本 ひな」(職員の目視確認のみ)。いずれも架空の園児である。
モックから採用した細部
- 出席連絡ではお迎え項目を任意入力とする。未入力はKIOSKで補う。時だけ・分だけの不完全な時刻は保存できない。
- 補食は「必要」「不要」を明示選択する。新しい未入力の予定では未選択と不要を区別する。移行時は既存データの不要をそのまま扱う。
- 降園時に実際のお迎えの人が未選択の場合は画面で警告する。
- 実際のお迎えの人には既存と同じ6つの選択肢を使う。「その他」の氏名入力は追加しない。
- モックの画面切替、サンプル状態の表示、調整パネルは確認用であり、本番の追加UIではない。
v1では変更箇所の周辺だけを抜粋し、睡眠・食事などの既存項目を省略していた。ユーザーの指摘を受け、入力順や画面の長さを判断できるようv2で復元した。既存項目を削除する仕様変更はない。
降園予定時刻の確定仕様
ユーザーから「10〜14時は小さいボタン、15〜18時は大きいボタン」「22時まで開いている園もあるため、直感的に間違いを減らせる入力にしたい」との希望があった。比較用モック hoiku-pickup-hours-review.html に対して「このパートはこれでOK」と承認を得た。その後の実装依頼で閉園時刻への対応を延期したため、モック内の閉園設定・候補制限は今回の実装から外す。
- 時刻は小さい順に並べ、10〜14時は小さめ、15〜18時は大きいボタンにする。19〜22時も常時表示し、見出しは「19時以降」とする。
- 閉園時刻の設定、園別の候補制限、閉園時刻に基づく警告・保存拒否は今後の対応とする。今回は22:15や22:45も選べる。一律の22:00上限を設けない。
- 時→分の順に選び、選択中の時刻を24時間表記で大きく表示する。未選択は「--」で表し、00分を勝手に補わない。既に入力済みで有効な分は保持する。
- 分は00・15・30・45をボタンで提示し、それ以外も1分単位で選べる。従来の24時間入力範囲を保持し、0〜9時と23時は「その他の時刻」に置く。
- 保護者とKIOSKで同じ時刻入力を試せる。日次連絡の食事・睡眠など、既存項目は引き続きすべて含む。
- 将来、園ごとの閉園時刻を導入する際には、日による違い、閉園時刻の分、既に登録された予定の扱いを改めて仕様・モックで確認する。
実装内容と検証
本番用の実装は9月17日配備版 bba95bb を土台とし、カレンダー取込・議事録出力・端末の全画面維持などを保持する。
- 日次連絡とお迎え予定は同じトランザクションで保存する。入力エラーや他の操作との競合時に片方だけを保存しない。睡眠・食事などの既存入力項目を維持する。
- 登園ボタンの時刻は署名付きの一時情報として保持する。確認・修正ではDBを書き換えず、決定で登園と予定を一度に保存する。園児・日付・端末・変更履歴を照合し、期限切れ・二重打刻・競合を拒否する。
- 登園打刻または職員の目視出席確認がある場合に降園できる。目視確認だけの場合、登園時刻は空欄のまま保持する。職員画面に打刻漏れを表示し、降園の取消にも対応する。
- 予定と実際のお迎えの人を分けて保存する。取消時は実際のお迎えの人も履歴に残す。
attendance_recordsにpickup_snack_confirmedとactual_pickup_personを追加する。既存の補食データは確認済みとして移行し、新規予定の未選択と区別する。移行は繰り返し実行できる。- 開発版のバックアップ検証にも2列を含む契約
spec-changes-20260919を追加する。本番用の実装には未配備のバックアップv2を持ち込まず、現行のバックアップ方式を保持する。 - 自動テストで保存タイミング、部分入力、権限、古い画面からの更新、署名と期限、移行を確認する。ブラウザでは320〜1280px幅、日次連絡の保存、登園の修正・取消・決定、実際のお迎えの人の必須選択、目視確認からの降園、全画面の維持を確認する。
2026年9月18日の検証結果:
- 開発版の全体テスト: 773件成功(501.20秒)。
- 本番基準版の全体テスト: 748件成功。その後のフォーム再表示修正と追加テストを含む関連55件も成功。
- Edgeの操作試験: 9月19日変更、端末の全画面・放置・オフライン復帰、9月17日追加機能、9月11日画面回帰の4スクリプトが成功。架空データのみを使用した。
- Ruff、MkDocs strict、差分の空白検査: 成功。
- 9月18日の検証時点では本番のDB・稼働アプリは変更していなかった。
9月19日に朝食・食欲の選択ボタンを入力欄の直下へ移動した。実機反映の依頼を受け、最終の本番用コミット 8e458f2 で全体749件のテストとブラウザ操作確認を完了した。本番更新記録のとおり、12:29 JSTに配備完了。正常起動・既存データと設定の保持・配備版の一致を確認した。