E-Commerce Requires WooCommerce

Headless POS Sessions

Full CRUD REST API for point-of-sale register sessions. Stores session data as a Custom Post Type with structured metadata. Supports UUID-based deduplication for safe offline sync, automatic daily cleanup, and WooCommerce capability-based permissions.

Features

Full CRUD API for POS register sessions
Custom Post Type storage with structured meta fields
UUID-based deduplication (409 Conflict on duplicate)
Automatic daily cleanup and auto-close of orphaned sessions
Pagination, filtering by status/terminal/cashier/date range
WooCommerce capability-based access control

API Endpoints

Method Path
POST /headless-pos-sessions/v1/sessions
GET /headless-pos-sessions/v1/sessions
GET /headless-pos-sessions/v1/sessions/:id
PUT /headless-pos-sessions/v1/sessions/:id
DELETE /headless-pos-sessions/v1/sessions/:id

FAQ

How does offline sync work?
Each session includes a UUID. If the POS device retries creating a session that already exists, the API returns 409 Conflict instead of creating a duplicate. This makes offline-first sync safe.
What happens to old sessions?
A daily cron job automatically deletes closed sessions older than the configured retention period and auto-closes any orphaned open sessions.