- Documentation
- /
- Coast 10 Release
- /
- 01 — Quick Reference
01 — Quick Reference
Menu map
| Group | Models |
|---|---|
| Documents | ShippingDocument · ShippingDocumentLine |
| Release Requests | ReleaseRequest · ReleaseItem · ReleaseCheck · ReleaseCargoHold · ReleaseEvidence |
| Authority & Reservations | ReleaseAuthority · ReleaseAuthorityItem · ReleaseReservation · ReleaseValidation · ReleaseException |
| Audit | ReleaseAudit |
| Reference & Sources | ReleaseDocumentType · ReleaseSourceSnapshot |
Every model (15) — one line each
| Model | It records | Key foreign keys |
|---|---|---|
| ReleaseDocumentType | A document type (BL, SWB, DO, CR, MC, SI) | — |
| ShippingDocument | One version of a shipping document; issued versions are immutable and superseded by a later one | ReleaseDocumentType, itself (supersedes) |
| ShippingDocumentLine | A cargo line of a document, with the source hash | ShippingDocument |
| ReleaseRequest | A commercial release request for a consignment at a discharge port | — |
| ReleaseItem | A quantity of one manifest line (and container) to release | ReleaseRequest |
| ReleaseCheck | A check (entitlement, freight, customs ...) with outcome and validity; append-only | ReleaseRequest |
| ReleaseCargoHold | A commercial hold; an active one suspends the authority | ReleaseRequest |
| ReleaseEvidence | Evidence (ID, freight payment, POD ...) with its hash; append-only | ReleaseRequest |
| ReleaseAuthority | The authority to release: validity, version, status | ReleaseRequest, ShippingDocument |
| ReleaseAuthorityItem | The quantity authorised, reserved and consumed per item | ReleaseAuthority, ReleaseItem |
| ReleaseReservation | A short-lived exclusive reservation of a quantity for the yard | ReleaseAuthorityItem |
| ReleaseValidation | The answer to one fresh validation (VALID or the refusal code), published to the yard; append-only | ReleaseReservation |
| ReleaseException | A control exception: conflicting gate fact, unresolved expiry, stale document | ReleaseRequest, ReleaseAuthority, ReleaseReservation |
| ReleaseAudit | Who did what, append-only | ReleaseRequest, ReleaseAuthority |
| ReleaseSourceSnapshot | What other applications told us (effective cargo, voyage, call): versioned, hashed | — |
Vocabularies
- ShippingDocument.status: DRAFT · APPROVED · ISSUED · SUPERSEDED · VOID
- ReleaseRequest.status: DRAFT · CHECKING · APPROVED · DENIED · CLOSED
- ReleaseCheck.check_type: MANIFEST_LINE · ENTITLEMENT · FREIGHT_RELEASE · CUSTOMS · QUARANTINE · HOLD_CLEARANCE · DOCUMENTARY (outcome PASSED · FAILED · NOT_APPLICABLE · PENDING)
- ReleaseCargoHold.hold_type: DOCUMENTARY · FREIGHT · CUSTOMS · QUARANTINE · CORRECTION · URGENT · OTHER
- ReleaseAuthority.status: ACTIVE · SUSPENDED · REVOKED · EXHAUSTED · EXPIRED
- ReleaseReservation.status: RESERVED · COMMITTED · CANCELLED · EXPIRED · EXCEPTION
- ReleaseException.status: OPEN · RESOLVED · REJECTED
Messages (network member)
| Commands accepted (from coast_04_yard, orchestrator) | release.reserve · release.validate_reservation · release.consume_reservation · release.cancel_reservation · release.sweep_expired (orchestrator) |
| Events published | release.document_issued · release.authority_changed · release.reservation_changed (RESERVED, CANCELLED, EXPIRED, EXCEPTION, or REFUSED for a refused reserve) · release.reservation_validated (the answer to a validation) · release.reservation_consumed · release.exception_raised · release.exception_resolved |
| Events consumed | manifest.effective_cargo · manifest.line_corrected · voyage.snapshot · voyage.portcall_snapshot · voyage.cargo_call_mapped · cartage.pod_verified · assurance.action_requested |
Run, seed, regenerate
python server/run.py coast_10_release # http://localhost:5163
python -m codegen.cli all coast_10_release # regenerate models, controllers and JSON after a schema change
python -m codegen.cli seed coast_10_release --reset # reload the sample data
python -m codegen.cli integration coast_10_release # regenerate the integration package (handlers.py is never overwritten)
python scripts/build_diagram_viewer.py coast_10_release # rebuild the interactive diagram