Order management module for the Unchained Engine
npm install @unchainedshop/core-orders

Order management module for the Unchained Engine. Handles the complete order lifecycle including positions, payments, deliveries, and discounts.
``bash`
npm install @unchainedshop/core-orders
`typescript
import { configureOrdersModule, OrderStatus } from '@unchainedshop/core-orders';
const ordersModule = await configureOrdersModule({ db });
// Create an order
const orderId = await ordersModule.create({
userId: 'user-123',
currency: 'CHF',
countryCode: 'CH',
});
// Add position to order
await ordersModule.positions.create({
orderId,
productId: 'product-456',
quantity: 2,
});
// Checkout order
await ordersModule.checkout(orderId, { paymentContext: {} });
`
| Export | Description |
|--------|-------------|
| configureOrdersModule | Configure and return the orders module |
| Method | Description |
|--------|-------------|
| findOrder | Find order by ID or number |findOrders
| | Find orders with filtering and pagination |count
| | Count orders matching query |orderExists
| | Check if order exists |
| Method | Description |
|--------|-------------|
| create | Create a new order |update
| | Update order data |delete
| | Delete an order |checkout
| | Process order checkout |confirm
| | Confirm an order |reject
| | Reject an order |setPaymentProvider
| | Set payment provider |setDeliveryProvider
| | Set delivery provider |
#### Positions (orders.positions)findPositions
| Method | Description |
|--------|-------------|
| | Find order positions |create
| | Add position to order |update
| | Update position |delete
| | Remove position |
#### Payments (orders.payments)findPayment
| Method | Description |
|--------|-------------|
| | Find order payment |create
| | Create payment for order |markPaid
| | Mark payment as paid |charge
| | Charge the payment |
#### Deliveries (orders.deliveries)findDelivery
| Method | Description |
|--------|-------------|
| | Find order delivery |create
| | Create delivery for order |markDelivered
| | Mark as delivered |send
| | Trigger delivery |
#### Discounts (orders.discounts)findDiscounts
| Method | Description |
|--------|-------------|
| | Find order discounts |create
| | Add discount to order |delete
| | Remove discount |
| Export | Description |
|--------|-------------|
| OrderStatus | Order status values (OPEN, PENDING, CONFIRMED, FULFILLED, REJECTED) |
| Export | Description |
|--------|-------------|
| ordersSettings | Access order module settings |
| Export | Description |
|--------|-------------|
| Order | Order document type |OrderPosition
| | Position document type |OrderPayment
| | Payment document type |OrderDelivery
| | Delivery document type |OrderDiscount
| | Discount document type |OrdersModule
| | Module interface type |
| Event | Description |
|-------|-------------|
| ORDER_CREATE | Order created |ORDER_UPDATE
| | Order updated |ORDER_REMOVE
| | Order deleted |ORDER_CHECKOUT
| | Order checked out |ORDER_CONFIRMED
| | Order confirmed |ORDER_REJECTED
| | Order rejected |ORDER_FULFILLED` | Order fulfilled |
|
EUPL-1.2