Download the PHP package vormia-folks/atu-shipping without Composer

On this page you can find all versions of the php package vormia-folks/atu-shipping. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package atu-shipping

ATU Shipping

A Laravel package for rule-based shipping fee and shipping tax calculation engine. Designed to work independently or with optional integration to ATU Multi-Currency.

Features

Requirements

Admin Livewire UI: This package does not declare livewire/livewire in Composer. The copied admin views are Livewire 4 single-file components. Install Livewire 4 in your app—typically it is already required by A2Commerce, or you can add livewire/livewire yourself. See the Livewire 4 documentation.

Optional: For currency conversion helpers, install vormia-folks/atu-multi-currency (^2.0); see Composer suggest.

Installation

Before installing ATU Shipping, ensure you have Laravel, Vormia, and A2Commerce installed. See the A2Commerce installation guide for detailed instructions on installing A2Commerce and its dependencies.

Step 1: Install ATU Shipping

Step 2: Run ATU Shipping Installation

This will automatically install ATU Shipping with all files and configurations:

Automatically Installed:

Installation Options:

Example:

Step 3: Run Migrations and Seeders

Migrations are loaded automatically from inside the package (no copies in database/migrations), so a plain php artisan migrate is all you need. The installer prompts to run both for you:

Upgrading from older releases: If an earlier version of this package copied migration files into your app’s database/migrations/ directory, remove those duplicate *atu_shipping* PHP files after you upgrade. Laravel registers migrations by basename; keeping both the app copies and the package’s loadMigrationsFrom path can cause duplicate-name conflicts.

Currency columns (3 to 4 characters)

A later migration, 2026_02_17_100000_alter_atu_shipping_tables_for_4char_currency_codes.php, widens the currency column on atu_shipping_rules and atu_shipping_logs from 3 to 4 characters so you can store ISO 4217 codes and extended 4-character codes (for example with ATU Multi-Currency). It ships inside the package and runs automatically on php artisan migrate.

If production was already altered manually (columns are already CHAR(4) but this migration never ran), add a row to the migrations table so Laravel skips it: set migration to 2026_02_17_100000_alter_atu_shipping_tables_for_4char_currency_codes and use a batch value consistent with your app.

Configuration

After installation, you can configure the package in config/atu-shipping.php:

The configuration file includes settings for:

Environment Variables

The following environment variables are added to your .env file during installation:

Usage

Basic Usage

Get shipping options for a cart:

With Order Context

Rule Evaluation

The package uses a rule-based system where:

Supported Rule Constraints

Evaluated at runtime (see RuleEvaluator):

Stored on the rule but not used by the current evaluator (reserved for future logic or custom extensions):

Details: docs/atu-shipping.md.

Database Structure

The package creates the following tables:

Available Commands

Install Command

Install the package with all necessary files and configurations:

Options:

Automatically Installed:

Example:

Update Command

Update package files and configurations, refresh migrations and seeders, clear caches:

Options:

This command will:

Example:

Uninstall Command

Remove all package files and configurations:

Options:

⚠️ Warning: This will remove all ATU Shipping files and optionally drop database tables. A backup will be created in storage/app/atushipping-final-backup-{timestamp}/.

Example:

Note: The uninstall command will:

After uninstalling, you'll need to manually remove the package from composer:

Help Command

Display help information and usage examples:

UI Installation

After installing the base package, you can set up the admin UI components for managing shipping couriers, rules, and logs. The package includes reference files and view stubs that show you exactly what routes, menu items, and views to add.

View Files

The package includes Livewire view files in vendor/vormia-folks/atu-shipping/src/stubs/resources/views/livewire/admin/atu/shipping/:

Copy these files to your resources/views/livewire/admin/atu/shipping/ directory to use the admin UI.

Reference Files

The package provides reference files in vendor/vormia-folks/atu-shipping/src/stubs/reference/:

Manual Admin Routes Setup

Add the following routes to your admin routes file (e.g., routes/admin.php or routes/web.php with admin middleware):

