# Sandbox

The sandbox runs the same code as production with test data and no real money. Use it to build and to rehearse every flow before going live.

- Your sandbox company mirrors your production setup (packages, rating factors, cancellation scales) as it was when the sandbox was created. Edit it freely.
- Data is **reset every Sunday at 02:00 Cairo time**: policies, claims and cancellations you created are removed. Your clients and webhook endpoints are kept.
- No emails or SMS reach real people. Payments are test payments.

## Playing the customer

The [simulator routes](/reference/sandbox.md) act as the customer and fire the same webhooks as real activity:

| To test | Call |
| --- | --- |
| Booking new policies | `POST /partner/sandbox/simulate/policy-sale` |
| Cancellation decisions and refunds | `POST /partner/sandbox/simulate/cancellation-request` |
| Claim handling | `POST /partner/sandbox/simulate/claim`, then `…/claim-resubmission` after you request documents |
| Expiry and cancellation-scale tiers | `POST /partner/sandbox/clock` with `advanceDays` |

## Rehearsal scenarios

1. Sale → `policy.issued` → book → set your policy number.
2. Cancellation request → approve → `cancellation.completed` and `policy.cancelled`; check the refund matches your scale.
3. Claim → start review → request a document → resubmission → approve → settle → close.
4. Approve a claim above the remaining cover: expect `400 claim_not_payable`.
5. Make your webhook endpoint return `500` for an hour, then fix it: events are retried and nothing is lost.
6. Reconcile a week with the premium bordereau.
