skip to content

Scheduling API

A scheduling API for product deliveries: a supplier books a time with an employee, with availability and conflict checking — not a spreadsheet.

year
2025
area
backend API
status
published
stack
Go · Gin · PostgreSQL · JWT

Scheduling API view code

the problem

Scheduling a supplier delivery usually ends up in a shared spreadsheet or a group chat. The result is predictable: two suppliers in the same slot, an employee who isn't available, and no history of who booked what.

For whoever builds it, the interesting problem isn't storing the date — it's deciding whether that slot can exist before accepting it, with role-based access and without scattering that logic across the routes.

the approach

The API is Go with Gin and GORM over PostgreSQL, JWT authentication and role-based access control. Availability checking and conflict detection happen in the rules layer, before any write — the handler decides nothing on its own.

The layering is deliberate: the scheduling rules stay testable in isolation, which is where most mistakes tend to be born.

where it stands

Published on GitHub, with authentication, conflict-aware scheduling, availability checking, appointment management and statistics/reporting endpoints.

next: PsyPredict