Skip to main content

Security Deposit Taken by Hand

Record a security deposit the business took in person (cash, bank transfer, its own card machine) as held, then give it back or keep some of it when the booking ends. No card is charged through EquipDash.

These are the same actions as the deposit panel on the booking page and the Dash record_security_deposit tool.

Authenticationโ€‹

Requires an API key with the bookings:write scope.

Record a depositโ€‹

POST /v1/bookings/{id}/deposit/record
FieldTypeRequiredDescription
amountnumberNoThe deposit actually taken, in the booking currency. Must be greater than zero. When it differs from the booking's deposit, or the booking has none, the booking's deposit is set to it first. Omit to use the booking's deposit amount.
offline_methodstringNocash (default), bank_transfer, card or other
security_deposit_idintegerNoFor a deposit split into parts: the part to record
location_idintegerNoThe location of the counter where the cash changed hands, so it counts at the till open there. See Which till a payment counts at
curl -X POST "https://app.equipdash.com/api/v1/bookings/123/deposit/record" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "amount": 250, "offline_method": "cash" }'

Returns the booking. security_deposit_status is held and security_deposit_amount is the amount recorded.

Give it backโ€‹

POST /v1/bookings/{id}/deposit/release
FieldTypeRequiredDescription
amountnumberNoFor a charged deposit, how much to give back. Omit to give back all of it.
security_deposit_idintegerNoFor a deposit split into parts: the part to give back
location_idintegerNoThe location of the counter where the cash changed hands, so it counts at the till open there. See Which till a payment counts at

security_deposit_status becomes released.

Keep some or all of itโ€‹

POST /v1/bookings/{id}/deposit/capture
FieldTypeRequiredDescription
amountnumberNoHow much to keep, up to the deposit. Omit to keep all of it.
security_deposit_idintegerNoFor a deposit split into parts: the part to act on
location_idintegerNoThe location of the counter where the cash changed hands, so it counts at the till open there. See Which till a payment counts at

For a deposit held in cash, the rest is recorded as given back, so the booking's payment history shows both what was kept and what went back. security_deposit_status becomes captured.

Settle it when the gear comes backโ€‹

The return action takes the deposit in the same call, the same as the return window on the booking page.

POST /v1/bookings/{id}/actions/return
FieldTypeRequiredDescription
depositstringNoback gives the whole deposit back. keep keeps part of it for damage. Omit to leave the deposit as it is.
deposit_keepnumberWhen deposit is keepHow much to keep, up to the deposit. The rest is recorded as given back.
curl -X POST "https://app.equipdash.com/api/v1/bookings/123/actions/return" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "deposit": "keep", "deposit_keep": 40 }'

Settling the deposit needs permission to take payments; without it the call answers 403 and nothing is returned. If the items go back but the deposit cannot be settled, the call answers 422 with the code deposit_not_settled: the booking is returned, and only the deposit is left to sort out.

Errorsโ€‹

StatusWhen
403The booking belongs to another business, or the key lacks bookings:write
404No booking with that ID
409Nothing to act on: a deposit was already recorded, or it is not held
422amount is zero, negative or more than the deposit