Note: Route::livewire() is provided by Livewire 4. See Livewire routing and components.

Manual API Routes Setup (Optional)

If you need API endpoints for calculating shipping options, add these routes to routes/api.php:

Note: The ShippingController class is automatically copied to app/Http/Controllers/Atu/ShippingController.php during installation. You'll need to implement the resolveCart() and resolveOrder() methods based on your application's Cart and Order models.

API Endpoints

POST /atu/shipping/calculate

Calculate shipping options for a cart.

Request Body:

Response (200 OK):

Error Response (422 Validation Error):

GET /atu/shipping/options

Get shipping options for a cart (same as calculate but via GET request).

Query Parameters:

Example Request:

Response: Same format as POST /calculate

POST /atu/shipping/select

Select a shipping courier for an order and log the selection.

Request Body:

Note: from and to are optional. If not provided, the order's default origin and destination countries will be used (if available via OrderInterface methods).

Response (200 OK):

Error Response (400 Bad Request):

Sidebar Menu

The installer automatically injects the menu below into your Flux sidebar blade (at resources/views/layouts/app/sidebar.blade.php or resources/views/components/layouts/app/sidebar.blade.php). The injected block is fenced by markers so atushipping:uninstall can remove it cleanly.

If your sidebar lives elsewhere, copy this manually from vendor/vormia-folks/atu-shipping/src/stubs/reference/sidebar-menu-to-add.blade.php:

The package uses flux:sidebar.item (not flux:navlist.item) to match the default Flux admin sidebar from vormiaphp/ui-livewireflux-admin.

Reference Files:

Contracts

The package uses interfaces for cart and order contexts:

Your cart and order models should implement these interfaces to work with ATU Shipping.

Core Principles

  1. A2 Commerce remains authoritative - ATU Shipping never mutates cart, product, or order totals directly
  2. Rules are declarative - A rule may define only the constraints it needs
  3. Evaluation is deterministic - Same inputs always return the same result
  4. Currency-agnostic - Uses base currency by default, optionally delegates to ATU Multi-Currency
  5. Ephemeral calculations - All calculations are ephemeral until checkout

Logging

When you call select() on the shipping service, a row is written to atu_shipping_logs on success (failures are caught and reported to Laravel’s log). Typical call sites:

The enable_logging entry in config/atu-shipping.php is kept for forward compatibility; today’s package does not skip logging based on that flag. If you need toggled logging, wrap select() in your application or extend ShippingService.

Logs are stored in the atu_shipping_logs table and include:

Integration with ATU Multi-Currency

Optional package vormia-folks/atu-multi-currency is listed under Composer suggest. The shipping fee calculator includes a conversion hook (FeeCalculator::convertCurrency()) that detects Multi-Currency classes but does not yet apply live conversion in core flows—amounts stay in the rule’s currency (or A2 Commerce default). Implement conversion in your app or extend the calculator if you need cross-currency totals. See docs/atu-shipping.md.

Non-Goals

ATU Shipping does NOT:

Uninstallation

To completely remove the package:

Note: The uninstall command will:

Backup Location: A final backup is created in storage/app/atushipping-final-backup-{timestamp}/ containing:

License

MIT

Documentation

For detailed implementation guides and architecture documentation, see:

Troubleshooting

Migration Errors

If migrations fail:

No Shipping Options Returned

If options() returns an empty array:

Rule Not Matching

If a rule is not being applied:

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Support

For issues, questions, or contributions:

Version

Package constant Vormia\ATUShipping\ATUShipping::VERSION tracks the in-code release label (use Git tags as the source of truth for Composer installs; this repository does not duplicate a version field in composer.json).


Built with ❤️ for the A2 Commerce ecosystem


All versions of atu-shipping with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
laravel/framework Version ^12.0|^13.0
vormiaphp/vormia Version ^5.4
a2-atu/a2commerce Version ^0.2.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package vormia-folks/atu-shipping contains the following files

Loading the files please wait ...