OrderEvent
OrderEvent schema
Properties
AggregateId(string, format: {FulfillmentSystemId}-{FulfillmentSystemCustomerId}-{ShippingOrderId})Unique ID for shipping order within Integration Broker.CorrelationId(string)Unique ID for SOB-external event trigger.AggregateType(string)Type of event schema.EventActionUser(['string', 'null'])Username of user who triggered event.EventDateTimeUtc(string)UTC based datetime of when event was triggered.EventName(string)Name of triggered event.-
EventNameValuePairs(['array', 'null'])- Items (object)
-
EventPublisherApp(string)Name of source application that published event. EventSchemaVersion(string)Version of event schema being used.EventSource(string)Name of system where event was triggered.-
Order(object)Order level line item details.BillingEntityId(['string', 'null'])Billing entity ID.OmsCustomerId(['string', 'null'])OMS customer ID.OmsId(['string', 'null'])OMS ID.OmsOrderId(['string', 'null'])OMS order ID.OrderId(['string', 'null'], required)Unique ID for order within order management system.ReferenceId(['string', 'null'])Reference ID.SourceSystemCustomerId(['string', 'null'])This is an automatically generated field added by middleware. It is considered read-only.SourceSystemId(['integer', 'null'])This is an automatically generated field added by middleware. It is considered read-only.SourceSystemOrderId(['string', 'null'])Source system order ID.-
AccessGroups(['array', 'null'])Access groups.- Items (string)
-
AffiliateIdentifier(['string', 'null'])Affiliate identifier. AffiliateName(['string', 'null'])Affiliate name.-
BillTos(['array', 'null'], required)Bill to addresses.-
Items (object)
Address1(['string', 'null'])Address line 1 for address.Address2(['string', 'null'])Address line 2 for address.Address3(['string', 'null'])Address line 3 for address.City(['string', 'null'])City name for address.Company(['string', 'null'])Company name for address.Country(['string', 'null'])Country name for address.EmailAddress(['string', 'null'])Contact email address for address.FaxNumber(['string', 'null'])Fax number for address.IsDeleted(['boolean', 'null'])Whether the bill to address is deleted.Key(['string', 'null'])Key for the bill to address.Name(['string', 'null'])Contact name for this address.PhoneNumber(['string', 'null'])Phone number for address.PostalCode(['string', 'null'])Postal code for address.StateProvince(['string', 'null'])State or province name for address.
-
-
CostCenter(['string', 'null'])Cost center. CreateDateTime(['string', 'null'])Create date time.CreditCardFee(['number', 'null'])Credit card fee.DefaultBillToKey(['string', 'null'])Default bill to key.DefaultOrderedByKey(['string', 'null'])Default ordered by key.DefaultShipToKey(['string', 'null'])Default ship to key.DueDate(['string', 'null'])Due date.-
LineItems(['array', 'null'], required)Order line items.-
Items (object)
OfferId(['string', 'null'])Unique ID for offer within Integration Broker.ProductManagementSystemCustomerId(['string', 'null'])ProductManagementSystemId(['integer', 'string', 'null'])Identifier for a product management system that can be an integer, string, or null.ReferenceId(['string', 'null'])VariableTemplatePrintId(['string', 'null'])Unique ID for variable template file associated to offer on individual line item.-
AdditionalProperties(['array', 'null'])Additional properties details for Order LineItems.-
Items (object)
IsDeleted(['boolean', 'null'])Whether the additional property is deleted.Key(['string', 'null'])Key of the additional property.Value(['string', 'null'])Value of the additional property.
-
-
BillToKey(['string', 'null'])Unique ID for Order.BillTos.Key property associated to individual line item. Comment(['string', 'null'])Manually entered comment for individual line item.CostCenter(['string', 'null'])DueDate(['string', 'null'])Datetime of expected due date for individual line item.LineItemFee(['number', 'null'])Fee applied to individual line item.OfferDescription(['string', 'null'])Description for offer within product management system.OfferLineNumber(['string', 'null'])Unique ID for individual line item.OfferNumber(['string', 'null'])Name for offer within product management system.OrderedByKey(['string', 'null'])Unique ID for Order.OrderedBy.Key property associated to individual line item.PONumber(['string', 'null'])Purchase order number for individual line item.Price(['number', 'null'])Total offer price of individual line item.-
Products(['array', 'null'])Order.LineItems level product details.-
Items (object)
FulfillmentSystemCustomerId(['string', 'null'])Fulfillment system customer ID.FulfillmentSystemId(['string', 'null'])Fulfillment system ID.FulfillmentSystemProductId(['string', 'null'])Fulfillment system product ID.ProductId(['string', 'null'])Product ID.AssociatedFileName(['string', 'null'])Associated file name.Color(['string', 'null'])Product color.Comment(['string', 'null'])Comment for the product.-
Components(['array', 'null'])Product components.-
Items (object)
ProductId(['string', 'null'])Component product ID.AssociatedFileName(['string', 'null'])Component associated file name.Comment(['string', 'null'])Component comment.ComponentLineNumber(['string', 'null'])Component line number.IsDeleted(['boolean', 'null'])Whether the component is deleted.OfferLineNumber(['string', 'null'])Component offer line number.ProductLineNumber(['string', 'null'])Component product line number.QuantityBackordered(['integer', 'null'])Component quantity backordered.QuantityOrdered(['integer', 'null'])Component quantity ordered.
-
-
IsDeleted(['boolean', 'null'])Whether the product is deleted. OfferLineNumber(['string', 'null'])Offer line number.PageCount(['integer', 'null'])Page count.ProductDescription(['string', 'null'])Product description.ProductLineNumber(['string', 'null'])Product line number.ProductNumber(['string', 'null'])Product number.ProductOwner(['string', 'null'])Product owner.QuantityBackordered(['integer', 'null'])Quantity backordered.QuantityOrdered(['integer', 'null'])Quantity ordered.Size(['string', 'null'])Product size.
-
-
QuantityCanceled(['integer', 'null']) QuantityOrdered(['integer', 'null'])Amount of offer ordered for individual line item.RushOrder(['boolean', 'null'])True/false indicator if individual line item is expedited.ShipToKey(['string', 'null'])Unique ID for Order.ShipTos.Key property associated to individual line item.Status(['string', 'null'])TaxAmount(['number', 'null'])Total tax amount applied to individual line item.
-
-
ModifiedDateTime(['string', 'null'])Modified date time. OmsCustomerName(['string', 'null'])OMS customer name.OrderFee(['number', 'null'])Order fee.OrderVariables(['object', 'null'])Order variables.-
OrderedBys(['array', 'null'])Ordered by addresses.-
Items (object)
Address1(['string', 'null'])Address line 1 for address.Address2(['string', 'null'])Address line 2 for address.Address3(['string', 'null'])Address line 3 for address.City(['string', 'null'])City name for address.Company(['string', 'null'])Company name for address.Country(['string', 'null'])Country name for address.EmailAddress(['string', 'null'])Contact email address for address.FaxNumber(['string', 'null'])Fax number for address.IsDeleted(['boolean', 'null'])Whether the ordered by address is deleted.Key(['string', 'null'])Key for the ordered by address.Name(['string', 'null'])Contact name for this address.PhoneNumber(['string', 'null'])Phone number for address.PostalCode(['string', 'null'])Postal code for address.StateProvince(['string', 'null'])State or province name for address.
-
-
PONumber(['string', 'null'])PO number. -
PaymentMethods(['array', 'null'])Payment methods.-
Items (object)
Amount(['number', 'null'], required)Total amount applied to payment method.MethodName(['string', 'null'], required)Name of payment method.
-
-
PickPackHandlingFee(['number', 'null'])Pick pack handling fee. RushOrder(['boolean', 'null'])Rush order flag.-
ShipTos(['array', 'null'], required)Ship to addresses.-
Items (object)
AffiliateId(['string', 'null'])Affiliate ID.OmsShippingMethodId(['string', 'null'])OMS shipping method ID.ReferenceId(['string', 'null'])Reference ID.SourceSystemShippingMethodId(['string', 'null'])Source system shipping method ID.AffiliateName(['string', 'null'])Affiliate name.Comment(['string', 'null'])Comment.CostCenter(['string', 'null'])Cost center.CreditCardFee(['number', 'null'])Credit card fee.DueDate(['string', 'null'])Due date.Key(['string', 'null'])Key for the ship to.OrderFee(['number', 'null'])Order fee.PONumber(['string', 'null'])PO number.-
PaymentMethods(['array', 'null'])Payment methods.-
Items (object)
Amount(['number', 'null'], required)Total amount applied to payment method.MethodName(['string', 'null'], required)Name of payment method.
-
-
PickPackHandlingFee(['number', 'null'])Pick pack handling fee. RushFee(['number', 'null'])Rush fee.RushOrder(['boolean', 'null'])Whether this is a rush order.-
ShipToAddress(['object', 'null'])Ship to address.Address1(['string', 'null'])Address line 1 for address.Address2(['string', 'null'])Address line 2 for address.Address3(['string', 'null'])Address line 3 for address.City(['string', 'null'])City name for address.Company(['string', 'null'])Company name for address.Country(['string', 'null'])Country name for address.EmailAddress(['string', 'null'])Contact email address for address.FaxNumber(['string', 'null'])Fax number for address.Name(['string', 'null'])Contact name for this address.PhoneNumber(['string', 'null'])Phone number for address.PostalCode(['string', 'null'])Postal code for address.StateProvince(['string', 'null'])State or province name for address.
-
ShippingCarrier(['string', 'null'])Shipping carrier. ShippingCost(['number', 'null'])Shipping cost.ShippingHandlingTax(['number', 'null'])Shipping handling tax.ShippingService(['string', 'null'])Shipping service.Status(['string', 'null'])Status.TotalOrderFee(['number', 'null'])Total order fee.
-
-
ShippingHandlingTax(['number', 'null'])Shipping handling tax. -
Statuses(['array', 'null'])Order statuses.- Items (string)
-
TotalOrderFee(['number', 'null'])Total order fee. TotalShippingCost(['number', 'null'])Total shipping cost.
-
EventName(string)Name of triggered event. Must be one of:["Order Complete", "Order Received", "Order Validated", "Order Validation Failed", "Order Submitted to OMS", "Order Accepted By OMS", "Order Rejected by OMS", "Fulfillment Order Created", "Order Updated", "Order Submitted to Fulfillment System", "Order Failed to Submit to Fulfillment System", "Order Update Requested", "Order Update Request Validated", "Order Update Request Validation Failed", "Fulfillment Order Creation Failed"].
Examples
{
"AggregateId": "2-gbdstorefrontcust-2-P-4692-3606-50",
"CorrelationId": "ae7f8b49-f36a-4b6e-9444-8f22f11a6fe3",
"_rid": "s7l1AJVVwJcLwwIAAAAAAA==",
"id": "aa2ec6a5-baf9-43ff-9002-3d25892fbb2a",
"AggregateType": "Order",
"EventActionUser": null,
"EventDateTimeUtc": "2024-11-20T20:26:38.55",
"EventName": "Order Updated",
"EventNameValuePairs": null,
"EventPublisherApp": "VeraCore Order Event Publisher",
"EventSchemaVersion": "1.6.1",
"EventSource": "VeraCore",
"Order": {
"OmsCustomerId": "001146",
"OmsId": "1",
"OmsOrderId": "2-gbdstorefrontcust-2-P-4692-3606-50",
"OrderId": "2-gbdstorefrontcust-2-P-4692-3606-50",
"ReferenceId": "2-P-4692-3606-50",
"SourceSystemCustomerId": null,
"SourceSystemId": null,
"SourceSystemOrderId": null,
"AccessGroups": [
"IN"
],
"AffiliateIdentifier": 9,
"AffiliateName": "ZT - iHPqWad",
"BillTos": [
{
"Address1": "77185 Juan Ford Apt. 265",
"Address2": "",
"Address3": "",
"City": "Lovechester",
"Company": "",
"Country": "USA",
"EmailAddress": "cody09@example.com",
"FaxNumber": "",
"IsDeleted": null,
"Key": 0,
"Name": "Leslie Harmon",
"PhoneNumber": "377.454.4845",
"PostalCode": "52209",
"StateProvince": "Georgia"
}
],
"CostCenter": "6342091000- IN Medicaid Case Mgmt",
"CreateDateTime": null,
"CreditCardFee": null,
"DefaultBillToKey": 0,
"DefaultOrderedByKey": 0,
"DefaultShipToKey": null,
"DueDate": null,
"LineItems": [
{
"OfferId": "1-001146-23788",
"ProductManagementSystemCustomerId": "001146",
"ProductManagementSystemId": 1,
"ReferenceId": null,
"VariableTemplatePrintId": null,
"AdditionalProperties": [],
"BillToKey": null,
"Comment": "1022385INMENABS Rev. 11/22 PM:https://xxxxx.cloudfront.net/temporary/example.pdf,e47de917-5db4-45dc-9079-203690246f0a.pdf",
"CostCenter": null,
"DueDate": null,
"IsDeleted": false,
"LineItemFee": 0,
"OfferDescription": "Important Phone Numbers Update SH MKT (IN)",
"OfferLineNumber": "15602",
"OfferNumber": "1022385INMENABS Rev. 11/22 PM",
"OrderedByKey": null,
"PONumber": null,
"Price": 35,
"Products": [],
"QuantityCanceled": null,
"QuantityOrdered": 1,
"RushOrder": null,
"ShipToKey": 0,
"Status": null,
"TaxAmount": 0
}
],
"ModifiedDateTime": "2024-11-20T14:26:38",
"OmsCustomerName": "Ryan Griffin",
"OrderFee": null,
"OrderVariables": {},
"OrderedBys": [
{
"Address1": "28133 Derrick Rapids",
"Address2": "",
"Address3": "",
"City": "New Emilyside",
"Company": "",
"Country": "USA",
"EmailAddress": "sarah01@example.com",
"FaxNumber": "",
"IsDeleted": null,
"Key": 0,
"Name": "Dawn Conway",
"PhoneNumber": "+1-963-434-5913x919",
"PostalCode": 9945,
"StateProvince": "Montana"
}
],
"PONumber": "",
"PaymentMethods": null,
"PickPackHandlingFee": null,
"RushOrder": false,
"ShipTos": null,
"ShippingHandlingTax": null,
"Statuses": [
"Order In Process"
],
"TotalOrderFee": null,
"TotalShippingCost": null
},
"_attachments": "attachments/",
"_etag": "\"080066e6-0000-0300-0000-673e47300000\"",
"_self": "dbs/s7l1AA==/colls/s7l1AJVVwJc=/docs/s7l1AJVVwJcLwwIAAAAAAA==/",
"_ts": 1732134704
}
Quicktype Command
quicktype \
--framework SystemTextJson \
--lang cs \
--number-type double \
--src-lang schema \
--no-check-required \
--density dense \
--features complete \
--namespace OtpSchema.Event.Order.OrderEvent \
--src .working/build/internal/json-schema-for-cs/OrderEvent.json -o .working/build/internal/csharp/OtpSchema/Event/Order/OrderEvent.cs
// <auto-generated />
//
// To parse this JSON data, add NuGet 'System.Text.Json' then do:
//
// using OtpSchema.Event.Order.OrderEvent;
//
// var orderEvent = OrderEvent.FromJson(jsonString);
#nullable enable
#pragma warning disable CS8618
#pragma warning disable CS8601
#pragma warning disable CS8603
namespace OtpSchema.Event.Order.OrderEvent
{
using System;
using System.Collections.Generic;
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Globalization;
using J = System.Text.Json.Serialization.JsonPropertyNameAttribute;
using N = System.Text.Json.Serialization.JsonIgnoreCondition;
/// <summary>OrderEvent schema; ; Details for Shipping Order JSON schema</summary>
public partial class OrderEvent
{
[J("AggregateId")] public string AggregateId { get; set; } // Unique ID for shipping order within Integration Broker
[J("AggregateType")] public string AggregateType { get; set; } // Type of event schema
[J("CorrelationId")] public string CorrelationId { get; set; } // Unique ID for SOB-external event trigger
[J("EventActionUser")] public string EventActionUser { get; set; } // Username of user who triggered event
[J("EventDateTimeUtc")] public string EventDateTimeUtc { get; set; } // UTC based datetime of when event was triggered
[J("EventName")] public AggregateId EventName { get; set; } // Name of triggered event
[J("EventNameValuePairs")] public Dictionary<string, object>[] EventNameValuePairs { get; set; }
[J("EventPublisherApp")] public string EventPublisherApp { get; set; } // Name of source application that published event
[J("EventSchemaVersion")] public string EventSchemaVersion { get; set; } // Version of event schema being used
[J("EventSource")] public string EventSource { get; set; } // Name of system where event was triggered
[J("Order")] public Order Order { get; set; } // Order level line item details
}
/// <summary>Order level line item details</summary>
public partial class Order
{
[J("AccessGroups")] public string[] AccessGroups { get; set; } // Access groups
[J("AffiliateIdentifier")] public string AffiliateIdentifier { get; set; } // Affiliate identifier
[J("AffiliateName")] public string AffiliateName { get; set; } // Affiliate name
[J("BillingEntityId")] public string BillingEntityId { get; set; } // Billing entity ID
[J("BillTos")] public BillTo[] BillTos { get; set; } // Bill to addresses
[J("CostCenter")] public string CostCenter { get; set; } // Cost center
[J("CreateDateTime")] public string CreateDateTime { get; set; } // Create date time
[J("CreditCardFee")] public double? CreditCardFee { get; set; } // Credit card fee
[J("DefaultBillToKey")] public string DefaultBillToKey { get; set; } // Default bill to key
[J("DefaultOrderedByKey")] public string DefaultOrderedByKey { get; set; } // Default ordered by key
[J("DefaultShipToKey")] public string DefaultShipToKey { get; set; } // Default ship to key
[J("DueDate")] public string DueDate { get; set; } // Due date
[J("LineItems")] public LineItem[] LineItems { get; set; } // Order line items
[J("ModifiedDateTime")] public string ModifiedDateTime { get; set; } // Modified date time
[J("OmsCustomerId")] public string OmsCustomerId { get; set; } // OMS customer ID
[J("OmsCustomerName")] public string OmsCustomerName { get; set; } // OMS customer name
[J("OmsId")] public string OmsId { get; set; } // OMS ID
[J("OmsOrderId")] public string OmsOrderId { get; set; } // OMS order ID
[J("OrderedBys")] public OrderedBy[] OrderedBys { get; set; } // Ordered by addresses
[J("OrderFee")] public double? OrderFee { get; set; } // Order fee
[J("OrderId")] public string OrderId { get; set; } // Unique ID for order within order management system
[J("OrderVariables")] public Dictionary<string, object> OrderVariables { get; set; } // Order variables
[J("PaymentMethods")] public OrderPaymentMethod[] PaymentMethods { get; set; } // Payment methods
[J("PickPackHandlingFee")] public double? PickPackHandlingFee { get; set; } // Pick pack handling fee
[J("PONumber")] public string PoNumber { get; set; } // PO number
[J("ReferenceId")] public string ReferenceId { get; set; } // Reference ID
[J("RushOrder")] public bool? RushOrder { get; set; } // Rush order flag
[J("ShippingHandlingTax")] public double? ShippingHandlingTax { get; set; } // Shipping handling tax
[J("ShipTos")] public ShipTo[] ShipTos { get; set; } // Ship to addresses
[J("SourceSystemCustomerId")] public string SourceSystemCustomerId { get; set; } // This is an automatically generated field added by middleware. It is considered read-only
[J("SourceSystemId")] public long? SourceSystemId { get; set; } // This is an automatically generated field added by middleware. It is considered read-only
[J("SourceSystemOrderId")] public string SourceSystemOrderId { get; set; } // Source system order ID
[J("Statuses")] public string[] Statuses { get; set; } // Order statuses
[J("TotalOrderFee")] public double? TotalOrderFee { get; set; } // Total order fee
[J("TotalShippingCost")] public double? TotalShippingCost { get; set; } // Total shipping cost
}
public partial class BillTo
{
[J("Address1")] public string Address1 { get; set; } // Address line 1 for address
[J("Address2")] public string Address2 { get; set; } // Address line 2 for address
[J("Address3")] public string Address3 { get; set; } // Address line 3 for address
[J("City")] public string City { get; set; } // City name for address
[J("Company")] public string Company { get; set; } // Company name for address
[J("Country")] public string Country { get; set; } // Country name for address
[J("EmailAddress")] public string EmailAddress { get; set; } // Contact email address for address
[J("FaxNumber")] public string FaxNumber { get; set; } // Fax number for address
[J("IsDeleted")] public bool? IsDeleted { get; set; } // Whether the bill to address is deleted
[J("Key")] public string Key { get; set; } // Key for the bill to address
[J("Name")] public string Name { get; set; } // Contact name for this address
[J("PhoneNumber")] public string PhoneNumber { get; set; } // Phone number for address
[J("PostalCode")] public string PostalCode { get; set; } // Postal code for address
[J("StateProvince")] public string StateProvince { get; set; } // State or province name for address
}
public partial class LineItem
{
[J("AdditionalProperties")] public AdditionalProperty[] AdditionalProperties { get; set; } // Additional properties details for Order LineItems
[J("BillToKey")] public string BillToKey { get; set; } // Unique ID for Order.BillTos.Key property associated to individual line item
[J("Comment")] public string Comment { get; set; } // Manually entered comment for individual line item
[J("CostCenter")] public string CostCenter { get; set; }
[J("DueDate")] public string DueDate { get; set; } // Datetime of expected due date for individual line item
[J("LineItemFee")] public double? LineItemFee { get; set; } // Fee applied to individual line item
[J("OfferDescription")] public string OfferDescription { get; set; } // Description for offer within product management system
[J("OfferId")] public string OfferId { get; set; } // Unique ID for offer within Integration Broker
[J("OfferLineNumber")] public string OfferLineNumber { get; set; } // Unique ID for individual line item
[J("OfferNumber")] public string OfferNumber { get; set; } // Name for offer within product management system
[J("OrderedByKey")] public string OrderedByKey { get; set; } // Unique ID for Order.OrderedBy.Key property associated to individual line item
[J("PONumber")] public string PoNumber { get; set; } // Purchase order number for individual line item
[J("Price")] public double? Price { get; set; } // Total offer price of individual line item
[J("ProductManagementSystemCustomerId")] public string ProductManagementSystemCustomerId { get; set; }
[J("ProductManagementSystemId")] public ProductManagementSystemId? ProductManagementSystemId { get; set; } // Identifier for a product management system that can be an integer, string, or null
[J("Products")] public Product[] Products { get; set; } // Order.LineItems level product details
[J("QuantityCanceled")] public long? QuantityCanceled { get; set; }
[J("QuantityOrdered")] public long? QuantityOrdered { get; set; } // Amount of offer ordered for individual line item
[J("ReferenceId")] public string ReferenceId { get; set; }
[J("RushOrder")] public bool? RushOrder { get; set; } // True/false indicator if individual line item is expedited
[J("ShipToKey")] public string ShipToKey { get; set; } // Unique ID for Order.ShipTos.Key property associated to individual line item
[J("Status")] public string Status { get; set; }
[J("TaxAmount")] public double? TaxAmount { get; set; } // Total tax amount applied to individual line item
[J("VariableTemplatePrintId")] public string VariableTemplatePrintId { get; set; } // Unique ID for variable template file associated to offer on individual line item
}
public partial class AdditionalProperty
{
[J("IsDeleted")] public bool? IsDeleted { get; set; } // Whether the additional property is deleted
[J("Key")] public string Key { get; set; } // Key of the additional property
[J("Value")] public string Value { get; set; } // Value of the additional property
}
public partial class Product
{
[J("AssociatedFileName")] public string AssociatedFileName { get; set; } // Associated file name
[J("Color")] public string Color { get; set; } // Product color
[J("Comment")] public string Comment { get; set; } // Comment for the product
[J("Components")] public Component[] Components { get; set; } // Product components
[J("FulfillmentSystemCustomerId")] public string FulfillmentSystemCustomerId { get; set; } // Fulfillment system customer ID
[J("FulfillmentSystemId")] public string FulfillmentSystemId { get; set; } // Fulfillment system ID
[J("FulfillmentSystemProductId")] public string FulfillmentSystemProductId { get; set; } // Fulfillment system product ID
[J("IsDeleted")] public bool? IsDeleted { get; set; } // Whether the product is deleted
[J("OfferLineNumber")] public string OfferLineNumber { get; set; } // Offer line number
[J("PageCount")] public long? PageCount { get; set; } // Page count
[J("ProductDescription")] public string ProductDescription { get; set; } // Product description
[J("ProductId")] public string ProductId { get; set; } // Product ID
[J("ProductLineNumber")] public string ProductLineNumber { get; set; } // Product line number
[J("ProductNumber")] public string ProductNumber { get; set; } // Product number
[J("ProductOwner")] public string ProductOwner { get; set; } // Product owner
[J("QuantityBackordered")] public long? QuantityBackordered { get; set; } // Quantity backordered
[J("QuantityOrdered")] public long? QuantityOrdered { get; set; } // Quantity ordered
[J("Size")] public string Size { get; set; } // Product size
}
public partial class Component
{
[J("AssociatedFileName")] public string AssociatedFileName { get; set; } // Component associated file name
[J("Comment")] public string Comment { get; set; } // Component comment
[J("ComponentLineNumber")] public string ComponentLineNumber { get; set; } // Component line number
[J("IsDeleted")] public bool? IsDeleted { get; set; } // Whether the component is deleted
[J("OfferLineNumber")] public string OfferLineNumber { get; set; } // Component offer line number
[J("ProductId")] public string ProductId { get; set; } // Component product ID
[J("ProductLineNumber")] public string ProductLineNumber { get; set; } // Component product line number
[J("QuantityBackordered")] public long? QuantityBackordered { get; set; } // Component quantity backordered
[J("QuantityOrdered")] public long? QuantityOrdered { get; set; } // Component quantity ordered
}
public partial class OrderedBy
{
[J("Address1")] public string Address1 { get; set; } // Address line 1 for address
[J("Address2")] public string Address2 { get; set; } // Address line 2 for address
[J("Address3")] public string Address3 { get; set; } // Address line 3 for address
[J("City")] public string City { get; set; } // City name for address
[J("Company")] public string Company { get; set; } // Company name for address
[J("Country")] public string Country { get; set; } // Country name for address
[J("EmailAddress")] public string EmailAddress { get; set; } // Contact email address for address
[J("FaxNumber")] public string FaxNumber { get; set; } // Fax number for address
[J("IsDeleted")] public bool? IsDeleted { get; set; } // Whether the ordered by address is deleted
[J("Key")] public string Key { get; set; } // Key for the ordered by address
[J("Name")] public string Name { get; set; } // Contact name for this address
[J("PhoneNumber")] public string PhoneNumber { get; set; } // Phone number for address
[J("PostalCode")] public string PostalCode { get; set; } // Postal code for address
[J("StateProvince")] public string StateProvince { get; set; } // State or province name for address
}
public partial class OrderPaymentMethod
{
[J("Amount")] public double? Amount { get; set; } // Total amount applied to payment method
[J("MethodName")] public string MethodName { get; set; } // Name of payment method
}
public partial class ShipTo
{
[J("AffiliateId")] public string AffiliateId { get; set; } // Affiliate ID
[J("AffiliateName")] public string AffiliateName { get; set; } // Affiliate name
[J("Comment")] public string Comment { get; set; } // Comment
[J("CostCenter")] public string CostCenter { get; set; } // Cost center
[J("CreditCardFee")] public double? CreditCardFee { get; set; } // Credit card fee
[J("DueDate")] public string DueDate { get; set; } // Due date
[J("Key")] public string Key { get; set; } // Key for the ship to
[J("OmsShippingMethodId")] public string OmsShippingMethodId { get; set; } // OMS shipping method ID
[J("OrderFee")] public double? OrderFee { get; set; } // Order fee
[J("PaymentMethods")] public ShipToPaymentMethod[] PaymentMethods { get; set; } // Payment methods
[J("PickPackHandlingFee")] public double? PickPackHandlingFee { get; set; } // Pick pack handling fee
[J("PONumber")] public string PoNumber { get; set; } // PO number
[J("ReferenceId")] public string ReferenceId { get; set; } // Reference ID
[J("RushFee")] public double? RushFee { get; set; } // Rush fee
[J("RushOrder")] public bool? RushOrder { get; set; } // Whether this is a rush order
[J("ShippingCarrier")] public string ShippingCarrier { get; set; } // Shipping carrier
[J("ShippingCost")] public double? ShippingCost { get; set; } // Shipping cost
[J("ShippingHandlingTax")] public double? ShippingHandlingTax { get; set; } // Shipping handling tax
[J("ShippingService")] public string ShippingService { get; set; } // Shipping service
[J("ShipToAddress")] public ShipToAddress ShipToAddress { get; set; } // Ship to address
[J("SourceSystemShippingMethodId")] public string SourceSystemShippingMethodId { get; set; } // Source system shipping method ID
[J("Status")] public string Status { get; set; } // Status
[J("TotalOrderFee")] public double? TotalOrderFee { get; set; } // Total order fee
}
public partial class ShipToPaymentMethod
{
[J("Amount")] public double? Amount { get; set; } // Total amount applied to payment method
[J("MethodName")] public string MethodName { get; set; } // Name of payment method
}
public partial class ShipToAddress
{
[J("Address1")] public string Address1 { get; set; } // Address line 1 for address
[J("Address2")] public string Address2 { get; set; } // Address line 2 for address
[J("Address3")] public string Address3 { get; set; } // Address line 3 for address
[J("City")] public string City { get; set; } // City name for address
[J("Company")] public string Company { get; set; } // Company name for address
[J("Country")] public string Country { get; set; } // Country name for address
[J("EmailAddress")] public string EmailAddress { get; set; } // Contact email address for address
[J("FaxNumber")] public string FaxNumber { get; set; } // Fax number for address
[J("Name")] public string Name { get; set; } // Contact name for this address
[J("PhoneNumber")] public string PhoneNumber { get; set; } // Phone number for address
[J("PostalCode")] public string PostalCode { get; set; } // Postal code for address
[J("StateProvince")] public string StateProvince { get; set; } // State or province name for address
}
/// <summary>Name of triggered event</summary>
public enum AggregateId { FulfillmentOrderCreated, FulfillmentOrderCreationFailed, OrderAcceptedByOms, OrderComplete, OrderFailedToSubmitToFulfillmentSystem, OrderReceived, OrderRejectedByOms, OrderSubmittedToFulfillmentSystem, OrderSubmittedToOms, OrderUpdateRequestValidated, OrderUpdateRequestValidationFailed, OrderUpdateRequested, OrderUpdated, OrderValidated, OrderValidationFailed };
/// <summary>Identifier for a product management system that can be an integer, string, or null</summary>
public partial struct ProductManagementSystemId
{
public long? Integer;
public string String;
public static implicit operator ProductManagementSystemId(long Integer) => new ProductManagementSystemId { Integer = Integer };
public static implicit operator ProductManagementSystemId(string String) => new ProductManagementSystemId { String = String };
public bool IsNull => Integer == null && String == null;
}
public partial class OrderEvent
{
public static OrderEvent FromJson(string json) => JsonSerializer.Deserialize<OrderEvent>(json, OtpSchema.Event.Order.OrderEvent.Converter.Settings);
}
public static class Serialize
{
public static string ToJson(this OrderEvent self) => JsonSerializer.Serialize(self, OtpSchema.Event.Order.OrderEvent.Converter.Settings);
}
internal static class Converter
{
public static readonly JsonSerializerOptions Settings = new(JsonSerializerDefaults.General)
{
Converters =
{
AggregateIdConverter.Singleton,
ProductManagementSystemIdConverter.Singleton,
new DateOnlyConverter(),
new TimeOnlyConverter(),
IsoDateTimeOffsetConverter.Singleton
},
};
}
internal class AggregateIdConverter : JsonConverter<AggregateId>
{
public override bool CanConvert(Type t) => t == typeof(AggregateId);
public override AggregateId Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
var value = reader.GetString();
switch (value)
{
case "Fulfillment Order Created":
return AggregateId.FulfillmentOrderCreated;
case "Fulfillment Order Creation Failed":
return AggregateId.FulfillmentOrderCreationFailed;
case "Order Accepted By OMS":
return AggregateId.OrderAcceptedByOms;
case "Order Complete":
return AggregateId.OrderComplete;
case "Order Failed to Submit to Fulfillment System":
return AggregateId.OrderFailedToSubmitToFulfillmentSystem;
case "Order Received":
return AggregateId.OrderReceived;
case "Order Rejected by OMS":
return AggregateId.OrderRejectedByOms;
case "Order Submitted to Fulfillment System":
return AggregateId.OrderSubmittedToFulfillmentSystem;
case "Order Submitted to OMS":
return AggregateId.OrderSubmittedToOms;
case "Order Update Request Validated":
return AggregateId.OrderUpdateRequestValidated;
case "Order Update Request Validation Failed":
return AggregateId.OrderUpdateRequestValidationFailed;
case "Order Update Requested":
return AggregateId.OrderUpdateRequested;
case "Order Updated":
return AggregateId.OrderUpdated;
case "Order Validated":
return AggregateId.OrderValidated;
case "Order Validation Failed":
return AggregateId.OrderValidationFailed;
}
throw new Exception("Cannot unmarshal type AggregateId");
}
public override void Write(Utf8JsonWriter writer, AggregateId value, JsonSerializerOptions options)
{
switch (value)
{
case AggregateId.FulfillmentOrderCreated:
JsonSerializer.Serialize(writer, "Fulfillment Order Created", options);
return;
case AggregateId.FulfillmentOrderCreationFailed:
JsonSerializer.Serialize(writer, "Fulfillment Order Creation Failed", options);
return;
case AggregateId.OrderAcceptedByOms:
JsonSerializer.Serialize(writer, "Order Accepted By OMS", options);
return;
case AggregateId.OrderComplete:
JsonSerializer.Serialize(writer, "Order Complete", options);
return;
case AggregateId.OrderFailedToSubmitToFulfillmentSystem:
JsonSerializer.Serialize(writer, "Order Failed to Submit to Fulfillment System", options);
return;
case AggregateId.OrderReceived:
JsonSerializer.Serialize(writer, "Order Received", options);
return;
case AggregateId.OrderRejectedByOms:
JsonSerializer.Serialize(writer, "Order Rejected by OMS", options);
return;
case AggregateId.OrderSubmittedToFulfillmentSystem:
JsonSerializer.Serialize(writer, "Order Submitted to Fulfillment System", options);
return;
case AggregateId.OrderSubmittedToOms:
JsonSerializer.Serialize(writer, "Order Submitted to OMS", options);
return;
case AggregateId.OrderUpdateRequestValidated:
JsonSerializer.Serialize(writer, "Order Update Request Validated", options);
return;
case AggregateId.OrderUpdateRequestValidationFailed:
JsonSerializer.Serialize(writer, "Order Update Request Validation Failed", options);
return;
case AggregateId.OrderUpdateRequested:
JsonSerializer.Serialize(writer, "Order Update Requested", options);
return;
case AggregateId.OrderUpdated:
JsonSerializer.Serialize(writer, "Order Updated", options);
return;
case AggregateId.OrderValidated:
JsonSerializer.Serialize(writer, "Order Validated", options);
return;
case AggregateId.OrderValidationFailed:
JsonSerializer.Serialize(writer, "Order Validation Failed", options);
return;
}
throw new Exception("Cannot marshal type AggregateId");
}
public static readonly AggregateIdConverter Singleton = new AggregateIdConverter();
}
internal class ProductManagementSystemIdConverter : JsonConverter<ProductManagementSystemId>
{
public override bool CanConvert(Type t) => t == typeof(ProductManagementSystemId);
public override ProductManagementSystemId Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
switch (reader.TokenType)
{
case JsonTokenType.Null:
return new ProductManagementSystemId { };
case JsonTokenType.Number:
var integerValue = reader.GetInt64();
return new ProductManagementSystemId { Integer = integerValue };
case JsonTokenType.String:
var stringValue = reader.GetString();
return new ProductManagementSystemId { String = stringValue };
}
throw new Exception("Cannot unmarshal type ProductManagementSystemId");
}
public override void Write(Utf8JsonWriter writer, ProductManagementSystemId value, JsonSerializerOptions options)
{
if (value.IsNull)
{
writer.WriteNullValue();
return;
}
if (value.Integer != null)
{
JsonSerializer.Serialize(writer, value.Integer.Value, options);
return;
}
if (value.String != null)
{
JsonSerializer.Serialize(writer, value.String, options);
return;
}
throw new Exception("Cannot marshal type ProductManagementSystemId");
}
public static readonly ProductManagementSystemIdConverter Singleton = new ProductManagementSystemIdConverter();
}
public class DateOnlyConverter : JsonConverter<DateOnly>
{
private readonly string serializationFormat;
public DateOnlyConverter() : this(null) { }
public DateOnlyConverter(string? serializationFormat)
{
this.serializationFormat = serializationFormat ?? "yyyy-MM-dd";
}
public override DateOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
var value = reader.GetString();
return DateOnly.Parse(value!);
}
public override void Write(Utf8JsonWriter writer, DateOnly value, JsonSerializerOptions options)
=> writer.WriteStringValue(value.ToString(serializationFormat));
}
public class TimeOnlyConverter : JsonConverter<TimeOnly>
{
private readonly string serializationFormat;
public TimeOnlyConverter() : this(null) { }
public TimeOnlyConverter(string? serializationFormat)
{
this.serializationFormat = serializationFormat ?? "HH:mm:ss.fff";
}
public override TimeOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
var value = reader.GetString();
return TimeOnly.Parse(value!);
}
public override void Write(Utf8JsonWriter writer, TimeOnly value, JsonSerializerOptions options)
=> writer.WriteStringValue(value.ToString(serializationFormat));
}
internal class IsoDateTimeOffsetConverter : JsonConverter<DateTimeOffset>
{
public override bool CanConvert(Type t) => t == typeof(DateTimeOffset);
private const string DefaultDateTimeFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK";
private DateTimeStyles _dateTimeStyles = DateTimeStyles.RoundtripKind;
private string? _dateTimeFormat;
private CultureInfo? _culture;
public DateTimeStyles DateTimeStyles
{
get => _dateTimeStyles;
set => _dateTimeStyles = value;
}
public string? DateTimeFormat
{
get => _dateTimeFormat ?? string.Empty;
set => _dateTimeFormat = (string.IsNullOrEmpty(value)) ? null : value;
}
public CultureInfo Culture
{
get => _culture ?? CultureInfo.CurrentCulture;
set => _culture = value;
}
public override void Write(Utf8JsonWriter writer, DateTimeOffset value, JsonSerializerOptions options)
{
string text;
if ((_dateTimeStyles & DateTimeStyles.AdjustToUniversal) == DateTimeStyles.AdjustToUniversal
|| (_dateTimeStyles & DateTimeStyles.AssumeUniversal) == DateTimeStyles.AssumeUniversal)
{
value = value.ToUniversalTime();
}
text = value.ToString(_dateTimeFormat ?? DefaultDateTimeFormat, Culture);
writer.WriteStringValue(text);
}
public override DateTimeOffset Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
string? dateText = reader.GetString();
if (string.IsNullOrEmpty(dateText) == false)
{
if (!string.IsNullOrEmpty(_dateTimeFormat))
{
return DateTimeOffset.ParseExact(dateText, _dateTimeFormat, Culture, _dateTimeStyles);
}
else
{
return DateTimeOffset.Parse(dateText, Culture, _dateTimeStyles);
}
}
else
{
return default(DateTimeOffset);
}
}
public static readonly IsoDateTimeOffsetConverter Singleton = new IsoDateTimeOffsetConverter();
}
}
#pragma warning restore CS8618
#pragma warning restore CS8601
#pragma warning restore CS8603
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "OrderEvent.json",
"description": "OrderEvent schema",
"type": "object",
"allOf": [
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "EventBase.json",
"description": "Details for Shipping Order JSON schema",
"type": "object",
"properties": {
"AggregateId": {
"description": "Unique ID for shipping order within Integration Broker",
"type": "string",
"format": "{FulfillmentSystemId}-{FulfillmentSystemCustomerId}-{ShippingOrderId}"
},
"CorrelationId": {"description": "Unique ID for SOB-external event trigger", "type": "string"},
"AggregateType": {"description": "Type of event schema", "type": "string"},
"EventActionUser": {
"description": "Username of user who triggered event",
"type": ["string", "null"],
"veraCoreSource": "SHPACK_UserName in warehouse DB. SHPACK in the OMS contains a SeqId for the warehouse table."
},
"EventDateTimeUtc": {
"description": "UTC based datetime of when event was triggered",
"type": "string"
},
"EventName": {"description": "Name of triggered event", "type": "string"},
"EventNameValuePairs": { "type": ["array", "null"], "items": {"type": "object"} },
"EventPublisherApp": {
"description": "Name of source application that published event",
"type": "string"
},
"EventSchemaVersion": {"description": "Version of event schema being used", "type": "string"},
"EventSource": {"description": "Name of system where event was triggered", "type": "string"}
},
"required": [
"AggregateId", "AggregateType", "CorrelationId", "EventDateTimeUtc", "EventName",
"EventPublisherApp", "EventSchemaVersion", "EventSource"
]
},
{
"type": "object",
"properties": {
"Order": {
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "Order.json",
"description": "Order level line item details",
"type": "object",
"properties": {
"BillingEntityId": { "description": "Billing entity ID", "type": ["string", "null"] },
"OmsCustomerId": { "description": "OMS customer ID", "type": ["string", "null"] },
"OmsId": { "description": "OMS ID", "type": ["string", "null"] },
"OmsOrderId": { "description": "OMS order ID", "type": ["string", "null"] },
"OrderId": {
"description": "Unique ID for order within order management system",
"type": ["string", "null"]
},
"ReferenceId": { "description": "Reference ID", "type": ["string", "null"] },
"SourceSystemCustomerId": {
"description": "This is an automatically generated field added by middleware. It is considered read-only",
"type": ["string", "null"],
"readonly": true
},
"SourceSystemId": {
"description": "This is an automatically generated field added by middleware. It is considered read-only",
"type": ["integer", "null"],
"readonly": true
},
"SourceSystemOrderId": { "description": "Source system order ID", "type": ["string", "null"] },
"AccessGroups": {
"description": "Access groups",
"type": ["array", "null"],
"items": {"type": "string"}
},
"AffiliateIdentifier": { "description": "Affiliate identifier", "type": ["string", "null"] },
"AffiliateName": { "description": "Affiliate name", "type": ["string", "null"] },
"BillTos": {
"description": "Bill to addresses",
"type": ["array", "null"],
"items": {
"type": "object",
"properties": {
"Address1": { "description": "Address line 1 for address", "type": ["string", "null"] },
"Address2": { "description": "Address line 2 for address", "type": ["string", "null"] },
"Address3": { "description": "Address line 3 for address", "type": ["string", "null"] },
"City": { "description": "City name for address", "type": ["string", "null"] },
"Company": { "description": "Company name for address", "type": ["string", "null"] },
"Country": { "description": "Country name for address", "type": ["string", "null"] },
"EmailAddress": {
"description": "Contact email address for address",
"type": ["string", "null"]
},
"FaxNumber": { "description": "Fax number for address", "type": ["string", "null"] },
"IsDeleted": {
"description": "Whether the bill to address is deleted",
"type": ["boolean", "null"]
},
"Key": { "description": "Key for the bill to address", "type": ["string", "null"] },
"Name": { "description": "Contact name for this address", "type": ["string", "null"] },
"PhoneNumber": { "description": "Phone number for address", "type": ["string", "null"] },
"PostalCode": { "description": "Postal code for address", "type": ["string", "null"] },
"StateProvince": {
"description": "State or province name for address",
"type": ["string", "null"]
}
}
}
},
"CostCenter": { "description": "Cost center", "type": ["string", "null"] },
"CreateDateTime": { "description": "Create date time", "type": ["string", "null"] },
"CreditCardFee": { "description": "Credit card fee", "type": ["number", "null"] },
"DefaultBillToKey": { "description": "Default bill to key", "type": ["string", "null"] },
"DefaultOrderedByKey": { "description": "Default ordered by key", "type": ["string", "null"] },
"DefaultShipToKey": { "description": "Default ship to key", "type": ["string", "null"] },
"DueDate": { "description": "Due date", "type": ["string", "null"] },
"LineItems": {
"description": "Order line items",
"type": ["array", "null"],
"items": {
"type": "object",
"properties": {
"OfferId": {
"description": "Unique ID for offer within Integration Broker",
"type": ["string", "null"]
},
"ProductManagementSystemCustomerId": { "type": ["string", "null"] },
"ProductManagementSystemId": {
"description": "Identifier for a product management system that can be an integer, string, or null",
"type": ["integer", "string", "null"]
},
"ReferenceId": { "type": ["string", "null"] },
"VariableTemplatePrintId": {
"description": "Unique ID for variable template file associated to offer on individual line item",
"type": ["string", "null"]
},
"AdditionalProperties": {
"description": "Additional properties details for Order LineItems",
"type": ["array", "null"],
"items": {
"type": "object",
"properties": {
"IsDeleted": {
"description": "Whether the additional property is deleted",
"type": ["boolean", "null"]
},
"Key": { "description": "Key of the additional property", "type": ["string", "null"] },
"Value": {
"description": "Value of the additional property",
"type": ["string", "null"]
}
}
}
},
"BillToKey": {
"description": "Unique ID for Order.BillTos.Key property associated to individual line item",
"type": ["string", "null"]
},
"Comment": {
"description": "Manually entered comment for individual line item",
"type": ["string", "null"]
},
"CostCenter": { "type": ["string", "null"] },
"DueDate": {
"description": "Datetime of expected due date for individual line item",
"type": ["string", "null"]
},
"LineItemFee": {
"description": "Fee applied to individual line item",
"type": ["number", "null"]
},
"OfferDescription": {
"description": "Description for offer within product management system",
"type": ["string", "null"]
},
"OfferLineNumber": {
"description": "Unique ID for individual line item",
"type": ["string", "null"]
},
"OfferNumber": {
"description": "Name for offer within product management system",
"type": ["string", "null"]
},
"OrderedByKey": {
"description": "Unique ID for Order.OrderedBy.Key property associated to individual line item",
"type": ["string", "null"]
},
"PONumber": {
"description": "Purchase order number for individual line item",
"type": ["string", "null"]
},
"Price": {
"description": "Total offer price of individual line item",
"type": ["number", "null"]
},
"Products": {
"description": "Order.LineItems level product details",
"type": ["array", "null"],
"items": {
"type": "object",
"properties": {
"FulfillmentSystemCustomerId": { "description": "Fulfillment system customer ID", "type": ["string", "null"] },
"FulfillmentSystemId": { "description": "Fulfillment system ID", "type": ["string", "null"] },
"FulfillmentSystemProductId": { "description": "Fulfillment system product ID", "type": ["string", "null"] },
"ProductId": { "description": "Product ID", "type": ["string", "null"] },
"AssociatedFileName": { "description": "Associated file name", "type": ["string", "null"] },
"Color": { "description": "Product color", "type": ["string", "null"] },
"Comment": { "description": "Comment for the product", "type": ["string", "null"] },
"Components": {
"description": "Product components",
"type": ["array", "null"],
"items": {
"type": "object",
"properties": {
"ProductId": { "description": "Component product ID", "type": ["string", "null"] },
"AssociatedFileName": { "description": "Component associated file name", "type": ["string", "null"] },
"Comment": { "description": "Component comment", "type": ["string", "null"] },
"ComponentLineNumber": { "description": "Component line number", "type": ["string", "null"] },
"IsDeleted": {
"description": "Whether the component is deleted",
"type": ["boolean", "null"]
},
"OfferLineNumber": { "description": "Component offer line number", "type": ["string", "null"] },
"ProductLineNumber": { "description": "Component product line number", "type": ["string", "null"] },
"QuantityBackordered": { "description": "Component quantity backordered", "type": ["integer", "null"] },
"QuantityOrdered": { "description": "Component quantity ordered", "type": ["integer", "null"] }
}
}
},
"IsDeleted": { "description": "Whether the product is deleted", "type": ["boolean", "null"] },
"OfferLineNumber": { "description": "Offer line number", "type": ["string", "null"] },
"PageCount": { "description": "Page count", "type": ["integer", "null"] },
"ProductDescription": { "description": "Product description", "type": ["string", "null"] },
"ProductLineNumber": { "description": "Product line number", "type": ["string", "null"] },
"ProductNumber": { "description": "Product number", "type": ["string", "null"] },
"ProductOwner": { "description": "Product owner", "type": ["string", "null"] },
"QuantityBackordered": { "description": "Quantity backordered", "type": ["integer", "null"] },
"QuantityOrdered": { "description": "Quantity ordered", "type": ["integer", "null"] },
"Size": { "description": "Product size", "type": ["string", "null"] }
}
}
},
"QuantityCanceled": { "type": ["integer", "null"] },
"QuantityOrdered": {
"description": "Amount of offer ordered for individual line item",
"type": ["integer", "null"]
},
"RushOrder": {
"description": "True/false indicator if individual line item is expedited",
"type": ["boolean", "null"]
},
"ShipToKey": {
"description": "Unique ID for Order.ShipTos.Key property associated to individual line item",
"type": ["string", "null"]
},
"Status": { "type": ["string", "null"] },
"TaxAmount": {
"description": "Total tax amount applied to individual line item",
"type": ["number", "null"]
}
}
}
},
"ModifiedDateTime": { "description": "Modified date time", "type": ["string", "null"] },
"OmsCustomerName": { "description": "OMS customer name", "type": ["string", "null"] },
"OrderFee": { "description": "Order fee", "type": ["number", "null"] },
"OrderVariables": { "description": "Order variables", "type": ["object", "null"] },
"OrderedBys": {
"description": "Ordered by addresses",
"type": ["array", "null"],
"items": {
"type": "object",
"properties": {
"Address1": { "description": "Address line 1 for address", "type": ["string", "null"] },
"Address2": { "description": "Address line 2 for address", "type": ["string", "null"] },
"Address3": { "description": "Address line 3 for address", "type": ["string", "null"] },
"City": { "description": "City name for address", "type": ["string", "null"] },
"Company": { "description": "Company name for address", "type": ["string", "null"] },
"Country": { "description": "Country name for address", "type": ["string", "null"] },
"EmailAddress": {
"description": "Contact email address for address",
"type": ["string", "null"]
},
"FaxNumber": { "description": "Fax number for address", "type": ["string", "null"] },
"IsDeleted": {
"description": "Whether the ordered by address is deleted",
"type": ["boolean", "null"]
},
"Key": { "description": "Key for the ordered by address", "type": ["string", "null"] },
"Name": { "description": "Contact name for this address", "type": ["string", "null"] },
"PhoneNumber": { "description": "Phone number for address", "type": ["string", "null"] },
"PostalCode": { "description": "Postal code for address", "type": ["string", "null"] },
"StateProvince": {
"description": "State or province name for address",
"type": ["string", "null"]
}
}
}
},
"PONumber": { "description": "PO number", "type": ["string", "null"] },
"PaymentMethods": {
"description": "Payment methods",
"type": ["array", "null"],
"items": {
"type": "object",
"properties": {
"Amount": {
"description": "Total amount applied to payment method",
"type": ["number", "null"]
},
"MethodName": { "description": "Name of payment method", "type": ["string", "null"] }
},
"required": ["Amount", "MethodName"]
}
},
"PickPackHandlingFee": { "description": "Pick pack handling fee", "type": ["number", "null"] },
"RushOrder": { "description": "Rush order flag", "type": ["boolean", "null"] },
"ShipTos": {
"description": "Ship to addresses",
"type": ["array", "null"],
"items": {
"type": "object",
"properties": {
"AffiliateId": { "description": "Affiliate ID", "type": ["string", "null"] },
"OmsShippingMethodId": { "description": "OMS shipping method ID", "type": ["string", "null"] },
"ReferenceId": { "description": "Reference ID", "type": ["string", "null"] },
"SourceSystemShippingMethodId": {
"description": "Source system shipping method ID",
"type": ["string", "null"]
},
"AffiliateName": { "description": "Affiliate name", "type": ["string", "null"] },
"Comment": { "description": "Comment", "type": ["string", "null"] },
"CostCenter": { "description": "Cost center", "type": ["string", "null"] },
"CreditCardFee": { "description": "Credit card fee", "type": ["number", "null"] },
"DueDate": { "description": "Due date", "type": ["string", "null"] },
"Key": { "description": "Key for the ship to", "type": ["string", "null"] },
"OrderFee": { "description": "Order fee", "type": ["number", "null"] },
"PONumber": { "description": "PO number", "type": ["string", "null"] },
"PaymentMethods": {
"description": "Payment methods",
"type": ["array", "null"],
"items": {
"type": "object",
"properties": {
"Amount": {
"description": "Total amount applied to payment method",
"type": ["number", "null"]
},
"MethodName": { "description": "Name of payment method", "type": ["string", "null"] }
},
"required": ["Amount", "MethodName"]
}
},
"PickPackHandlingFee": { "description": "Pick pack handling fee", "type": ["number", "null"] },
"RushFee": { "description": "Rush fee", "type": ["number", "null"] },
"RushOrder": { "description": "Whether this is a rush order", "type": ["boolean", "null"] },
"ShipToAddress": {
"description": "Ship to address",
"type": ["object", "null"],
"properties": {
"Address1": { "description": "Address line 1 for address", "type": ["string", "null"] },
"Address2": { "description": "Address line 2 for address", "type": ["string", "null"] },
"Address3": { "description": "Address line 3 for address", "type": ["string", "null"] },
"City": { "description": "City name for address", "type": ["string", "null"] },
"Company": { "description": "Company name for address", "type": ["string", "null"] },
"Country": { "description": "Country name for address", "type": ["string", "null"] },
"EmailAddress": {
"description": "Contact email address for address",
"type": ["string", "null"]
},
"FaxNumber": { "description": "Fax number for address", "type": ["string", "null"] },
"Name": { "description": "Contact name for this address", "type": ["string", "null"] },
"PhoneNumber": { "description": "Phone number for address", "type": ["string", "null"] },
"PostalCode": { "description": "Postal code for address", "type": ["string", "null"] },
"StateProvince": {
"description": "State or province name for address",
"type": ["string", "null"]
}
}
},
"ShippingCarrier": { "description": "Shipping carrier", "type": ["string", "null"] },
"ShippingCost": { "description": "Shipping cost", "type": ["number", "null"] },
"ShippingHandlingTax": { "description": "Shipping handling tax", "type": ["number", "null"] },
"ShippingService": { "description": "Shipping service", "type": ["string", "null"] },
"Status": { "description": "Status", "type": ["string", "null"] },
"TotalOrderFee": { "description": "Total order fee", "type": ["number", "null"] }
}
}
},
"ShippingHandlingTax": { "description": "Shipping handling tax", "type": ["number", "null"] },
"Statuses": {
"description": "Order statuses",
"type": ["array", "null"],
"items": {"type": "string"}
},
"TotalOrderFee": { "description": "Total order fee", "type": ["number", "null"] },
"TotalShippingCost": { "description": "Total shipping cost", "type": ["number", "null"] }
},
"required": ["OrderId", "LineItems", "BillTos", "ShipTos"]
}
},
"required": ["Order"]
},
{
"type": "object",
"properties": {
"EventName": {
"description": "Name of triggered event",
"type": "string",
"enum": [
"Order Complete", "Order Received", "Order Validated", "Order Validation Failed",
"Order Submitted to OMS", "Order Accepted By OMS", "Order Rejected by OMS",
"Fulfillment Order Created", "Order Updated",
"Order Submitted to Fulfillment System",
"Order Failed to Submit to Fulfillment System", "Order Update Requested",
"Order Update Request Validated", "Order Update Request Validation Failed",
"Fulfillment Order Creation Failed"
]
}
}
}
],
"examples": [
{
"AggregateId": "2-gbdstorefrontcust-2-P-4692-3606-50",
"CorrelationId": "ae7f8b49-f36a-4b6e-9444-8f22f11a6fe3",
"_rid": "s7l1AJVVwJcLwwIAAAAAAA==",
"id": "aa2ec6a5-baf9-43ff-9002-3d25892fbb2a",
"AggregateType": "Order",
"EventActionUser": null,
"EventDateTimeUtc": "2024-11-20T20:26:38.55",
"EventName": "Order Updated",
"EventNameValuePairs": null,
"EventPublisherApp": "VeraCore Order Event Publisher",
"EventSchemaVersion": "1.6.1",
"EventSource": "VeraCore",
"Order": {
"OmsCustomerId": "001146",
"OmsId": "1",
"OmsOrderId": "2-gbdstorefrontcust-2-P-4692-3606-50",
"OrderId": "2-gbdstorefrontcust-2-P-4692-3606-50",
"ReferenceId": "2-P-4692-3606-50",
"SourceSystemCustomerId": null,
"SourceSystemId": null,
"SourceSystemOrderId": null,
"AccessGroups": ["IN"],
"AffiliateIdentifier": 9,
"AffiliateName": "ZT - iHPqWad",
"BillTos": [
{
"Address1": "77185 Juan Ford Apt. 265",
"Address2": "",
"Address3": "",
"City": "Lovechester",
"Company": "",
"Country": "USA",
"EmailAddress": "cody09@example.com",
"FaxNumber": "",
"IsDeleted": null,
"Key": 0,
"Name": "Leslie Harmon",
"PhoneNumber": "377.454.4845",
"PostalCode": "52209",
"StateProvince": "Georgia"
}
],
"CostCenter": "6342091000- IN Medicaid Case Mgmt",
"CreateDateTime": null,
"CreditCardFee": null,
"DefaultBillToKey": 0,
"DefaultOrderedByKey": 0,
"DefaultShipToKey": null,
"DueDate": null,
"LineItems": [
{
"OfferId": "1-001146-23788",
"ProductManagementSystemCustomerId": "001146",
"ProductManagementSystemId": 1,
"ReferenceId": null,
"VariableTemplatePrintId": null,
"AdditionalProperties": [],
"BillToKey": null,
"Comment": "1022385INMENABS Rev. 11/22 PM:https://xxxxx.cloudfront.net/temporary/example.pdf,e47de917-5db4-45dc-9079-203690246f0a.pdf",
"CostCenter": null,
"DueDate": null,
"IsDeleted": false,
"LineItemFee": 0,
"OfferDescription": "Important Phone Numbers Update SH MKT (IN)",
"OfferLineNumber": "15602",
"OfferNumber": "1022385INMENABS Rev. 11/22 PM",
"OrderedByKey": null,
"PONumber": null,
"Price": 35,
"Products": [],
"QuantityCanceled": null,
"QuantityOrdered": 1,
"RushOrder": null,
"ShipToKey": 0,
"Status": null,
"TaxAmount": 0
}
],
"ModifiedDateTime": "2024-11-20T14:26:38",
"OmsCustomerName": "Ryan Griffin",
"OrderFee": null,
"OrderVariables": {},
"OrderedBys": [
{
"Address1": "28133 Derrick Rapids",
"Address2": "",
"Address3": "",
"City": "New Emilyside",
"Company": "",
"Country": "USA",
"EmailAddress": "sarah01@example.com",
"FaxNumber": "",
"IsDeleted": null,
"Key": 0,
"Name": "Dawn Conway",
"PhoneNumber": "+1-963-434-5913x919",
"PostalCode": 9945,
"StateProvince": "Montana"
}
],
"PONumber": "",
"PaymentMethods": null,
"PickPackHandlingFee": null,
"RushOrder": false,
"ShipTos": null,
"ShippingHandlingTax": null,
"Statuses": ["Order In Process"],
"TotalOrderFee": null,
"TotalShippingCost": null
},
"_attachments": "attachments/",
"_etag": "\"080066e6-0000-0300-0000-673e47300000\"",
"_self": "dbs/s7l1AA==/colls/s7l1AJVVwJc=/docs/s7l1AJVVwJcLwwIAAAAAAA==/",
"_ts": 1732134704
}
]
}