Order amended

Indicates an order has been changed

Event Recently updated! Broker:Apache Kafka

In draft awaiting feedback

Use with caution, still in draft

This event is still in draft. It is not yet ready for production. We are still working on it and collecting feedback from the team.
If you would like to provide feedback, please contact us at feedback@eventcatalog.io or our slack channel Order Management.

If you are looking for a similar event, you can still use the OrderConfirmed event, until it is deprecated.

If you want to use this event in lower environments, you can. We are looking for feedback on the event and how it is used in the team.

Overview

The OrderAmended event is triggered whenever an existing order is modified. This event ensures that all relevant services are notified of changes to an order, such as updates to order items, quantities, shipping information, or status. The event allows the system to maintain consistency and ensure that all dependent services can react appropriately to the amendments.

Example payload

Example Payload
{
"orderId": "123e4567-e89b-12d3-a456-426614174000",
"userId": "123e4567-e89b-12d3-a456-426614174000",
"amendedItems": [
{
"productId": "789e1234-b56c-78d9-e012-3456789fghij",
"productName": "Example Product",
"oldQuantity": 2,
"newQuantity": 3,
"unitPrice": 29.99,
"totalPrice": 89.97
}
],
"orderStatus": "confirmed",
"totalAmount": 150.75,
"timestamp": "2024-07-04T14:48:00Z"
}

Schema (Avro)s

Schema (JSON)

Event-driven architecture documentation: FlowMart
11 fields
Record:OrderEvent(com.example.ecommerce)

Complex order event with nested records, unions, and various Avro types

orderIdstring

Unique order identifier

timestamplong (timestamp-millis)

When the order was created

customerrecord: Customer

Customer information - nested record

itemsarray<record: LineItem>

Array of order line items

shippingAddressnull | record: USAddress | record: InternationalAddress

Shipping address - union with multiple record types

paymentrecord: CreditCard | record: PayPal | null

Payment information - union of different payment types

metadatamap<string>

Key-value metadata - map type

tagsarray<string>

Order tags - array of strings

orderStatusenum: OrderStatus

Current order status

Values: PENDINGCONFIRMEDSHIPPEDDELIVEREDCANCELLEDRETURNED
notesnull | string

Optional order notes

trackingInfonull | record: TrackingInfo

Shipping tracking - complex union with nested record

12 properties
orderIdstring<uuid>
required

The unique identifier of the order that was amended.

userIdstring<uuid>
required

The unique identifier of the user who placed the order.

amendedItemsarray[object]
required

A list of items that were amended in the order, each containing product details and updated quantities.

orderStatusstring
required

The current status of the order after the amendment.

totalAmountnumber<float>
required

The total amount of the order after the amendment.

timestampstring<date-time>
required

The date and time when the order was amended, in ISO 8601 format.