A valid request URL is required to generate request examples{
"items": [
{
"id": "p-ok",
"storeId": "store-rivoli",
"customerName": "Alice",
"cart": {
"lines": [
{
"id": "sku-1",
"skuId": "sku-1",
"quantity": 2,
"unitPrice": 4990,
"vatRate": 20,
"free": false
}
],
"freeLineSequence": 1
},
"status": "open",
"actorId": "cashier-1",
"parkedAt": "2026-01-02T10:00:00.000Z"
}
],
"total": 1,
"page": 1,
"pageSize": 20,
"pageCount": 1
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123,
"fieldErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}List open parked sales
Returns ONE PAGE of the open held carts (the ‘Ventes en attente’ list) — the only listable state; resumed and dropped sales are excluded. Pass ?store=<id> to narrow to one store so a sale parked there can be resumed from another till. Page with page/pageSize (max 100) and keep going until page reaches pageCount: a held cart left on an unread page is money a till believes it has lost, so NEVER read only the first page. total counts the open carts across ALL pages. No match is an empty items array.
A valid request URL is required to generate request examples{
"items": [
{
"id": "p-ok",
"storeId": "store-rivoli",
"customerName": "Alice",
"cart": {
"lines": [
{
"id": "sku-1",
"skuId": "sku-1",
"quantity": 2,
"unitPrice": 4990,
"vatRate": 20,
"free": false
}
],
"freeLineSequence": 1
},
"status": "open",
"actorId": "cashier-1",
"parkedAt": "2026-01-02T10:00:00.000Z"
}
],
"total": 1,
"page": 1,
"pageSize": 20,
"pageCount": 1
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123,
"fieldErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}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.
Query Parameters
1-based page index to return. Defaults to 1.
1 <= x <= 9007199254740991Rows per page, 1..100. Defaults to 20.
1 <= x <= 100Narrow to one store's open parked sales (ventes en attente) by store id.
Response
A page of open held carts (one row per parked sale) with the pagination totals.
A page of open held carts (one row per parked sale) with the pagination totals.
The rows on this page, in the query's sort order.
Show child attributes
Show child attributes
Total rows matching the filter across ALL pages, not just this one.
0 <= x <= 9007199254740991The 1-based page number served.
0 < x <= 9007199254740991Rows requested per page.
0 < x <= 9007199254740991Total number of pages; stop walking when page reaches it.
0 <= x <= 9007199254740991
