# 01 - Batch Shipment Page

**Status: COMPLETED**

## Summary

The Batch Shipment page allows warehouse staff to process multiple orders at once instead of one-by-one. Users search for orders ready to ship, select multiples via checkboxes, and the system processes each sequentially: creating shipments, picking inventory, generating labels, and printing automatically.

## Current State

Fully implemented in `BigBatchShipper.jsx` with two processing modes:
- **Labels Only**: Generates and prints shipping labels without Shopify fulfillment
- **Generate All**: Complete workflow including Shopify fulfillment

## Key Files

| File | Purpose |
|------|---------|
| `webapps/src/components/BigLogistics/BigBatchShipper.jsx` | Main batch processing UI with order selection and sequential processing |
| `webapps/src/components/BigLogistics/BigShipperNextOrder.jsx` | Order query functionality reused for finding shippable orders |
| `api/src/fabricator/ShippingAdminApi.ts` | Backend API handling shipment creation, picking, and label generation |

## Processing Flow

1. Query orders via `/api/admin/shipper/next3`
2. Display orders with checkboxes and "select all" functionality
3. For each selected order (processed in series):
    - Create shipment via `POST /api/admin/shipper/shipment`
    - Auto-pick inventory items via `PickInventoryItem` action
    - Generate label via `GenerateShippingLabel` action
    - Print label using hidden iframe with PDF
    - Complete packing via `StartPacking` and `FinishPacking` actions
    - (Optional) Mark as shipped via `ShipIt` action

## Remaining Work

None. This feature is complete and shipped.
