Download the PHP package entelix/edilink without Composer
On this page you can find all versions of the php package entelix/edilink. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download entelix/edilink
More information about entelix/edilink
Files in entelix/edilink
Package edilink
Short Description EDILink — Laravel package for building, dispatching and parsing shipping EDI messages. Pluggable carrier profiles. Zero framework coupling in the core.
License MIT
Homepage https://github.com/HiralRajgor/edilink
Informations about the package edilink
EDILink by Hiral Rajgor
Laravel package for generating shipping EDI files from container lifecycle events.
Stuck figuring out encoding and decoding EDIs, here is the easiest way to do it. EDILink gives you a clean, framework-agnostic pipeline to turn your container movement data into carrier-ready EDI output — with zero database coupling, typed data objects, and a pluggable carrier profile system that makes adding new shipping lines straightforward.
Built and maintained by Hiral Rajgor.
Features
- Typed input objects —
MovementRecordwith a fluent builder; hydrate from any array or DB row - Pluggable carrier profiles — MSC ships built-in; add HLL, KMTC, OOCL etc. by implementing one interface
- Dual output modes — fixed-width text (for EDI files) or structured array (for Excel / OVA / API)
- Chronological validation — each event is checked against the full arrival→survey→repair→departure chain before being included
- DB feedback loop — every
EdiOutputcarries theincludedIdsof records written, so you update your own DB - Zero framework coupling in the core —
MovementRecord,EdiOutput, and all profile logic are pure PHP; Laravel is only needed for the Facade, service provider, and Artisan commands
Requirements
- PHP 8.2+
- Laravel 10, 11, 12, or 13
Installation
Laravel auto-discovers the service provider. To publish the config file:
Core concepts
MovementRecord
The single input object that flows through EDILink. Represents one container's state at the time you want to generate EDI.
Fluent builder:
From a DB row array:
fromArray() accepts both snake_case and camelCase keys, and maps common column name variants automatically — gate_in, arrived_at, gate_in_at, arrivedAt all map to the same field.
EdiOutput
Every build*() method returns an EdiOutput:
Usage
Generate a single event
Generate all events at once
Shorthand — full EDI string in one call
Array / OVA output mode
Laravel scheduler integration
The example below shows the recommended pattern: a dedicated scope on your
model resolves the pending records, buildAll() generates the EDI in one
pass, and includedIds gives you the exact IDs to stamp without a second
query.
Your model scope — add this to whatever Eloquent model holds your container data:
The Artisan command:
Register in your scheduler:
Adding a new carrier
-
Create a profile class in your app (or a separate package):
-
Register in
config/edilink.php: - Use it:
Artisan commands
Running tests
MSC event reference
| Method | Event type slug | EDI code |
|---|---|---|
buildGateIn() |
gate_in |
DEV / MCY / MPI / ERM (zone-aware) |
buildSurvey() |
survey |
DAM |
buildRepairDispatch() |
repair_dispatch |
TBR |
buildRepairReturn() |
repair_return |
REP |
buildGateOut() |
gate_out |
FST / MPO / MSH (zone-aware) |
buildCfsArrival() |
cfs_arrival |
DVAN |
buildStuffing() |
stuffing |
CST |
buildDestuffing() |
destuffing |
DST |
Roadmap
- [x] MSC fixed-width EDI generator
- [x] MSC array / OVA output
- [x] Zone-aware event code resolution (Hazira, Mundra, Nhava Sheva)
- [x] Chronological chain validation
- [x]
EdiOutput.includedIdsfor DB feedback loop - [x]
MovementRecordfluent builder +fromArray()factory - [ ] HLL carrier profile
- [ ] KMTC carrier profile
- [ ] OOCL carrier profile
- [ ] Inbound EDI parser (raw EDI text →
MovementRecord[]) - [ ] Schema validator with field-level error messages
- [ ] Hosted API tier — subscribe at entelix.in for an API key
License
MIT — free to use in any project.
© Hiral Rajgor | Entelix Technologies. Contributions welcome via GitHub.
All versions of edilink with dependencies
illuminate/support Version ^10.0|^11.0|^12.0|^13.0
illuminate/console Version ^10.0|^11.0|^12.0|^13.0
illuminate/mail Version ^10.0|^11.0|^12.0|^13.0