Flag a rental as overdue
Flags an active rental whose period.dueAt has already elapsed as overdue. This is a BOOKKEEPING flip for the returns desk and the status=overdue listing: it moves no money, charges no fee, and does not block the return — an overdue rental is still returned through returnRental, which computes the late fee from dueAt regardless of whether anyone flagged it. Nothing applies it automatically, so a genuinely late rental stays active until someone calls this. Send no body. It cannot be undone: there is no active <- overdue transition. 422 in two distinct cases you must tell apart from the message — the rental is not active (already overdue, or returned), or dueAt has NOT yet passed, which usually means you misread the window; re-check period.dueAt with getRental rather than retrying. 404 for an unknown id. NOT IDEMPOTENT — there is no dedup key. A SEQUENTIAL replay cannot double-apply (the status guard rejects it), but that guard is an unsynchronised read-then-write with no row lock (solya-pos#956), so do not fan concurrent calls at one rental. If your call times out RE-READ with getRental before retrying: an overdue status means the first attempt already committed.
Authorizations
Authorization: Bearer <token>. Accepts EITHER a Keycloak access token (scopes-in-token) OR an opaque POS session token; both resolve to the same pos.* scope vocabulary the route guards enforce.
Path Parameters
1Response
The rental, now overdue; every other field is unchanged.
The rental, now overdue; every other field is unchanged.
1 -9007199254740991 <= x <= 9007199254740991-9007199254740991 <= x <= 9007199254740991active, returned, overdue 
