- What is vanilo/order used for?
- Vanilo Order is the core order management module for Laravel e-commerce applications built on Vanilo. It provides order and order item models, status handling, adjustments, totals, and the business logic needed to create, calculate, and process customer orders. It is not a standalone library: it is one module of the Vanilo suite, registered through Concord, and it sits at the highest-coupling point in the domain.
- How do I install vanilo/order in a Laravel app?
- It is Composer-installable and MIT-licensed, with its schema loaded from the package via migrations rather than published for editing. Install it as part of a coherently resolved Vanilo suite alongside packages such as vanilo/contracts, and in practice vanilo/checkout, vanilo/payment, vanilo/shipment, and vanilo/cart for a working flow. Pulling it at a floating constraint next to hand-picked sibling versions is a reliable way to hit class-not-found and signature-mismatch failures.
- Which Laravel and PHP versions does vanilo/order support?
- The supported Laravel and PHP matrix is determined by the Vanilo major you target, not by this package in isolation. Before committing, confirm that the target major's supported matrix matches your platform roadmap for the next 24 months. The package is only safe to install as part of a consistently resolved suite.
- Can I use vanilo/order without the rest of Vanilo?
- Not realistically. The module is registered through Concord and depends on vanilo/contracts, and a working order flow in practice pulls in checkout, payment, shipment, and cart. Bolting it onto an existing custom application means inheriting the Vanilo order schema, the Concord bootstrap, and the contract expectations without gaining the surrounding flow.
- How do I add custom columns to the orders table?
- The schema is loaded from the package and is not published for editing, so host-app changes must go through additive migrations of your own. Plan to build a thin custom-columns migration layer from day one instead of editing vendor migrations. Keep those additions isolated, because order schemas in commerce frameworks change materially between major versions.
- How do I customize the order or order item model?
- The intended extension path is contract substitution: bind your own implementations to the module's interfaces in a service provider rather than editing vendor code. You can also subclass or extend the order and order-item models and listen to the module's domain events. This requires genuinely understanding Concord's binding and module-registration model, not just standard Laravel service providers.
- Does vanilo/order work with an existing order database?
- It is not feasible as a bolt-on order table inside an existing custom application. You would inherit the order schema, the Concord bootstrap, and the contract expectations without gaining the surrounding checkout and payment flow. It is a reasonable fit as the core of a greenfield Laravel commerce build.
- How are payment and shipping statuses stored in vanilo/order?
- Vanilo has historically represented payment and shipping status via konekt/php-enum and moved toward native PHP enums in later majors. Confirm which representation your target version uses, and what the serialized form in the database is, before designing any external integration against those values. Status handling is the rough edge of this module, so treat it as an explicit design decision.
- How do I test an order flow built on vanilo/order?
- Because most failure modes surface at checkout, test the revenue path end to end: order creation, adjustment and total calculation, status transitions, and payment and shipment integration points. Pin the entire Vanilo suite to a single resolved version matrix in CI so class-not-found and signature-mismatch errors are caught early. Exercise your contract bindings and additive custom-column migrations explicitly rather than assuming they behave like standard Laravel service providers.
- What are the alternatives to vanilo/order and is it well maintained?
- Alternatives are essentially other Laravel commerce stacks or building your own order aggregate, since within Vanilo the order model is the least replaceable piece while cart, product, and tax modules are more substitutable. Adoption signal for this specific package is weak at around 35 stars and zero dependents, so third-party validation of the exact code path you depend on is minimal. It is MIT-licensed, which removes licensing risk but not continuity risk, so verify commercial support and single-maintainer exposure, and budget a non-trivial upgrade project per major rather than a routine composer update.