# Basket Module

Checkout basket (Step 1 of 4 flow: Basket > Delivery > Payment > Review).

## Entities

- **BasketItem**: session_id, product_id, product_name, price, unit, unit_price, image_url, quantity

## API Endpoints

| Method | Endpoint | Description |
|--------|----------|-------------|
| GET | `/api/basket` | Get basket with totals |
| POST | `/api/basket` | Add item to basket |
| PUT | `/api/basket/{id}` | Update item quantity |
| DELETE | `/api/basket/{id}` | Remove item |
| DELETE | `/api/basket` | Clear basket |

## Layers

- **Model**: `Modules\Basket\Models\BasketItem`
- **Repository**: `Modules\Basket\Repositories\BasketRepository`
- **Interface**: `Modules\Basket\Repositories\Interfaces\BasketRepositoryInterface`
- **Service**: `Modules\Basket\Services\BasketService`
- **Controller**: `Modules\Basket\Http\Controllers\BasketController`
