OrderViewEvent
OrderViewEvent 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.-
OrderView(object)OrderView level details for Cosmos DB Views database.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 - critical for OrderView as it's used for OrderStatus property in Service Bus messages.- Items (string)
-
TotalOrderFee(['number', 'null'])Total order fee. TotalShippingCost(['number', 'null'])Total shipping cost.
-
EventName(string)Name of triggered event for OrderView. Must be one of:["OrderView Created", "OrderView Updated", "OrderView Status Changed", "OrderView View Updated", "OrderView View Refreshed"].
Examples
{
"AggregateId": "2-gbdstorefrontcust-2-P-4692-3606-50",
"CorrelationId": "ae7f8b49-f36a-4b6e-9444-8f22f11a6fe3",
"_rid": "s7l1AJVVwJcLwwIAAAAAAA==",
"id": "aa2ec6a5-baf9-43ff-9002-3d25892fbb2a",
"AggregateType": "OrderView",
"EventActionUser": null,
"EventDateTimeUtc": "2024-11-20T20:26:38.55",
"EventName": "OrderView Updated",
"EventNameValuePairs": null,
"EventPublisherApp": "OrderBroker ViewOrder Event Publisher",
"EventSchemaVersion": "1.6.1",
"EventSource": "OrderBroker",
"OrderView": {
"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.OrderView.OrderViewEvent \
--src .working/build/internal/json-schema-for-cs/OrderViewEvent.json -o .working/build/internal/csharp/OtpSchema/Event/OrderView/OrderViewEvent.cs
// <auto-generated />
//
// To parse this JSON data, add NuGet 'System.Text.Json' then do:
//
// using OtpSchema.Event.OrderView.OrderViewEvent;
//
// var orderViewEvent = OrderViewEvent.FromJson(jsonString);
#nullable enable
#pragma warning disable CS8618
#pragma warning disable CS8601
#pragma warning disable CS8603
namespace OtpSchema.Event.OrderView.OrderViewEvent
{
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>OrderViewEvent schema; ; Details for Shipping Order JSON schema</summary>
public partial class OrderViewEvent
{
[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; ; Name of triggered event for OrderView
[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("OrderView")] public OrderView OrderView { get; set; } // OrderView level details for Cosmos DB Views database
}
/// <summary>OrderView level details for Cosmos DB Views database</summary>
public partial class OrderView
{
[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 OrderViewPaymentMethod[] 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 - critical for OrderView as it's used for OrderStatus property in Service; Bus messages
[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 OrderViewPaymentMethod
{
[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 for OrderView</summary>
public enum AggregateId { OrderViewCreated, OrderViewStatusChanged, OrderViewUpdated, OrderViewViewRefreshed, OrderViewViewUpdated };
/// <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 OrderViewEvent
{
public static OrderViewEvent FromJson(string json) => JsonSerializer.Deserialize<OrderViewEvent>(json, OtpSchema.Event.OrderView.OrderViewEvent.Converter.Settings);
}
public static class Serialize
{
public static string ToJson(this OrderViewEvent self) => JsonSerializer.Serialize(self, OtpSchema.Event.OrderView.OrderViewEvent.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 "OrderView Created":
return AggregateId.OrderViewCreated;
case "OrderView Status Changed":
return AggregateId.OrderViewStatusChanged;
case "OrderView Updated":
return AggregateId.OrderViewUpdated;
case "OrderView View Refreshed":
return AggregateId.OrderViewViewRefreshed;
case "OrderView View Updated":
return AggregateId.OrderViewViewUpdated;
}
throw new Exception("Cannot unmarshal type AggregateId");
}
public override void Write(Utf8JsonWriter writer, AggregateId value, JsonSerializerOptions options)
{
switch (value)
{
case AggregateId.OrderViewCreated:
JsonSerializer.Serialize(writer, "OrderView Created", options);
return;
case AggregateId.OrderViewStatusChanged:
JsonSerializer.Serialize(writer, "OrderView Status Changed", options);
return;
case AggregateId.OrderViewUpdated:
JsonSerializer.Serialize(writer, "OrderView Updated", options);
return;
case AggregateId.OrderViewViewRefreshed:
JsonSerializer.Serialize(writer, "OrderView View Refreshed", options);
return;
case AggregateId.OrderViewViewUpdated:
JsonSerializer.Serialize(writer, "OrderView View Updated", 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": "OrderViewEvent.json",
"description": "OrderViewEvent 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": {
"OrderView": {
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "OrderView.json",
"description": "OrderView level details for Cosmos DB Views database",
"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 - critical for OrderView as it's used for OrderStatus property in Service Bus messages",
"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": ["OrderView"]
},
{
"type": "object",
"properties": {
"EventName": {
"description": "Name of triggered event for OrderView",
"type": "string",
"enum": [
"OrderView Created", "OrderView Updated", "OrderView Status Changed",
"OrderView View Updated", "OrderView View Refreshed"
]
}
}
}
],
"examples": [
{
"AggregateId": "2-gbdstorefrontcust-2-P-4692-3606-50",
"CorrelationId": "ae7f8b49-f36a-4b6e-9444-8f22f11a6fe3",
"_rid": "s7l1AJVVwJcLwwIAAAAAAA==",
"id": "aa2ec6a5-baf9-43ff-9002-3d25892fbb2a",
"AggregateType": "OrderView",
"EventActionUser": null,
"EventDateTimeUtc": "2024-11-20T20:26:38.55",
"EventName": "OrderView Updated",
"EventNameValuePairs": null,
"EventPublisherApp": "OrderBroker ViewOrder Event Publisher",
"EventSchemaVersion": "1.6.1",
"EventSource": "OrderBroker",
"OrderView": {
"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
}
]
}