DBDeep Biswas

2025-11-04 · 5 min read

Modeling daily vs evening retail sessions

MySQLProductRetail

Retail teams often run two operational days on one calendar day. MSTORE’s daily and evening sessions taught me not to overload a single “today” column.

Treat session as a first-class domain concept: sales, bills, and payments hang off the active session. Settlement jobs close a session explicitly instead of guessing from timestamps.

UX matters as much as schema. Group-wise quantity entry with sticky totals keeps counters fast; CSV import/export must tolerate messy real-world group names.

When reporting, be explicit about which session a number belongs to. Ambiguous “yesterday” language is how ops and engineering start arguing past each other.