{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://api.orderful.com/v3/simplified-schemas/PURCHASE_ORDER_ACKNOWLEDGMENT","title":"Simplified Purchase Order Acknowledgment","description":"A simplified version of the purchase order acknowledgment document","type":"object","properties":{"purchaseOrderNumber":{"type":"string","description":"Purchase order number being acknowledged","orderful_x12_path":["855:beginningSegmentForPurchaseOrderAcknowledgment.*.purchaseOrderNumber"],"orderful_x12_notes":["BAK03 — echoes the PO number from the originating 850 BEG03"]},"purpose":{"type":"string","enum":["original","cancellation","change","replace","confirmation"],"description":"Intended purpose of the acknowledgment transaction (e.g., original acknowledgment, change, cancellation, or confirmation of backorder availability)","orderful_x12_path":["855:beginningSegmentForPurchaseOrderAcknowledgment.*.transactionSetPurposeCode"],"orderful_x12_notes":["BAK01 is mandatory in X12 but optional here — when omitted, the writer defaults to '00' (original) unless the guideline pins a different value. A producer-supplied value that conflicts with the guideline's allowed set is rejected."],"orderful_enum_meta":{"original":{"description":"New purchase order acknowledgment","orderful_x12_codes":["00"]},"cancellation":{"description":"Cancellation of an existing order acknowledgment","orderful_x12_codes":["01"]},"change":{"description":"Change to an existing order acknowledgment","orderful_x12_codes":["02","03","04"]},"replace":{"description":"Replace an existing order acknowledgment","orderful_x12_codes":["05"]},"confirmation":{"description":"Confirmation that a previously backordered item is now available","orderful_x12_codes":["06"]}}},"status":{"type":"string","enum":["accepted","changed","rejected"],"description":"Overall status of the purchase order acknowledgment (BAK02)","orderful_x12_path":["855:beginningSegmentForPurchaseOrderAcknowledgment.*.acknowledgmentTypeCode"],"orderful_x12_notes":["BAK02 is derived from line-level analysis, not echoed verbatim from the producer's status. The producer's status is validated for consistency (rejected → every line rejected; accepted/changed → at least one line fulfilled in some form) and a contradiction throws. The emitted code is the highest-preference value from the guideline's allowed set: state 'all accepted, no changes' → AK > AT > AD > AC; state 'some changes' → AC > AE; state 'all rejected' → RJ > RD. No-detail codes (AK/AT/RJ) suppress PO1_loop emission; AE filters lines to those with at least one non-IA action."],"orderful_enum_meta":{"accepted":{"description":"All line items accepted without changes","orderful_x12_codes":["AD","AK","AT","AC"]},"changed":{"description":"One or more line items have changes — including price or quantity adjustments, partial backorders, or items on hold","orderful_x12_codes":["AC","AE"]},"rejected":{"description":"Purchase order rejected","orderful_x12_codes":["RD","RJ"]}}},"statusReasonCode":{"description":"Reason code explaining why the order was rejected, if applicable","orderful_x12_notes":["Source varies by trading partner. Walmart: REF02 with REF01 qualifier TD (Reason for change)."],"type":"string","enum":["discontinued","invalidAddress","invalidBillToCode","invalidItemNumber","invalidPrice","invalidItemQuantity","invalidShipFrom","invalidShipMethod","invalidShipToName","invalidShipToAddress1","invalidShipToAddress2","invalidShipToCity","invalidShipToStateOrProvince","invalidShipToPostalCode","invalidShipToCountry","itemRecall","itemSetupIssue","mainlandOnly","missingLineItemId","missingOrderId","missingShipId","naturalDisaster","outOfStock","seasonalOrEndOfLife","shippingInFull","systemIssue","taxNexusIssue","transportationIssuePrepaid","transportationIssueCollect","undeliverableAddress","weather"]},"statusNote":{"description":"Additional notes or comments about the acknowledgment","orderful_x12_notes":["Source varies by trading partner. Common sources: REF segment or N9-MSG/MTX. Can map status reason as N903 if no description is sent."],"type":"object","properties":{"description":{"description":"Brief description or title of the note","type":"string"},"text":{"description":"Array of text lines for the note content","type":"array","items":{"type":"string"}}},"additionalProperties":false},"detailLevel":{"type":"string","enum":["all","none","exceptionsOnly"],"description":"Indicates how much line-item detail this acknowledgment carries: all lines, no lines, or only the lines the sender changed from the original purchase order. Primarily for recipients of the acknowledgment, who use it to decide whether to rely on lineItems or fall back to the original purchase order for any unlisted line. This is the detail axis of BAK02 and is orthogonal to status — e.g. an accepted order can be acknowledged with full detail (AD) or with no detail (AK).","orderful_x12_path":["855:beginningSegmentForPurchaseOrderAcknowledgment.*.acknowledgmentTypeCode"],"orderful_x12_notes":["Shares BAK02 with status — the single emitted acknowledgmentTypeCode encodes both the status (accept/change/reject) and the detail axis at once (e.g. AC = changed + full detail, AE = changed + exceptions only, AK = accepted + no detail). When receiving: derive from the actual presence of line detail, not the BAK02 code — senders are unreliable about pairing the right type code with what they actually send, so trust the PO1_loop content: line detail present → all, no line detail present → none. The one case where the code is authoritative is the exception-detail-only codes AE and RF: detail IS present but represents only the changed lines, which presence alone can't distinguish from 'all' — so AE/RF → exceptionsOnly regardless of how many lines appear. When sending: this is a hint that narrows BAK02 selection within the status's allowed set and governs PO1_loop emission — 'none' suppresses line detail, 'exceptionsOnly' filters lineItems to changed lines, 'all' emits every line. When omitted, the writer infers it from whether lineItems is populated together with the guideline's allowed BAK02 codes."],"orderful_enum_meta":{"all":{"description":"Full line-item detail is present — every line from the original purchase order appears in lineItems, whether changed or not","orderful_x12_codes":["AD","AC","RD"]},"none":{"description":"No line-item detail is present — the acknowledgment conveys only the header-level status. Recipients should fall back to the original purchase order for line detail","orderful_x12_codes":["AK","AT","RJ"]},"exceptionsOnly":{"description":"Only exception lines are present — lineItems contains just the lines the sender changed from the original purchase order (those with isChanged=true). Lines not listed should be treated as accepted exactly as ordered","orderful_x12_codes":["AE","RF"]}}},"dates":{"description":"Important dates such as scheduled ship date and estimated delivery date","orderful_x12_path":["855:dateTimeReference","855:beginningSegmentForPurchaseOrderAcknowledgment.*.date","855:beginningSegmentForPurchaseOrderAcknowledgment.*.date1"],"type":"object","properties":{"purchaseOrderDate":{"description":"Date the purchase order was issued","orderful_tags":["context"],"orderful_x12_path":["855:beginningSegmentForPurchaseOrderAcknowledgment.*.date"],"orderful_x12_notes":["BAK04 — echoes the PO date from the originating 850 BEG05"],"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}]},"estimatedDeliveryDate":{"description":"Estimated date of delivery to the buyer","orderful_x12_codes":["017","067"],"orderful_x12_path":["855:dateTimeReference.* | dateTimeQualifier=017","855:dateTimeReference.* | dateTimeQualifier=067"],"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}]},"requestedPickupDate":{"description":"Requested date for pickup by carrier","orderful_x12_codes":["118"],"orderful_x12_path":["855:dateTimeReference.* | dateTimeQualifier=118"],"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}]},"scheduledShipDate":{"description":"Scheduled date for shipment","orderful_x12_codes":["068"],"orderful_x12_path":["855:dateTimeReference.* | dateTimeQualifier=068"],"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}]},"salesOrderDate":{"description":"Date the supplier created the corresponding sales order in their system. Uncommon — the more typical BAK09 usage (acknowledgment creation date) is handled in mapping and not exposed as a field.","orderful_x12_path":["855:beginningSegmentForPurchaseOrderAcknowledgment.*.date1"],"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}]}},"additionalProperties":false},"parties":{"description":"Parties involved in the acknowledgment. Includes contact information where available.","orderful_x12_path":["855:N1_loop"],"orderful_x12_notes":["Parties commonly echo from the originating 850 — when a party is omitted here and the guideline requires it, the writer pulls the corresponding N1_loop entry from $purchaseOrder."],"type":"object","properties":{"buyer":{"description":"Buying party who is purchasing the product or service","orderful_x12_path":["N1_loop.* | entityIdentifierCode=BY"],"orderful_x12_codes":["BY"],"type":"object","properties":{"name":{"description":"Party name or company name","type":"string"},"additionalName1":{"description":"Additional name line 1","type":"string"},"additionalName2":{"description":"Additional name line 2","type":"string"},"identificationCode":{"description":"Party identification code value","type":"string"},"identificationCodeType":{"type":"string","enum":["sendersId","receiversId","duns","plantCode","dunsPlus4","drugEnforcementAdmin","telephone","federalReserveRouting","standardAddressSAN","healthIndustryHIN","warehouse","schoolId","memberId","stateLicenseId","globalLocationId"],"description":"Type of identification code","orderful_x12_path":["856:HL_loop.*.N1_loop.*.partyIdentification.*.identificationCodeQualifier"],"orderful_enum_meta":{"sendersId":{"description":"Sender's identification code","orderful_x12_codes":["58","93","91","92"],"orderful_edifact_codes":["91"]},"receiversId":{"description":"Receiver's identification code","orderful_x12_codes":["59","94","91","92"],"orderful_edifact_codes":["92"]},"duns":{"description":"Dun & Bradstreet number","orderful_x12_codes":["1"],"orderful_edifact_codes":["16"]},"plantCode":{"description":"Plant code","orderful_x12_codes":["6"]},"dunsPlus4":{"description":"DUNS+4 identifier","orderful_x12_codes":["9"]},"drugEnforcementAdmin":{"description":"DEA (Drug Enforcement Administration) number","orderful_x12_codes":["11"]},"telephone":{"description":"Telephone number as identifier","orderful_x12_codes":["12"]},"federalReserveRouting":{"description":"Federal Reserve routing number","orderful_x12_codes":["13"]},"standardAddressSAN":{"description":"Standard Address Number (SAN)","orderful_x12_codes":["15"]},"healthIndustryHIN":{"description":"Health Industry Number (HIN)","orderful_x12_codes":["21"]},"warehouse":{"description":"Warehouse identifier","orderful_x12_codes":["54"]},"schoolId":{"description":"School identifier","orderful_x12_codes":["DS"]},"memberId":{"description":"Member identifier","orderful_x12_codes":["MI"]},"stateLicenseId":{"description":"State license identifier","orderful_x12_codes":["SL"]},"globalLocationId":{"description":"Global Location Number (GLN)","orderful_x12_codes":["UL"],"orderful_edifact_codes":["9"]}}},"addressLine1":{"description":"Street address line 1","type":"string"},"addressLine2":{"description":"Street address line 2","type":"string"},"addressLine3":{"description":"Street address line 3","type":"string"},"addressLine4":{"description":"Street address line 4","type":"string"},"city":{"description":"City name","type":"string"},"stateOrProvinceCode":{"description":"State or province code","type":"string"},"postalCode":{"description":"Postal or ZIP code","type":"string"},"countryCode":{"description":"Country code (ISO)","type":"string"},"zoneType":{"description":"Address zone type","type":"string","enum":["residential","commercial"]},"contacts":{"description":"Contact persons for this party","type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["primary","customerRelations","orderInquiry","department","shipping","receiving","hazmat"],"description":"Type of contact. Default to 'primary' for party-level (N1_loop) PER segments and context-routed header-level PER segments — the parent party's role provides the context. Use other types only to distinguish multiple contacts within a single party (e.g. 'hazmat' for HM, 'shipping' for SD).","orderful_x12_path":["856:HL_loop.*.N1_loop.*.administrativeCommunicationsContact.*.contactFunctionCode"],"orderful_enum_meta":{"primary":{"description":"General contact or party-level contact","orderful_x12_codes":["AJ","BD","IC"]},"customerRelations":{"description":"Customer relations contact","orderful_x12_codes":["CR"]},"orderInquiry":{"description":"Order or billing contact","orderful_x12_codes":["BI","OC"]},"department":{"description":"Sales representative or department contact","orderful_x12_codes":["SR"]},"shipping":{"description":"Shipping department contact","orderful_x12_codes":["SD"]},"receiving":{"description":"Receiving department contact","orderful_x12_codes":["RE"]},"hazmat":{"description":"Hazardous material contact","orderful_x12_codes":["HM"]}}},"name":{"description":"Contact person name","type":"string"},"phoneNumber":{"description":"Contact phone number. Default source is the comm-number paired with a TE qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on the comm-number element labels the value as a different comm type (e.g. \"Fax #\", \"Email\"), follow the note and route accordingly.","type":"string"},"faxNumber":{"description":"Contact fax number. Default source is the comm-number paired with an FX qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on a comm-number element labels its value as fax even when the qualifier is TE/EM, follow the note and route the value here.","type":"string"},"email":{"description":"Contact email address. Default source is the comm-number paired with an EM qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on the comm-number element labels the value as a different comm type, follow the note and route accordingly.","type":"string"}},"required":["type"],"additionalProperties":false}}},"additionalProperties":false},"shipTo":{"description":"Ship-to location where goods will be delivered","orderful_x12_path":["855:N1_loop.* | entityIdentifierCode=ST,BS"],"orderful_x12_codes":["ST","BS"],"type":"object","properties":{"name":{"description":"Party name or company name","type":"string"},"additionalName1":{"description":"Additional name line 1","type":"string"},"additionalName2":{"description":"Additional name line 2","type":"string"},"identificationCode":{"description":"Party identification code value","type":"string"},"identificationCodeType":{"type":"string","enum":["sendersId","receiversId","duns","plantCode","dunsPlus4","drugEnforcementAdmin","telephone","federalReserveRouting","standardAddressSAN","healthIndustryHIN","warehouse","schoolId","memberId","stateLicenseId","globalLocationId"],"description":"Type of identification code","orderful_x12_path":["856:HL_loop.*.N1_loop.*.partyIdentification.*.identificationCodeQualifier"],"orderful_enum_meta":{"sendersId":{"description":"Sender's identification code","orderful_x12_codes":["58","93","91","92"],"orderful_edifact_codes":["91"]},"receiversId":{"description":"Receiver's identification code","orderful_x12_codes":["59","94","91","92"],"orderful_edifact_codes":["92"]},"duns":{"description":"Dun & Bradstreet number","orderful_x12_codes":["1"],"orderful_edifact_codes":["16"]},"plantCode":{"description":"Plant code","orderful_x12_codes":["6"]},"dunsPlus4":{"description":"DUNS+4 identifier","orderful_x12_codes":["9"]},"drugEnforcementAdmin":{"description":"DEA (Drug Enforcement Administration) number","orderful_x12_codes":["11"]},"telephone":{"description":"Telephone number as identifier","orderful_x12_codes":["12"]},"federalReserveRouting":{"description":"Federal Reserve routing number","orderful_x12_codes":["13"]},"standardAddressSAN":{"description":"Standard Address Number (SAN)","orderful_x12_codes":["15"]},"healthIndustryHIN":{"description":"Health Industry Number (HIN)","orderful_x12_codes":["21"]},"warehouse":{"description":"Warehouse identifier","orderful_x12_codes":["54"]},"schoolId":{"description":"School identifier","orderful_x12_codes":["DS"]},"memberId":{"description":"Member identifier","orderful_x12_codes":["MI"]},"stateLicenseId":{"description":"State license identifier","orderful_x12_codes":["SL"]},"globalLocationId":{"description":"Global Location Number (GLN)","orderful_x12_codes":["UL"],"orderful_edifact_codes":["9"]}}},"addressLine1":{"description":"Street address line 1","type":"string"},"addressLine2":{"description":"Street address line 2","type":"string"},"addressLine3":{"description":"Street address line 3","type":"string"},"addressLine4":{"description":"Street address line 4","type":"string"},"city":{"description":"City name","type":"string"},"stateOrProvinceCode":{"description":"State or province code","type":"string"},"postalCode":{"description":"Postal or ZIP code","type":"string"},"countryCode":{"description":"Country code (ISO)","type":"string"},"zoneType":{"description":"Address zone type","type":"string","enum":["residential","commercial"]},"contacts":{"description":"Contact persons for this party","type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["primary","customerRelations","orderInquiry","department","shipping","receiving","hazmat"],"description":"Type of contact. Default to 'primary' for party-level (N1_loop) PER segments and context-routed header-level PER segments — the parent party's role provides the context. Use other types only to distinguish multiple contacts within a single party (e.g. 'hazmat' for HM, 'shipping' for SD).","orderful_x12_path":["856:HL_loop.*.N1_loop.*.administrativeCommunicationsContact.*.contactFunctionCode"],"orderful_enum_meta":{"primary":{"description":"General contact or party-level contact","orderful_x12_codes":["AJ","BD","IC"]},"customerRelations":{"description":"Customer relations contact","orderful_x12_codes":["CR"]},"orderInquiry":{"description":"Order or billing contact","orderful_x12_codes":["BI","OC"]},"department":{"description":"Sales representative or department contact","orderful_x12_codes":["SR"]},"shipping":{"description":"Shipping department contact","orderful_x12_codes":["SD"]},"receiving":{"description":"Receiving department contact","orderful_x12_codes":["RE"]},"hazmat":{"description":"Hazardous material contact","orderful_x12_codes":["HM"]}}},"name":{"description":"Contact person name","type":"string"},"phoneNumber":{"description":"Contact phone number. Default source is the comm-number paired with a TE qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on the comm-number element labels the value as a different comm type (e.g. \"Fax #\", \"Email\"), follow the note and route accordingly.","type":"string"},"faxNumber":{"description":"Contact fax number. Default source is the comm-number paired with an FX qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on a comm-number element labels its value as fax even when the qualifier is TE/EM, follow the note and route the value here.","type":"string"},"email":{"description":"Contact email address. Default source is the comm-number paired with an EM qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on the comm-number element labels the value as a different comm type, follow the note and route accordingly.","type":"string"}},"required":["type"],"additionalProperties":false}}},"additionalProperties":false},"shipFrom":{"description":"Ship-from location where goods will originate","orderful_x12_path":["855:N1_loop.* | entityIdentifierCode=SF"],"orderful_x12_codes":["SF"],"type":"object","properties":{"name":{"description":"Party name or company name","type":"string"},"additionalName1":{"description":"Additional name line 1","type":"string"},"additionalName2":{"description":"Additional name line 2","type":"string"},"identificationCode":{"description":"Party identification code value","type":"string"},"identificationCodeType":{"type":"string","enum":["sendersId","receiversId","duns","plantCode","dunsPlus4","drugEnforcementAdmin","telephone","federalReserveRouting","standardAddressSAN","healthIndustryHIN","warehouse","schoolId","memberId","stateLicenseId","globalLocationId"],"description":"Type of identification code","orderful_x12_path":["856:HL_loop.*.N1_loop.*.partyIdentification.*.identificationCodeQualifier"],"orderful_enum_meta":{"sendersId":{"description":"Sender's identification code","orderful_x12_codes":["58","93","91","92"],"orderful_edifact_codes":["91"]},"receiversId":{"description":"Receiver's identification code","orderful_x12_codes":["59","94","91","92"],"orderful_edifact_codes":["92"]},"duns":{"description":"Dun & Bradstreet number","orderful_x12_codes":["1"],"orderful_edifact_codes":["16"]},"plantCode":{"description":"Plant code","orderful_x12_codes":["6"]},"dunsPlus4":{"description":"DUNS+4 identifier","orderful_x12_codes":["9"]},"drugEnforcementAdmin":{"description":"DEA (Drug Enforcement Administration) number","orderful_x12_codes":["11"]},"telephone":{"description":"Telephone number as identifier","orderful_x12_codes":["12"]},"federalReserveRouting":{"description":"Federal Reserve routing number","orderful_x12_codes":["13"]},"standardAddressSAN":{"description":"Standard Address Number (SAN)","orderful_x12_codes":["15"]},"healthIndustryHIN":{"description":"Health Industry Number (HIN)","orderful_x12_codes":["21"]},"warehouse":{"description":"Warehouse identifier","orderful_x12_codes":["54"]},"schoolId":{"description":"School identifier","orderful_x12_codes":["DS"]},"memberId":{"description":"Member identifier","orderful_x12_codes":["MI"]},"stateLicenseId":{"description":"State license identifier","orderful_x12_codes":["SL"]},"globalLocationId":{"description":"Global Location Number (GLN)","orderful_x12_codes":["UL"],"orderful_edifact_codes":["9"]}}},"addressLine1":{"description":"Street address line 1","type":"string"},"addressLine2":{"description":"Street address line 2","type":"string"},"addressLine3":{"description":"Street address line 3","type":"string"},"addressLine4":{"description":"Street address line 4","type":"string"},"city":{"description":"City name","type":"string"},"stateOrProvinceCode":{"description":"State or province code","type":"string"},"postalCode":{"description":"Postal or ZIP code","type":"string"},"countryCode":{"description":"Country code (ISO)","type":"string"},"zoneType":{"description":"Address zone type","type":"string","enum":["residential","commercial"]},"contacts":{"description":"Contact persons for this party","type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["primary","customerRelations","orderInquiry","department","shipping","receiving","hazmat"],"description":"Type of contact. Default to 'primary' for party-level (N1_loop) PER segments and context-routed header-level PER segments — the parent party's role provides the context. Use other types only to distinguish multiple contacts within a single party (e.g. 'hazmat' for HM, 'shipping' for SD).","orderful_x12_path":["856:HL_loop.*.N1_loop.*.administrativeCommunicationsContact.*.contactFunctionCode"],"orderful_enum_meta":{"primary":{"description":"General contact or party-level contact","orderful_x12_codes":["AJ","BD","IC"]},"customerRelations":{"description":"Customer relations contact","orderful_x12_codes":["CR"]},"orderInquiry":{"description":"Order or billing contact","orderful_x12_codes":["BI","OC"]},"department":{"description":"Sales representative or department contact","orderful_x12_codes":["SR"]},"shipping":{"description":"Shipping department contact","orderful_x12_codes":["SD"]},"receiving":{"description":"Receiving department contact","orderful_x12_codes":["RE"]},"hazmat":{"description":"Hazardous material contact","orderful_x12_codes":["HM"]}}},"name":{"description":"Contact person name","type":"string"},"phoneNumber":{"description":"Contact phone number. Default source is the comm-number paired with a TE qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on the comm-number element labels the value as a different comm type (e.g. \"Fax #\", \"Email\"), follow the note and route accordingly.","type":"string"},"faxNumber":{"description":"Contact fax number. Default source is the comm-number paired with an FX qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on a comm-number element labels its value as fax even when the qualifier is TE/EM, follow the note and route the value here.","type":"string"},"email":{"description":"Contact email address. Default source is the comm-number paired with an EM qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on the comm-number element labels the value as a different comm type, follow the note and route accordingly.","type":"string"}},"required":["type"],"additionalProperties":false}}},"additionalProperties":false},"supplier":{"description":"Supplier or vendor fulfilling the order","orderful_x12_path":["855:N1_loop.* | entityIdentifierCode=SU,VN"],"orderful_x12_codes":["SU","VN"],"type":"object","properties":{"name":{"description":"Party name or company name","type":"string"},"additionalName1":{"description":"Additional name line 1","type":"string"},"additionalName2":{"description":"Additional name line 2","type":"string"},"identificationCode":{"description":"Party identification code value","type":"string"},"identificationCodeType":{"type":"string","enum":["sendersId","receiversId","duns","plantCode","dunsPlus4","drugEnforcementAdmin","telephone","federalReserveRouting","standardAddressSAN","healthIndustryHIN","warehouse","schoolId","memberId","stateLicenseId","globalLocationId"],"description":"Type of identification code","orderful_x12_path":["856:HL_loop.*.N1_loop.*.partyIdentification.*.identificationCodeQualifier"],"orderful_enum_meta":{"sendersId":{"description":"Sender's identification code","orderful_x12_codes":["58","93","91","92"],"orderful_edifact_codes":["91"]},"receiversId":{"description":"Receiver's identification code","orderful_x12_codes":["59","94","91","92"],"orderful_edifact_codes":["92"]},"duns":{"description":"Dun & Bradstreet number","orderful_x12_codes":["1"],"orderful_edifact_codes":["16"]},"plantCode":{"description":"Plant code","orderful_x12_codes":["6"]},"dunsPlus4":{"description":"DUNS+4 identifier","orderful_x12_codes":["9"]},"drugEnforcementAdmin":{"description":"DEA (Drug Enforcement Administration) number","orderful_x12_codes":["11"]},"telephone":{"description":"Telephone number as identifier","orderful_x12_codes":["12"]},"federalReserveRouting":{"description":"Federal Reserve routing number","orderful_x12_codes":["13"]},"standardAddressSAN":{"description":"Standard Address Number (SAN)","orderful_x12_codes":["15"]},"healthIndustryHIN":{"description":"Health Industry Number (HIN)","orderful_x12_codes":["21"]},"warehouse":{"description":"Warehouse identifier","orderful_x12_codes":["54"]},"schoolId":{"description":"School identifier","orderful_x12_codes":["DS"]},"memberId":{"description":"Member identifier","orderful_x12_codes":["MI"]},"stateLicenseId":{"description":"State license identifier","orderful_x12_codes":["SL"]},"globalLocationId":{"description":"Global Location Number (GLN)","orderful_x12_codes":["UL"],"orderful_edifact_codes":["9"]}}},"addressLine1":{"description":"Street address line 1","type":"string"},"addressLine2":{"description":"Street address line 2","type":"string"},"addressLine3":{"description":"Street address line 3","type":"string"},"addressLine4":{"description":"Street address line 4","type":"string"},"city":{"description":"City name","type":"string"},"stateOrProvinceCode":{"description":"State or province code","type":"string"},"postalCode":{"description":"Postal or ZIP code","type":"string"},"countryCode":{"description":"Country code (ISO)","type":"string"},"zoneType":{"description":"Address zone type","type":"string","enum":["residential","commercial"]},"contacts":{"description":"Contact persons for this party","type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["primary","customerRelations","orderInquiry","department","shipping","receiving","hazmat"],"description":"Type of contact. Default to 'primary' for party-level (N1_loop) PER segments and context-routed header-level PER segments — the parent party's role provides the context. Use other types only to distinguish multiple contacts within a single party (e.g. 'hazmat' for HM, 'shipping' for SD).","orderful_x12_path":["856:HL_loop.*.N1_loop.*.administrativeCommunicationsContact.*.contactFunctionCode"],"orderful_enum_meta":{"primary":{"description":"General contact or party-level contact","orderful_x12_codes":["AJ","BD","IC"]},"customerRelations":{"description":"Customer relations contact","orderful_x12_codes":["CR"]},"orderInquiry":{"description":"Order or billing contact","orderful_x12_codes":["BI","OC"]},"department":{"description":"Sales representative or department contact","orderful_x12_codes":["SR"]},"shipping":{"description":"Shipping department contact","orderful_x12_codes":["SD"]},"receiving":{"description":"Receiving department contact","orderful_x12_codes":["RE"]},"hazmat":{"description":"Hazardous material contact","orderful_x12_codes":["HM"]}}},"name":{"description":"Contact person name","type":"string"},"phoneNumber":{"description":"Contact phone number. Default source is the comm-number paired with a TE qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on the comm-number element labels the value as a different comm type (e.g. \"Fax #\", \"Email\"), follow the note and route accordingly.","type":"string"},"faxNumber":{"description":"Contact fax number. Default source is the comm-number paired with an FX qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on a comm-number element labels its value as fax even when the qualifier is TE/EM, follow the note and route the value here.","type":"string"},"email":{"description":"Contact email address. Default source is the comm-number paired with an EM qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on the comm-number element labels the value as a different comm type, follow the note and route accordingly.","type":"string"}},"required":["type"],"additionalProperties":false}}},"additionalProperties":false},"billTo":{"description":"Bill-to party for invoicing purposes","orderful_x12_path":["855:N1_loop.* | entityIdentifierCode=BT,BS"],"orderful_x12_codes":["BT","BS"],"orderful_x12_notes":["BS (Bill To and Ship To) is used when the bill-to and ship-to are the same location. BT is used when bill-to is distinct."],"type":"object","properties":{"name":{"description":"Party name or company name","type":"string"},"additionalName1":{"description":"Additional name line 1","type":"string"},"additionalName2":{"description":"Additional name line 2","type":"string"},"identificationCode":{"description":"Party identification code value","type":"string"},"identificationCodeType":{"type":"string","enum":["sendersId","receiversId","duns","plantCode","dunsPlus4","drugEnforcementAdmin","telephone","federalReserveRouting","standardAddressSAN","healthIndustryHIN","warehouse","schoolId","memberId","stateLicenseId","globalLocationId"],"description":"Type of identification code","orderful_x12_path":["856:HL_loop.*.N1_loop.*.partyIdentification.*.identificationCodeQualifier"],"orderful_enum_meta":{"sendersId":{"description":"Sender's identification code","orderful_x12_codes":["58","93","91","92"],"orderful_edifact_codes":["91"]},"receiversId":{"description":"Receiver's identification code","orderful_x12_codes":["59","94","91","92"],"orderful_edifact_codes":["92"]},"duns":{"description":"Dun & Bradstreet number","orderful_x12_codes":["1"],"orderful_edifact_codes":["16"]},"plantCode":{"description":"Plant code","orderful_x12_codes":["6"]},"dunsPlus4":{"description":"DUNS+4 identifier","orderful_x12_codes":["9"]},"drugEnforcementAdmin":{"description":"DEA (Drug Enforcement Administration) number","orderful_x12_codes":["11"]},"telephone":{"description":"Telephone number as identifier","orderful_x12_codes":["12"]},"federalReserveRouting":{"description":"Federal Reserve routing number","orderful_x12_codes":["13"]},"standardAddressSAN":{"description":"Standard Address Number (SAN)","orderful_x12_codes":["15"]},"healthIndustryHIN":{"description":"Health Industry Number (HIN)","orderful_x12_codes":["21"]},"warehouse":{"description":"Warehouse identifier","orderful_x12_codes":["54"]},"schoolId":{"description":"School identifier","orderful_x12_codes":["DS"]},"memberId":{"description":"Member identifier","orderful_x12_codes":["MI"]},"stateLicenseId":{"description":"State license identifier","orderful_x12_codes":["SL"]},"globalLocationId":{"description":"Global Location Number (GLN)","orderful_x12_codes":["UL"],"orderful_edifact_codes":["9"]}}},"addressLine1":{"description":"Street address line 1","type":"string"},"addressLine2":{"description":"Street address line 2","type":"string"},"addressLine3":{"description":"Street address line 3","type":"string"},"addressLine4":{"description":"Street address line 4","type":"string"},"city":{"description":"City name","type":"string"},"stateOrProvinceCode":{"description":"State or province code","type":"string"},"postalCode":{"description":"Postal or ZIP code","type":"string"},"countryCode":{"description":"Country code (ISO)","type":"string"},"zoneType":{"description":"Address zone type","type":"string","enum":["residential","commercial"]},"contacts":{"description":"Contact persons for this party","type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["primary","customerRelations","orderInquiry","department","shipping","receiving","hazmat"],"description":"Type of contact. Default to 'primary' for party-level (N1_loop) PER segments and context-routed header-level PER segments — the parent party's role provides the context. Use other types only to distinguish multiple contacts within a single party (e.g. 'hazmat' for HM, 'shipping' for SD).","orderful_x12_path":["856:HL_loop.*.N1_loop.*.administrativeCommunicationsContact.*.contactFunctionCode"],"orderful_enum_meta":{"primary":{"description":"General contact or party-level contact","orderful_x12_codes":["AJ","BD","IC"]},"customerRelations":{"description":"Customer relations contact","orderful_x12_codes":["CR"]},"orderInquiry":{"description":"Order or billing contact","orderful_x12_codes":["BI","OC"]},"department":{"description":"Sales representative or department contact","orderful_x12_codes":["SR"]},"shipping":{"description":"Shipping department contact","orderful_x12_codes":["SD"]},"receiving":{"description":"Receiving department contact","orderful_x12_codes":["RE"]},"hazmat":{"description":"Hazardous material contact","orderful_x12_codes":["HM"]}}},"name":{"description":"Contact person name","type":"string"},"phoneNumber":{"description":"Contact phone number. Default source is the comm-number paired with a TE qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on the comm-number element labels the value as a different comm type (e.g. \"Fax #\", \"Email\"), follow the note and route accordingly.","type":"string"},"faxNumber":{"description":"Contact fax number. Default source is the comm-number paired with an FX qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on a comm-number element labels its value as fax even when the qualifier is TE/EM, follow the note and route the value here.","type":"string"},"email":{"description":"Contact email address. Default source is the comm-number paired with an EM qualifier (PER03/04, PER05/06, or PER07/08). If the partner guideline note on the comm-number element labels the value as a different comm type, follow the note and route accordingly.","type":"string"}},"required":["type"],"additionalProperties":false}}},"additionalProperties":false}},"additionalProperties":false},"termsOfSale":{"description":"Payment terms and conditions","type":"object","properties":{"type":{"type":"string","enum":["basic","basicDiscountOffered","discountNotApplicable","endOfMonth","endOfMonth10","extended","instant","fixedDate","proximo","mutuallyDefined"],"description":"Type of payment terms","orderful_enum_meta":{"basic":{"description":"Basic payment terms","orderful_x12_codes":["01"]},"basicDiscountOffered":{"description":"Basic terms with discount offered","orderful_x12_codes":["08"]},"discountNotApplicable":{"description":"Discount not applicable","orderful_x12_codes":["05"]},"endOfMonth":{"description":"End of month payment","orderful_x12_codes":["02"]},"endOfMonth10":{"description":"End of month, 10 days","orderful_x12_codes":["12"]},"extended":{"description":"Extended payment terms","orderful_x12_codes":["07"]},"instant":{"description":"Immediate or instant payment","orderful_x12_codes":["10","23"]},"fixedDate":{"description":"Fixed payment date","orderful_x12_codes":["03"]},"proximo":{"description":"Proximo (next month) payment","orderful_x12_codes":["09"]},"mutuallyDefined":{"description":"Terms mutually defined by parties","orderful_x12_codes":["ZZ","14"]}}},"basisDate":{"type":"string","enum":["invoiceDate","receiptOfGoods","deliveryDate","shipDate","mutuallyDefined","gageApprovalDate","specifiedDate","acceptanceDate","invoiceTransmissionDate","effectiveDate"],"description":"Date basis for calculating payment terms","orderful_enum_meta":{"invoiceDate":{"description":"Invoice date","orderful_x12_codes":["3"]},"receiptOfGoods":{"description":"Receipt of goods date","orderful_x12_codes":["15"]},"deliveryDate":{"description":"Delivery date","orderful_x12_codes":["2"]},"shipDate":{"description":"Ship date","orderful_x12_codes":["1"]},"mutuallyDefined":{"description":"Mutually defined date basis","orderful_x12_codes":["ZZ"]},"gageApprovalDate":{"description":"Approval of gage date","orderful_x12_codes":["13"]},"specifiedDate":{"description":"Specified date","orderful_x12_codes":["4"]},"acceptanceDate":{"description":"Completion and acceptance date","orderful_x12_codes":["11"]},"invoiceTransmissionDate":{"description":"Invoice transmission date","orderful_x12_codes":["8"]},"effectiveDate":{"description":"Effective date","orderful_x12_codes":["7"]}}},"discountPercent":{"description":"Discount percentage if paid early","type":"string"},"discountDaysDue":{"description":"Number of days to qualify for discount","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"discountDueDate":{"description":"Date by which payment must be made for discount","anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}]},"dayOfMonth":{"description":"Day of month for payment","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"netDaysDue":{"description":"Number of days until payment is due","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"netDueDate":{"description":"Date when payment is due","anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}]},"discountAmount":{"description":"Fixed discount amount","type":"string"},"description":{"description":"Description of payment terms","type":"string"},"paymentMethodType":{"type":"string","enum":["check","letterOfCredit","wireTransfer","corporateTradePayment","specialAccount","directPayOthers"],"description":"Method of payment","orderful_enum_meta":{"check":{"description":"Payment by check","orderful_x12_codes":["C"]},"letterOfCredit":{"description":"Payment by letter of credit","orderful_x12_codes":["L"]},"wireTransfer":{"description":"Payment by wire transfer","orderful_x12_codes":["T"]},"corporateTradePayment":{"description":"Corporate trade payment (CTP)","orderful_x12_codes":["O"]},"specialAccount":{"description":"Payment via special account","orderful_x12_codes":["AF"]},"directPayOthers":{"description":"Direct pay or other method","orderful_x12_codes":["U"]}}}},"additionalProperties":false},"references":{"description":"Reference numbers associated with the purchase order being acknowledged","orderful_x12_notes":["Header-level REF segments — typically echoed from the originating 850. When omitted here and the guideline requires a reference, the writer pulls the corresponding entry from $purchaseOrder."],"type":"object","properties":{"accountNumber":{"description":"Account number or credit reference for the order","orderful_x12_path":["850:referenceInformation.* | referenceIdentificationQualifier=11,12,CR","875:extendedReferenceInformation.* | referenceIdentificationQualifier=11,12,CR"],"orderful_x12_codes":["11","12","CR"],"orderful_edifact_paths":["ORDERS:reference_group.*.reference | referenceCodeQualifier=ADE,CR"],"orderful_edifact_codes":["ADE","CR"],"type":"object","properties":{"value":{"description":"The reference identifier value","type":"string"},"description":{"description":"Additional description or context for the reference","type":"string"}},"additionalProperties":false},"arrivalCode":{"description":"Code indicating arrival information or instructions","orderful_x12_path":["850:referenceInformation.* | referenceIdentificationQualifier=AR","875:extendedReferenceInformation.* | referenceIdentificationQualifier=AR"],"orderful_x12_codes":["AR"],"type":"object","properties":{"value":{"description":"The reference identifier value","type":"string"},"description":{"description":"Additional description or context for the reference","type":"string"}},"additionalProperties":false},"associatedPurchaseOrderNumber":{"description":"Related or parent purchase order number","orderful_x12_path":["850:referenceInformation.* | referenceIdentificationQualifier=AN","875:extendedReferenceInformation.* | referenceIdentificationQualifier=AN"],"orderful_x12_codes":["AN"],"type":"object","properties":{"value":{"description":"The reference identifier value","type":"string"},"description":{"description":"Additional description or context for the reference","type":"string"}},"additionalProperties":false},"reservationNumber":{"description":"Reservation number","orderful_x12_path":["850:referenceInformation.* | referenceIdentificationQualifier=CNO,CS","875:extendedReferenceInformation.* | referenceIdentificationQualifier=CNO,CS"],"orderful_x12_codes":["CNO","CS"],"type":"object","properties":{"value":{"description":"The reference identifier value","type":"string"},"description":{"description":"Additional description or context for the reference","type":"string"}},"additionalProperties":false},"customerOrderNumber":{"description":"Customer-assigned order number for tracking","orderful_x12_path":["850:referenceInformation.* | referenceIdentificationQualifier=CO","875:extendedReferenceInformation.* | referenceIdentificationQualifier=CO"],"orderful_x12_codes":["CO"],"orderful_edifact_paths":["ORDERS:reference_group.*.reference | referenceCodeQualifier=CO"],"orderful_edifact_codes":["CO"],"type":"object","properties":{"value":{"description":"The reference identifier value","type":"string"},"description":{"description":"Additional description or context for the reference","type":"string"}},"additionalProperties":false},"deliveryReference":{"description":"Reference number for delivery coordination","orderful_x12_path":["850:referenceInformation.* | referenceIdentificationQualifier=KK","875:extendedReferenceInformation.* | referenceIdentificationQualifier=KK"],"orderful_x12_codes":["KK"],"type":"object","properties":{"value":{"description":"The reference identifier value","type":"string"},"description":{"description":"Additional description or context for the reference","type":"string"}},"additionalProperties":false},"divisionId":{"description":"Identifier for the business division placing the order","orderful_x12_path":["850:referenceInformation.* | referenceIdentificationQualifier=19","875:extendedReferenceInformation.* | referenceIdentificationQualifier=19"],"orderful_x12_codes":["19"],"type":"object","properties":{"value":{"description":"The reference identifier value","type":"string"},"description":{"description":"Additional description or context for the reference","type":"string"}},"additionalProperties":false},"departmentNumber":{"description":"Department number within the buying organization","orderful_x12_path":["850:referenceInformation.* | referenceIdentificationQualifier=DP","875:extendedReferenceInformation.* | referenceIdentificationQualifier=DP"],"orderful_x12_codes":["DP"],"type":"object","properties":{"value":{"description":"The reference identifier value","type":"string"},"description":{"description":"Additional description or context for the reference","type":"string"}},"additionalProperties":false},"freightPayerReference":{"description":"Freight payer reference number","orderful_x12_path":["850:referenceInformation.* | referenceIdentificationQualifier=F9","875:extendedReferenceInformation.* | referenceIdentificationQualifier=F9"],"orderful_x12_codes":["F9"],"type":"object","properties":{"value":{"description":"The reference identifier value","type":"string"},"description":{"description":"Additional description or context for the reference","type":"string"}},"additionalProperties":false},"internalCustomerNumber":{"description":"Internal customer identifier used by the buyer","orderful_x12_path":["850:referenceInformation.* | referenceIdentificationQualifier=IT","875:extendedReferenceInformation.* | referenceIdentificationQualifier=IT"],"orderful_x12_codes":["IT"],"orderful_edifact_paths":["ORDERS:reference_group.*.reference | referenceCodeQualifier=IT"],"orderful_edifact_codes":["IT"],"type":"object","properties":{"value":{"description":"The reference identifier value","type":"string"},"description":{"description":"Additional description or context for the reference","type":"string"}},"additionalProperties":false},"vendorNumber":{"description":"Vendor or supplier identifier assigned by the buyer","orderful_x12_path":["850:referenceInformation.* | referenceIdentificationQualifier=IA,VR","875:extendedReferenceInformation.* | referenceIdentificationQualifier=IA,VR"],"orderful_x12_codes":["IA","VR"],"orderful_edifact_paths":["ORDERS:reference_group.*.reference | referenceCodeQualifier=IA,VR"],"orderful_edifact_codes":["IA","VR"],"type":"object","properties":{"value":{"description":"The reference identifier value","type":"string"},"description":{"description":"Additional description or context for the reference","type":"string"}},"additionalProperties":false},"merchandiseTypeCode":{"description":"Code classifying the type of merchandise","orderful_x12_path":["850:referenceInformation.* | referenceIdentificationQualifier=MR","875:extendedReferenceInformation.* | referenceIdentificationQualifier=MR"],"orderful_x12_codes":["MR"],"type":"object","properties":{"value":{"description":"The reference identifier value","type":"string"},"description":{"description":"Additional description or context for the reference","type":"string"}},"additionalProperties":false},"pricingQuote":{"description":"Pricing quote reference number","orderful_x12_path":["850:referenceInformation.* | referenceIdentificationQualifier=PR","875:extendedReferenceInformation.* | referenceIdentificationQualifier=PR"],"orderful_x12_codes":["PR"],"orderful_edifact_paths":["ORDERS:reference_group.*.reference | referenceCodeQualifier=PR"],"orderful_edifact_codes":["PR"],"type":"object","properties":{"value":{"description":"The reference identifier value","type":"string"},"description":{"description":"Additional description or context for the reference","type":"string"}},"additionalProperties":false},"promotionNumber":{"description":"Promotional campaign or deal identifier","orderful_x12_path":["850:referenceInformation.* | referenceIdentificationQualifier=PD","875:extendedReferenceInformation.* | referenceIdentificationQualifier=PD"],"orderful_x12_codes":["PD"],"orderful_edifact_paths":["ORDERS:reference_group.*.reference | referenceCodeQualifier=PD"],"orderful_edifact_codes":["PD"],"type":"object","properties":{"value":{"description":"The reference identifier value","type":"string"},"description":{"description":"Additional description or context for the reference","type":"string"}},"additionalProperties":false},"storeNumber":{"description":"Retail store location identifier","orderful_x12_path":["850:referenceInformation.* | referenceIdentificationQualifier=ST","875:extendedReferenceInformation.* | referenceIdentificationQualifier=ST"],"orderful_x12_codes":["ST"],"type":"object","properties":{"value":{"description":"The reference identifier value","type":"string"},"description":{"description":"Additional description or context for the reference","type":"string"}},"additionalProperties":false},"thirdPartyReferenceNumber":{"description":"Reference number from a third-party system","orderful_x12_path":["850:referenceInformation.* | referenceIdentificationQualifier=GK","875:extendedReferenceInformation.* | referenceIdentificationQualifier=GK"],"orderful_x12_codes":["GK"],"type":"object","properties":{"value":{"description":"The reference identifier value","type":"string"},"description":{"description":"Additional description or context for the reference","type":"string"}},"additionalProperties":false},"warehouseStorageLocation":{"description":"Warehouse or storage location identifier","orderful_x12_path":["850:referenceInformation.* | referenceIdentificationQualifier=WS,WH","875:extendedReferenceInformation.* | referenceIdentificationQualifier=WS,WH"],"orderful_x12_codes":["WS","WH"],"orderful_edifact_paths":["ORDERS:reference_group.*.reference | referenceCodeQualifier=WS"],"orderful_edifact_codes":["WS"],"type":"object","properties":{"value":{"description":"The reference identifier value","type":"string"},"description":{"description":"Additional description or context for the reference","type":"string"}},"additionalProperties":false}},"additionalProperties":false},"carrierDetails":{"description":"Carrier and shipping details for the acknowledgment","orderful_x12_path":["855:FOBRelatedInstructions"],"type":"object","properties":{"freeOnBoard":{"description":"FOB (Free on Board) terms and conditions","orderful_x12_path":["855:FOBRelatedInstructions"],"type":"array","items":{"type":"object","properties":{"methodOfPayment":{"type":"string","enum":["airCollect","airPrepaid","paidByBuyer","collect","mutuallyAgreed","portOfCall","halfPrepaid","mixed","serviceFreightNoCharge","advancePrepaid","customerPickupBackhaul","prepaidChargeCustomer","prepaidBySeller","paidBySeller","pickup","thirdPartyPay"],"description":"Freight payment method","orderful_x12_path":["856:HL_loop.*.FOBRelatedInstructions.*.shipmentMethodOfPaymentCode"],"orderful_enum_meta":{"airCollect":{"description":"Air collect payment","orderful_x12_codes":["AC"]},"airPrepaid":{"description":"Air prepaid payment","orderful_x12_codes":["AP"]},"paidByBuyer":{"description":"Freight paid by buyer","orderful_x12_codes":["BP"]},"collect":{"description":"Collect payment","orderful_x12_codes":["CC"]},"mutuallyAgreed":{"description":"Mutually agreed payment method","orderful_x12_codes":["DF"]},"portOfCall":{"description":"Port of call payment","orderful_x12_codes":["FO"]},"halfPrepaid":{"description":"Half prepaid payment","orderful_x12_codes":["HP"]},"mixed":{"description":"Mixed payment method","orderful_x12_codes":["MX"]},"serviceFreightNoCharge":{"description":"Service freight with no charge","orderful_x12_codes":["NC"]},"advancePrepaid":{"description":"Advance prepaid payment","orderful_x12_codes":["PA"]},"customerPickupBackhaul":{"description":"Customer pickup or backhaul","orderful_x12_codes":["PB"]},"prepaidChargeCustomer":{"description":"Prepaid and charged to customer","orderful_x12_codes":["PC"]},"prepaidBySeller":{"description":"Prepaid by seller","orderful_x12_codes":["PP"]},"paidBySeller":{"description":"Freight paid by seller","orderful_x12_codes":["PS"]},"pickup":{"description":"Pickup by consignee","orderful_x12_codes":["PU"]},"thirdPartyPay":{"description":"Third party pays freight","orderful_x12_codes":["TP"]}}},"locationType":{"type":"string","enum":["cityAndState","country","destination","origin","stateProvince","warehouse"],"description":"Type of FOB location","orderful_x12_path":["856:HL_loop.*.FOBRelatedInstructions.*.locationQualifier"],"orderful_enum_meta":{"cityAndState":{"description":"City and state location","orderful_x12_codes":["AC"]},"country":{"description":"Country location","orderful_x12_codes":["CA","CC"]},"destination":{"description":"Destination location","orderful_x12_codes":["DE"]},"origin":{"description":"Origin location","orderful_x12_codes":["OR"]},"stateProvince":{"description":"State or province location","orderful_x12_codes":["SP"]},"warehouse":{"description":"Warehouse location","orderful_x12_codes":["WH"]}}},"locationDescription":{"description":"Description of FOB location","type":"string"},"titlePassageType":{"type":"string","enum":["cityAndState","country","destination","origin","stateProvince","warehouse"],"description":"Type of title passage location","orderful_x12_path":["856:HL_loop.*.FOBRelatedInstructions.*.locationQualifier1"],"orderful_enum_meta":{"cityAndState":{"description":"City and state title passage","orderful_x12_codes":["AC"]},"country":{"description":"Country title passage","orderful_x12_codes":["CA","CC"]},"destination":{"description":"Destination title passage","orderful_x12_codes":["DE"]},"origin":{"description":"Origin title passage","orderful_x12_codes":["OR"]},"stateProvince":{"description":"State or province title passage","orderful_x12_codes":["SP"]},"warehouse":{"description":"Warehouse title passage","orderful_x12_codes":["WH"]}}},"titlePassageDescription":{"description":"Description of title passage location","type":"string"},"transportationTermsSource":{"type":"string","enum":["incoTerms","tradeTerms","mutuallyDefined"],"description":"Source of transportation terms","orderful_x12_path":["856:HL_loop.*.FOBRelatedInstructions.*.transportationTermsQualifierCode"],"orderful_enum_meta":{"incoTerms":{"description":"Incoterms","orderful_x12_codes":["01"]},"tradeTerms":{"description":"Trade terms code","orderful_x12_codes":["02"]},"mutuallyDefined":{"description":"Mutually defined","orderful_x12_codes":["ZZ"]}}},"transportationTerms":{"type":"string","enum":["costAndFreight","costInsuranceAndFreight","carriageAndInsurancePaidTo","carriagePaidTo","deliveredAtFrontier","deliverDutyPaid","deliverDutyUnpaid","deliveredDutyUnpaid","deliveredExQuay","deliveredExShip","domesticallySupplied","exQuay","exShip","exWorks","freeAlongsideShip","freeCarrier","freightCarriageInsurancePaidTo","freightCarriagePaidTo","freeOnBoard","freeOnRail","freeOnTruck","nonPrivilegedForeign","privilegedForeign","mutuallyDefined"],"description":"Incoterms or trade terms code","orderful_x12_path":["856:HL_loop.*.FOBRelatedInstructions.*.transportationTermsCode"],"orderful_enum_meta":{"costAndFreight":{"description":"Cost and freight (CFR)","orderful_x12_codes":["CFR"],"orderful_edifact_codes":["CFR"]},"costInsuranceAndFreight":{"description":"Cost, insurance and freight (CIF)","orderful_x12_codes":["CIF"],"orderful_edifact_codes":["CIF"]},"carriageAndInsurancePaidTo":{"description":"Carriage and insurance paid to (CIP)","orderful_x12_codes":["CIP"],"orderful_edifact_codes":["CIP"]},"carriagePaidTo":{"description":"Carriage paid to (CPT)","orderful_x12_codes":["CPT"],"orderful_edifact_codes":["CPT"]},"deliveredAtFrontier":{"description":"Delivered at frontier (DAF)","orderful_x12_codes":["DAF"],"orderful_edifact_codes":["DAF"]},"deliverDutyPaid":{"description":"Delivered duty paid (DDP)","orderful_x12_codes":["DDP"],"orderful_edifact_codes":["DDP"]},"deliverDutyUnpaid":{"description":"Delivered duty unpaid (DDU)","orderful_x12_codes":["DDU"],"orderful_edifact_codes":["DDU"]},"deliveredDutyUnpaid":{"description":"Delivered duty unpaid variant (DUP)","orderful_x12_codes":["DUP"],"orderful_edifact_codes":["DUP"]},"deliveredExQuay":{"description":"Delivered ex quay (DEQ)","orderful_x12_codes":["DEQ"],"orderful_edifact_codes":["DEQ"]},"deliveredExShip":{"description":"Delivered ex ship (DES)","orderful_x12_codes":["DES"],"orderful_edifact_codes":["DES"]},"domesticallySupplied":{"description":"Domestically supplied (DOM)","orderful_x12_codes":["DOM"],"orderful_edifact_codes":["DOM"]},"exQuay":{"description":"Ex quay (EXQ)","orderful_x12_codes":["EXQ"],"orderful_edifact_codes":["EXQ"]},"exShip":{"description":"Ex ship (EXS)","orderful_x12_codes":["EXS"],"orderful_edifact_codes":["EXS"]},"exWorks":{"description":"Ex works (EXW)","orderful_x12_codes":["EXW"],"orderful_edifact_codes":["EXW"]},"freeAlongsideShip":{"description":"Free alongside ship (FAS)","orderful_x12_codes":["FAS"],"orderful_edifact_codes":["FAS"]},"freeCarrier":{"description":"Free carrier (FCA)","orderful_x12_codes":["FCA"],"orderful_edifact_codes":["FCA"]},"freightCarriageInsurancePaidTo":{"description":"Freight, carriage and insurance paid to (FCI)","orderful_x12_codes":["FCI"],"orderful_edifact_codes":["FCI"]},"freightCarriagePaidTo":{"description":"Freight and carriage paid to (FCP)","orderful_x12_codes":["FCP"],"orderful_edifact_codes":["FCP"]},"freeOnBoard":{"description":"Free on board (FOB)","orderful_x12_codes":["FOB"],"orderful_edifact_codes":["FOB"]},"freeOnRail":{"description":"Free on rail (FOR)","orderful_x12_codes":["FOR"],"orderful_edifact_codes":["FOR"]},"freeOnTruck":{"description":"Free on truck (FOT)","orderful_x12_codes":["FOT"],"orderful_edifact_codes":["FOT"]},"nonPrivilegedForeign":{"description":"Non-privileged foreign status (NPF)","orderful_x12_codes":["NPF"]},"privilegedForeign":{"description":"Privileged foreign status (PPF)","orderful_x12_codes":["PPF"]},"mutuallyDefined":{"description":"Mutually defined terms","orderful_x12_codes":["ZZZ"],"orderful_edifact_codes":["ZZZ"]}}},"riskOfLoss":{"type":"string","enum":["toDestinationBuyer","toFreightEqPointSeller","toPoolPointSeller","toDestinationSeller","mutuallyDefined"],"description":"Risk of loss transfer point","orderful_x12_path":["856:HL_loop.*.FOBRelatedInstructions.*.riskOfLossCode"],"orderful_enum_meta":{"toDestinationBuyer":{"description":"Risk transfers to buyer at destination","orderful_x12_codes":["BY"]},"toFreightEqPointSeller":{"description":"Risk transfers to seller at freight equalization point","orderful_x12_codes":["FE"]},"toPoolPointSeller":{"description":"Risk transfers to seller at pool point","orderful_x12_codes":["PP"]},"toDestinationSeller":{"description":"Risk transfers to seller at destination","orderful_x12_codes":["SE"]},"mutuallyDefined":{"description":"Risk of loss mutually defined","orderful_x12_codes":["ZZ"]}}},"description":{"description":"Additional FOB description","type":"string"}},"additionalProperties":false}}},"additionalProperties":false},"allowances":{"description":"Allowances or discounts applied to the order","orderful_x12_path":["855:SAC_loop.* | allowanceOrChargeIndicatorCode=A"],"orderful_x12_codes":["A"],"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["advertising","defectiveAllowance","discount","freight","handling","newStore","other","promotionalAllowance","quantityDiscount","rebate","restocking","serviceAtPickupOrDelivery","shipping","shippingAndHandling","swell","unsaleableMerchandiseAllowance","volume","warehouse"],"description":"Type of allowance or charge","orderful_x12_path":["856:HL_loop.*.SAC_loop.*.servicePromotionAllowanceOrChargeInformation.*.servicePromotionAllowanceOrChargeCode","875:G68_loop.*.G72_loop.*.allowanceOrCharge.*.allowanceOrChargeCode"],"orderful_enum_meta":{"advertising":{"description":"Advertising allowance or charge","orderful_x12_codes":["A260"]},"defectiveAllowance":{"description":"Defective merchandise allowance","orderful_x12_codes":["C000"]},"discount":{"description":"General discount","orderful_x12_codes":["C310"]},"freight":{"description":"Freight charge","orderful_x12_codes":["D240","53"]},"handling":{"description":"Handling charge","orderful_x12_codes":["D500","61","503"]},"newStore":{"description":"New store allowance","orderful_x12_codes":["E740","E750"]},"other":{"description":"Other allowance or charge","orderful_x12_codes":["F050","499","999"]},"promotionalAllowance":{"description":"Promotional allowance","orderful_x12_codes":["F800","504","47"]},"quantityDiscount":{"description":"Quantity discount","orderful_x12_codes":["F910"]},"rebate":{"description":"Rebate","orderful_x12_codes":["F970"]},"restocking":{"description":"Restocking charge","orderful_x12_codes":["G470"]},"serviceAtPickupOrDelivery":{"description":"Service charge at pickup or delivery","orderful_x12_codes":["E380","54","518"]},"shipping":{"description":"Shipping charge","orderful_x12_codes":["G821"]},"shippingAndHandling":{"description":"Shipping and handling charge","orderful_x12_codes":["G830"]},"swell":{"description":"Swell allowance","orderful_x12_codes":["H560","95"]},"unsaleableMerchandiseAllowance":{"description":"Unsaleable merchandise allowance","orderful_x12_codes":["I410"]},"volume":{"description":"Volume allowance or discount","orderful_x12_codes":["I530"]},"warehouse":{"description":"Warehouse charge or allowance","orderful_x12_codes":["I570","511"]}}},"amount":{"description":"Fixed amount of allowance or charge","type":"string"},"percent":{"description":"Percentage of allowance or charge","type":"string"},"percentBasis":{"description":"Basis for calculating percentage","type":"string","enum":["basePrice"]},"methodOfHandling":{"type":"string","enum":["collect","paidByVendor","paidByCustomer","prepaid"],"description":"How the charge is handled","orderful_x12_path":["856:HL_loop.*.SAC_loop.*.servicePromotionAllowanceOrChargeInformation.*.allowanceOrChargeMethodOfHandlingCode","875:G68_loop.*.G72_loop.*.allowanceOrCharge.*.allowanceOrChargeMethodOfHandlingCode"],"orderful_enum_meta":{"collect":{"description":"Collect from recipient","orderful_x12_codes":["CC"]},"paidByVendor":{"description":"Paid by vendor / price-off invoice (SAC12 05 and 01 are both off-invoice semantics; G7202 02 = Off Invoice)","orderful_x12_codes":["05","01","02"]},"paidByCustomer":{"description":"Paid by customer","orderful_x12_codes":["06"]},"prepaid":{"description":"Prepaid by shipper","orderful_x12_codes":["PP"]}}},"description":{"description":"Description of the allowance or charge","type":"string"}},"required":["type"],"additionalProperties":false}},"charges":{"description":"Additional charges applied to the order","orderful_x12_path":["855:SAC_loop.* | allowanceOrChargeIndicatorCode=C"],"orderful_x12_codes":["C"],"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["advertising","defectiveAllowance","discount","freight","handling","newStore","other","promotionalAllowance","quantityDiscount","rebate","restocking","serviceAtPickupOrDelivery","shipping","shippingAndHandling","swell","unsaleableMerchandiseAllowance","volume","warehouse"],"description":"Type of allowance or charge","orderful_x12_path":["856:HL_loop.*.SAC_loop.*.servicePromotionAllowanceOrChargeInformation.*.servicePromotionAllowanceOrChargeCode","875:G68_loop.*.G72_loop.*.allowanceOrCharge.*.allowanceOrChargeCode"],"orderful_enum_meta":{"advertising":{"description":"Advertising allowance or charge","orderful_x12_codes":["A260"]},"defectiveAllowance":{"description":"Defective merchandise allowance","orderful_x12_codes":["C000"]},"discount":{"description":"General discount","orderful_x12_codes":["C310"]},"freight":{"description":"Freight charge","orderful_x12_codes":["D240","53"]},"handling":{"description":"Handling charge","orderful_x12_codes":["D500","61","503"]},"newStore":{"description":"New store allowance","orderful_x12_codes":["E740","E750"]},"other":{"description":"Other allowance or charge","orderful_x12_codes":["F050","499","999"]},"promotionalAllowance":{"description":"Promotional allowance","orderful_x12_codes":["F800","504","47"]},"quantityDiscount":{"description":"Quantity discount","orderful_x12_codes":["F910"]},"rebate":{"description":"Rebate","orderful_x12_codes":["F970"]},"restocking":{"description":"Restocking charge","orderful_x12_codes":["G470"]},"serviceAtPickupOrDelivery":{"description":"Service charge at pickup or delivery","orderful_x12_codes":["E380","54","518"]},"shipping":{"description":"Shipping charge","orderful_x12_codes":["G821"]},"shippingAndHandling":{"description":"Shipping and handling charge","orderful_x12_codes":["G830"]},"swell":{"description":"Swell allowance","orderful_x12_codes":["H560","95"]},"unsaleableMerchandiseAllowance":{"description":"Unsaleable merchandise allowance","orderful_x12_codes":["I410"]},"volume":{"description":"Volume allowance or discount","orderful_x12_codes":["I530"]},"warehouse":{"description":"Warehouse charge or allowance","orderful_x12_codes":["I570","511"]}}},"amount":{"description":"Fixed amount of allowance or charge","type":"string"},"percent":{"description":"Percentage of allowance or charge","type":"string"},"percentBasis":{"description":"Basis for calculating percentage","type":"string","enum":["basePrice"]},"methodOfHandling":{"type":"string","enum":["collect","paidByVendor","paidByCustomer","prepaid"],"description":"How the charge is handled","orderful_x12_path":["856:HL_loop.*.SAC_loop.*.servicePromotionAllowanceOrChargeInformation.*.allowanceOrChargeMethodOfHandlingCode","875:G68_loop.*.G72_loop.*.allowanceOrCharge.*.allowanceOrChargeMethodOfHandlingCode"],"orderful_enum_meta":{"collect":{"description":"Collect from recipient","orderful_x12_codes":["CC"]},"paidByVendor":{"description":"Paid by vendor / price-off invoice (SAC12 05 and 01 are both off-invoice semantics; G7202 02 = Off Invoice)","orderful_x12_codes":["05","01","02"]},"paidByCustomer":{"description":"Paid by customer","orderful_x12_codes":["06"]},"prepaid":{"description":"Prepaid by shipper","orderful_x12_codes":["PP"]}}},"description":{"description":"Description of the allowance or charge","type":"string"}},"required":["type"],"additionalProperties":false}},"lineItems":{"description":"Line items with their acknowledgment status and details","orderful_x12_path":["855:PO1_loop"],"orderful_x12_notes":["When provided (non-empty), this is the authoritative line list — the writer doesn't backfill missing lines from $purchaseOrder. When omitted or empty, the writer either emits no line detail (if the chosen BAK02 is no-detail like AK/AT/RJ) or synthesizes one ACK_loop per $purchaseOrder line (status:'accepted' → all IA; status:'rejected' → all IR/ID)."],"type":"array","items":{"type":"object","properties":{"purchaseOrderLineId":{"description":"Line item identifier from the original purchase order","orderful_x12_path":["855:PO1_loop.*.baselineItemData.*.assignedIdentification"],"orderful_x12_notes":["PO101 — echoes the line item ID from the originating 850 PO101"],"type":"string"},"productIds":{"type":"object","properties":{"buyerItemNumber":{"description":"Buyer-assigned item number","orderful_x12_codes":["BP","IN","CB","SK","PI","IT","PN","ST"],"orderful_edifact_codes":["BP","IN","SK","IT"],"type":"string"},"vendorItemNumber":{"description":"Vendor-assigned item number (EDIFACT LIN/PIA supplier's item number)","orderful_x12_codes":["VA","VC","VN","VP","MG","MF","SA"],"orderful_edifact_codes":["SA","VN","VP","MF"],"type":"string"},"gtin12":{"description":"GTIN-12 (UPC-A) barcode","orderful_x12_codes":["UP"],"orderful_edifact_codes":["UP"],"type":"string"},"gtin13":{"description":"GTIN-13 (EAN) barcode","orderful_x12_codes":["EN"],"orderful_edifact_codes":["EN","SRV"],"type":"string"},"gtin14":{"description":"GTIN-14 (ITF-14) case code barcode","orderful_x12_codes":["UK"],"type":"string"},"caseCode":{"description":"Case code identifier","orderful_x12_codes":["UI","UN","UA","UB"],"type":"string"},"drugCode":{"description":"National Drug Code (NDC)","orderful_x12_codes":["N1","N2","N3","N4","ND"],"type":"string"},"standardBookNumber":{"description":"ISBN or standard book number","orderful_x12_codes":["IB"],"orderful_edifact_codes":["IB"],"type":"string"},"buyerItemIds":{"description":"Additional buyer product identifiers","orderful_x12_codes":["CB","SK","ST","IT"],"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["catalog","manufacturerPart","sku","style"],"description":"Type of product identifier","orderful_x12_path":["856:HL_loop.*.itemIdentification.*.productServiceIDQualifier","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier1","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier2","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier3","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier4","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier5","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier6","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier7","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier8","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier9","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier10","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier11","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier12","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier13","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier14"],"orderful_enum_meta":{"catalog":{"description":"Catalog number (buyer catalog reference)","orderful_x12_codes":["CB","VC"]},"manufacturerPart":{"description":"Manufacturer part number","orderful_x12_codes":["MG","MF"]},"sku":{"description":"Stock keeping unit identifier","orderful_x12_codes":["SK"]},"style":{"description":"Style number or code","orderful_x12_codes":["ST","IT","VA"]}}},"value":{"type":"string","description":"Product identifier value"}},"required":["type","value"],"additionalProperties":false}},"vendorItemIds":{"description":"Additional vendor product identifiers","orderful_x12_codes":["VC","MG","VA","MF"],"orderful_edifact_codes":["MF"],"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["catalog","manufacturerPart","sku","style"],"description":"Type of product identifier","orderful_x12_path":["856:HL_loop.*.itemIdentification.*.productServiceIDQualifier","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier1","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier2","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier3","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier4","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier5","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier6","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier7","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier8","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier9","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier10","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier11","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier12","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier13","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier14"],"orderful_enum_meta":{"catalog":{"description":"Catalog number (buyer catalog reference)","orderful_x12_codes":["CB","VC"]},"manufacturerPart":{"description":"Manufacturer part number","orderful_x12_codes":["MG","MF"]},"sku":{"description":"Stock keeping unit identifier","orderful_x12_codes":["SK"]},"style":{"description":"Style number or code","orderful_x12_codes":["ST","IT","VA"]}}},"value":{"type":"string","description":"Product identifier value"}},"required":["type","value"],"additionalProperties":false}}},"additionalProperties":false,"description":"Product identification codes such as UPC, SKU, or vendor item number","orderful_x12_notes":["PO106/PO107 qualifier+value pair. Must match the originating 850 PO106/PO107."],"orderful_x12_path":["855:PO1_loop.*.baselineItemData.*"]},"productAttributes":{"description":"Product attributes such as color, size, and description","orderful_x12_path":["855:PO1_loop.*.PID_loop.*.productItemDescription.*"],"type":"object","properties":{"description":{"description":"General product description. Sourced from X12 PID05 when PID02=\"08\" (Product Description, general) or when PID02 is absent. In EDIFACT, sourced from EVERY IMD composite for this line item where itemDescriptionCode=\"SP\" (Product) — there may be MULTIPLE matching IMD repetitions per line item, and ALL of them must be included. Within each matching IMD, concatenate itemDescription + itemDescription_1 (the continuation field) with a single space; then $join those per-IMD strings across ALL matching IMDs with a single space separator. Do NOT pick only the first matching IMD — partners commonly split a long description across multiple IMD segments because each itemDescription element is capped at 35 characters. The qualifier code \"SP\" (or X12 \"08\") is positional — it identifies which IMDs carry the product description, and must NOT be reported as a schema gap.","orderful_edifact_paths":["ORDERS:lineItem_group.*.itemDescription.*.itemDescription_composite | itemDescriptionCode=SP"],"orderful_edifact_codes":["SP"],"type":"string"},"shortDescription":{"description":"{\"description\":\"Short product description\"}","type":"string"},"brand":{"description":"Brand or label name for the product","orderful_x12_path":["850:PO1_loop.*.referenceInformation.* | referenceIdentificationQualifier=2N","850:PO1_loop.*.baselineItemData.*.productServiceID | productServiceIDQualifier=BL","850:PO1_loop.*.N1_loop.*.partyIdentification.*.name | entityIdentifierCode=BRN","860:POC_loop.*.referenceInformation.* | referenceIdentificationQualifier=2N","860:POC_loop.*.lineItemChange.*.productServiceID | productServiceIDQualifier=BL","860:POC_loop.*.N1_loop.*.partyIdentification.*.name | entityIdentifierCode=BRN"],"orderful_x12_codes":["2N","BL","BRN"],"orderful_x12_notes":["REF02 when REF01=2N; PO107/09.. when PO106/08..=BL; N102 when N101=BRN"],"type":"string"},"colorCode":{"description":"Color code identifier","orderful_x12_codes":["BO","CM","VE"],"type":"string"},"colorDescription":{"description":"Color description text","orderful_x12_codes":["73","75"],"orderful_x12_path":["943:W04_loop.*.lineItemDetail1.*.color"],"type":"string"},"sizeCode":{"description":"Size code identifier","orderful_x12_codes":["IZ","SM","SZ"],"type":"string"},"sizeDescription":{"description":"Size description text","orderful_x12_codes":["74","91"],"type":"string"},"materialCode":{"description":"Material code identifier","orderful_x12_codes":["KJ"],"type":"string"},"materialDescription":{"description":"Material description text","orderful_x12_codes":["78","92","AH"],"type":"string"},"materialAttributes":{"type":"object","properties":{"type":{"description":"Material type or classification","type":"string"},"grade":{"description":"Material grade or quality tier (e.g., prime, excessPrime, waste)","type":"string"},"annealMethod":{"description":"Annealing method applied to the material","type":"string"},"temper":{"description":"Heat treatment or mechanical processing state of the material","type":"string"},"finish":{"description":"Surface finish or texture applied to the material","type":"string"},"outerCoating":{"description":"Outer surface coating or plating","type":"string"},"innerCoating":{"description":"Inner surface coating or plating","type":"string"},"surfaceProtection":{"description":"Surface protection method or specification","type":"string"},"treatment":{"description":"Chemical or mechanical treatment applied to the material","type":"string"},"weld":{"description":"Welding specification or classification for the material","type":"string"}},"additionalProperties":false},"processCode":{"description":"Process code identifier","orderful_x12_codes":["PR"],"type":"string"},"processDescription":{"description":"Process description text","orderful_x12_codes":["12","PP","PR"],"type":"string"},"height":{"description":"Product height dimension","type":"string"},"length":{"description":"Product length dimension","type":"string"},"width":{"description":"Product width dimension","type":"string"},"dimensionUOM":{"type":"string","enum":["standardCubicFoot","boardFeet","hundredBoardFeet","cubicDecimeter","cubicCentimeter","cubicFeet","cubicInches","centimeter","cubicMeter","cubicYard","decimeter","foot","hundredFeet","hundredFeetLinear","hundredSquareFeet","hundredYards","inch","linearFoot","linearMeter","linearYard","millimeter","meter","squareFoot","squareInches","squareMeter","squareYard","thousandSquareInches","thousandFeetLinear","thousandFeetBoard","tenSquareFeet","thousandSquareFeet","yard"],"description":"Unit of measure for product dimensions","orderful_enum_meta":{"standardCubicFoot":{"description":"Standard cubic foot","orderful_x12_codes":["5I"]},"boardFeet":{"description":"Board feet measure","orderful_x12_codes":["BF"]},"hundredBoardFeet":{"description":"Hundred board feet measure","orderful_x12_codes":["BP"]},"cubicDecimeter":{"description":"Cubic decimeter","orderful_x12_codes":["C8"]},"cubicCentimeter":{"description":"Cubic centimeter","orderful_x12_codes":["CC"]},"cubicFeet":{"description":"Cubic feet","orderful_x12_codes":["CF"]},"cubicInches":{"description":"Cubic inches","orderful_x12_codes":["CI"]},"centimeter":{"description":"Centimeter length measure","orderful_x12_codes":["CM"]},"cubicMeter":{"description":"Cubic meter","orderful_x12_codes":["CR"]},"cubicYard":{"description":"Cubic yard","orderful_x12_codes":["CY"]},"decimeter":{"description":"Decimeter length measure","orderful_x12_codes":["DM"]},"foot":{"description":"Foot length measure","orderful_x12_codes":["FT"]},"hundredFeet":{"description":"Hundred feet measure","orderful_x12_codes":["HF"]},"hundredFeetLinear":{"description":"Hundred linear feet measure","orderful_x12_codes":["HL"]},"hundredSquareFeet":{"description":"Hundred square feet measure","orderful_x12_codes":["HS"]},"hundredYards":{"description":"Hundred yards measure","orderful_x12_codes":["HY"]},"inch":{"description":"Inch length measure","orderful_x12_codes":["IN"]},"linearFoot":{"description":"Linear foot measure","orderful_x12_codes":["LF"]},"linearMeter":{"description":"Linear meter measure","orderful_x12_codes":["LM"]},"linearYard":{"description":"Linear yard measure","orderful_x12_codes":["LY"]},"millimeter":{"description":"Millimeter length measure","orderful_x12_codes":["MM"]},"meter":{"description":"Meter length measure","orderful_x12_codes":["MR"]},"squareFoot":{"description":"Square foot area measure","orderful_x12_codes":["SF"]},"squareInches":{"description":"Square inches area measure","orderful_x12_codes":["SI"]},"squareMeter":{"description":"Square meter area measure","orderful_x12_codes":["SM"]},"squareYard":{"description":"Square yard area measure","orderful_x12_codes":["SY"]},"thousandSquareInches":{"description":"Thousand square inches area measure","orderful_x12_codes":["TI"]},"thousandFeetLinear":{"description":"Thousand linear feet measure","orderful_x12_codes":["TL"]},"thousandFeetBoard":{"description":"Thousand board feet measure","orderful_x12_codes":["TM"]},"tenSquareFeet":{"description":"Ten square feet area measure","orderful_x12_codes":["TR"]},"thousandSquareFeet":{"description":"Thousand square feet area measure","orderful_x12_codes":["TS"]},"yard":{"description":"Yard length measure","orderful_x12_codes":["YD"]}}}},"additionalProperties":false},"orderQuantity":{"description":"Quantity originally requested on the purchase order. Compare against an accepted action's quantity to detect changes.","orderful_x12_path":["855:PO1_loop.*.baselineItemData.*.quantity"],"orderful_x12_notes":["PO102/PO103 — echoed from the originating 850 PO102/PO103"],"type":"object","properties":{"value":{"type":"string","description":"Numeric quantity value"},"unitOfMeasure":{"description":"Unit of measure for the quantity","type":"string","enum":["assembly","assortment","bag","bale","ball","bar","barrel","belt","bin","block","boardFeet","bolt","book","bottle","box","bulk","bundle","bushel","cake","can","card","carton","cartridge","case","cassette","celsius","cell","centigram","centiliter","centimeter","coil","combo","cone","container","count","cover","display","dozen","drum","each","flakeTon","foot","gallon","gram","gramsPerLiter","inch","kilogram","kit","knots","linearFoot","liter","meter","milliliter","monetaryValue","ocularInsertSystem","order","ounce","packPAK","package","pad","pail","pair","pairInches","palletLift","palletUnitLoad","person","piece","pint","pound","poundEquivalent","poundGross","quart","reel","roll","section","set","sheet","sixPack","squareFoot","syringe","thousand","threePack","tote","tube","unit","vial"],"orderful_x12_path":["856:HL_loop.*.itemDetailShipment.*.unitOrBasisForMeasurementCode","856:HL_loop.*.itemDetailShipment.*.unitOrBasisForMeasurementCode1","856:HL_loop.*.sublineItemDetail.*.unitOrBasisForMeasurementCode"],"orderful_enum_meta":{"assembly":{"description":"Assembly — set of manufactured components combined into a functional unit","orderful_x12_codes":["AY"]},"assortment":{"description":"Assortment — mixed selection of multiple SKUs or item types in one unit","orderful_x12_codes":["AS"]},"bag":{"description":"Bag — flexible container; used for produce, grains, or loose items","orderful_x12_codes":["BG"]},"bale":{"description":"Bale — compressed bundle; used for textiles, paper, or agricultural products","orderful_x12_codes":["BA"]},"ball":{"description":"Ball — spherical wound unit; used for yarn, twine, or wire","orderful_x12_codes":["AA"]},"bar":{"description":"Bar — rigid elongated unit; used for metal stock, soap, or food products","orderful_x12_codes":["BI"]},"barrel":{"description":"Barrel — cylindrical container; standard 42-gallon oil barrel or general dry goods","orderful_x12_codes":["BR"]},"belt":{"description":"Belt — long continuous flat strip sold by unit; used for conveyor or drive belts","orderful_x12_codes":["BT"]},"bin":{"description":"Bin — open-top storage container for bulk loose items","orderful_x12_codes":["2W"]},"block":{"description":"Block — solid rectangular unit; used for cheese, ice, or masonry materials","orderful_x12_codes":["BL"]},"boardFeet":{"description":"Board feet — lumber volume unit; 1 ft × 1 ft × 1 in thick","orderful_x12_codes":["BF"]},"bolt":{"description":"Bolt — roll of fabric measured in linear yards","orderful_x12_codes":["BM"]},"book":{"description":"Book — bound or tabbed unit; used for matches, stamps, or checks","orderful_x12_codes":["BK"]},"bottle":{"description":"Bottle — rigid container with a narrow neck; used for liquids","orderful_x12_codes":["BO"]},"box":{"description":"Box — rigid rectangular container; standard retail or shipping unit","orderful_x12_codes":["BX"]},"bulk":{"description":"Bulk — unpackaged loose quantity; no individual container or wrapping","orderful_x12_codes":["BN"]},"bundle":{"description":"Bundle — group of items tied or strapped together; used for rebar, pipes, lumber","orderful_x12_codes":["BD"]},"bushel":{"description":"Bushel — dry volume; 64 US pints; used for grain and produce","orderful_x12_codes":["BU"]},"cake":{"description":"Cake — compressed solid block; used for yeast, soap, or wax","orderful_x12_codes":["KA"]},"can":{"description":"Can — metal sealed cylindrical container","orderful_x12_codes":["CN"]},"card":{"description":"Card — flat backing card; used for hanging retail blister packs","orderful_x12_codes":["CG"]},"carton":{"description":"Carton — paperboard box; typical inner or outer shipping container","orderful_x12_codes":["CT"]},"cartridge":{"description":"Cartridge — self-contained replaceable unit; used for ink, filters, or ammunition","orderful_x12_codes":["CQ"]},"case":{"description":"Case — outer shipping container holding multiple inner units; most common shipper UOM","orderful_x12_codes":["CA"]},"cassette":{"description":"Cassette — enclosed tape or cartridge format; used for media, ribbon, or film","orderful_x12_codes":["CS"]},"celsius":{"description":"Celsius — temperature unit; used when a quantity represents a temperature value","orderful_x12_codes":["CE"]},"cell":{"description":"Cell — individual battery cell or biological sample unit","orderful_x12_codes":["C6"]},"centigram":{"description":"Centigram — 0.01 gram; unit of mass for small precise quantities","orderful_x12_codes":["AF"]},"centiliter":{"description":"Centiliter — 0.01 liter; unit of liquid volume for small quantities","orderful_x12_codes":["C3"]},"centimeter":{"description":"Centimeter — 0.01 meter; unit of length","orderful_x12_codes":["CM"]},"coil":{"description":"Coil — wound continuous material; used for wire, steel strip, hose, or tubing","orderful_x12_codes":["CX"]},"combo":{"description":"Combo — bundled multi-component set sold as a single unit","orderful_x12_codes":["CZ"]},"cone":{"description":"Cone — conical spindle or spool; used for thread or yarn","orderful_x12_codes":["CJ"]},"container":{"description":"Container — generic shipping container; use when no more specific form applies","orderful_x12_codes":["CH"]},"count":{"description":"Count — generic numerical count of individual items; prefer each (EA) when count equals 1","orderful_x12_codes":["1N"]},"cover":{"description":"Cover — individual lid or covering unit","orderful_x12_codes":["CV"]},"display":{"description":"Display — shelf-ready PDQ or floor display holding multiple retail units","orderful_x12_codes":["DS"]},"dozen":{"description":"Dozen — 12 units; standard quantity for eggs, bottles, and similar items","orderful_x12_codes":["DZ"]},"drum":{"description":"Drum — large cylindrical container; typically 55 gallons; used for chemicals and liquids","orderful_x12_codes":["DR"]},"each":{"description":"Each — single individual unit; default UOM when no other code applies","orderful_x12_codes":["EA"]},"flakeTon":{"description":"Flake ton — ton measured in flake form; used for flaked or pelletized bulk material","orderful_x12_codes":["FL"]},"foot":{"description":"Foot — imperial length; 12 inches; used for lumber, pipe, and fabric","orderful_x12_codes":["FT"]},"gallon":{"description":"Gallon — US liquid volume; 128 fluid ounces; used for paint, chemicals, and beverages","orderful_x12_codes":["GA"]},"gram":{"description":"Gram — metric unit of mass; used for small weight quantities in food and pharma","orderful_x12_codes":["GR"]},"gramsPerLiter":{"description":"Grams per liter — solution concentration unit; used in chemical and food industries","orderful_x12_codes":["GL"]},"inch":{"description":"Inch — imperial length; 1/12 foot; used for dimensions and hardware","orderful_x12_codes":["IN"]},"kilogram":{"description":"Kilogram — 1,000 grams; standard metric weight UOM in international trade","orderful_x12_codes":["KG"]},"kit":{"description":"Kit — predefined set of parts packaged together for assembly or installation","orderful_x12_codes":["KT"]},"knots":{"description":"Knots — nautical speed (nm/hr); used in marine shipping contexts","orderful_x12_codes":["EH"]},"linearFoot":{"description":"Linear foot — length in feet regardless of width; used for trim, cable, and fabric","orderful_x12_codes":["LF"]},"liter":{"description":"Liter — metric liquid volume; ~1.057 US quarts; standard international liquid UOM","orderful_x12_codes":["LT"]},"meter":{"description":"Meter — base metric unit of length; ~39.37 inches","orderful_x12_codes":["MR"]},"milliliter":{"description":"Milliliter — 0.001 liter; used for small liquid quantities in pharma and beverages","orderful_x12_codes":["ML"]},"monetaryValue":{"description":"Monetary value — quantity expressed as a currency amount","orderful_x12_codes":["M4"]},"ocularInsertSystem":{"description":"Ocular insert system — pharmaceutical ophthalmic delivery unit placed in the eye","orderful_x12_codes":["AU"]},"order":{"description":"Order — entire purchase order treated as a single billable unit","orderful_x12_codes":["ET"]},"ounce":{"description":"Ounce — imperial weight; 1/16 pound; common in US food and retail","orderful_x12_codes":["OZ"]},"packPAK":{"description":"Pack (PAK) — sealed multi-unit retail pack; use instead of package (PK) when the pack form is specifically a PAK","orderful_x12_codes":["PH"]},"package":{"description":"Package — general-purpose shipping or retail package; use when the pack type is unspecified","orderful_x12_codes":["PK"]},"pad":{"description":"Pad — flat stacked unit; used for paper notepads or sticker sheets","orderful_x12_codes":["PD"]},"pail":{"description":"Pail — small open-top bucket, typically 1–5 gallons; used for paint and adhesives","orderful_x12_codes":["PA"]},"pair":{"description":"Pair — two matching items sold together (shoes, gloves, socks)","orderful_x12_codes":["PR"]},"pairInches":{"description":"Pair inches — pipe fitting measurement; a pair measured in inches","orderful_x12_codes":["PB"]},"palletLift":{"description":"Pallet lift (PF) — individual pallet; use when counting or billing by pallet. Distinct from palletUnitLoad (PL) which is the complete loaded pallet","orderful_x12_codes":["PF"]},"palletUnitLoad":{"description":"Pallet unit load (PL) — complete loaded pallet as shipped, including goods and pallet. Distinct from palletLift (PF) which counts the pallet itself","orderful_x12_codes":["PL"]},"person":{"description":"Person — individual person; used for labor, staffing, or capacity billing","orderful_x12_codes":["IE"]},"piece":{"description":"Piece — individual item not in a standard retail package; used for industrial and bulk parts","orderful_x12_codes":["PC"]},"pint":{"description":"Pint — liquid volume; 16 US fluid ounces","orderful_x12_codes":["PT"]},"pound":{"description":"Pound — imperial weight; most common weight UOM in US grocery and distribution","orderful_x12_codes":["LB","01","PN"]},"poundEquivalent":{"description":"Pound equivalent — standardized weight comparison unit; used in apparel and textile industries","orderful_x12_codes":["PE"]},"poundGross":{"description":"Pound gross — total weight including all packaging and the container itself","orderful_x12_codes":["PG"]},"quart":{"description":"Quart — US liquid volume unit; 0.946 liters; used for paint, motor oil, and liquids sold in quart containers","orderful_x12_codes":["QT"]},"reel":{"description":"Reel — cylindrical spool unit; used for wire, cable, film, or tape wound on a hub","orderful_x12_codes":["RE"]},"roll":{"description":"Roll — cylindrical wrapped unit; used for paper, fabric, or flexible material rolled without a rigid hub. Distinct from reel (RE) which has a hub","orderful_x12_codes":["RL"]},"section":{"description":"Section — subdivision of a larger structure sold as a distinct piece; used in furniture, shelving, or land measurement","orderful_x12_codes":["SE"]},"set":{"description":"Set — defined collection of matched or functionally related items sold together; use when items are inseparable as a set","orderful_x12_codes":["ST"]},"sheet":{"description":"Sheet — single flat panel unit; used for glass, metal, plywood, drywall, or paper sold in flat cut pieces","orderful_x12_codes":["SH"]},"sixPack":{"description":"Six-pack (6P) — fixed retail grouping of exactly 6 units; use for beverages or consumer goods sold as a pre-packaged six. Distinct from threePack (P3)","orderful_x12_codes":["P6"]},"squareFoot":{"description":"Square foot — area unit; 144 square inches; used for flooring, roofing, fabric, and surface-area pricing","orderful_x12_codes":["SF"]},"syringe":{"description":"Syringe — pre-filled or unit-dose injectable pharmaceutical unit","orderful_x12_codes":["SZ"]},"thousand":{"description":"Thousand (M) — quantity multiplier; used when pricing or ordering in increments of 1,000 (e.g., fasteners, bricks, sheets). Distinct from each (EA)","orderful_x12_codes":["TH"]},"threePack":{"description":"Three-pack (P3) — fixed retail grouping of exactly 3 units; use for consumer goods sold as a pre-packaged triple. Distinct from sixPack (6P)","orderful_x12_codes":["P3"]},"tote":{"description":"Tote — large reusable open-top container or bin; used in warehouse and bulk distribution settings","orderful_x12_codes":["TE"]},"tube":{"description":"Tube — cylindrical dispensing container; used for adhesives, ointments, toothpaste, or caulk sold in squeezable tubes","orderful_x12_codes":["TB"]},"unit":{"description":"Unit (UN) — generic count when no specific UOM code applies; use as a last resort when the item type does not match any other code","orderful_x12_codes":["UN"]},"vial":{"description":"Vial — small sealed glass or plastic container; used for injectable drugs, reagents, or laboratory specimens","orderful_x12_codes":["VI"]}}}},"required":["value"],"additionalProperties":false},"orderUnitPrice":{"description":"Unit price originally requested on the purchase order. Compare against an accepted action's unitCostPrice to detect price changes.","orderful_x12_notes":["Sourced from the originating 850 PO104 — not a native 855 field; populated by mapping enrichment from the corresponding 850"],"type":"string"},"requestedShipDate":{"description":"Ship date originally requested on the purchase order. Compare against an accepted action's scheduledShipDate to detect date changes.","orderful_x12_codes":["010"],"orderful_x12_path":["855:PO1_loop.*.dateTimeReference.* | dateTimeQualifier=010"],"orderful_x12_notes":["DTM02 with DTM01=010 — echoed from the originating 850"],"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}]},"requestedDeliveryDate":{"description":"Delivery date originally requested on the purchase order. Compare against an accepted action's estimatedDeliveryDate to detect date changes.","orderful_x12_codes":["017"],"orderful_x12_path":["855:PO1_loop.*.dateTimeReference.* | dateTimeQualifier=017"],"orderful_x12_notes":["DTM02 with DTM01=017 — echoed from the originating 850"],"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}]},"carrierDetails":{"description":"Carrier and shipping details for this line item","orderful_x12_path":["855:PO1_loop.*.FOBRelatedInstructions"],"type":"object","properties":{"freeOnBoard":{"description":"FOB (Free on Board) terms and conditions for this line item","orderful_x12_path":["855:PO1_loop.*.FOBRelatedInstructions"],"type":"array","items":{"type":"object","properties":{"methodOfPayment":{"type":"string","enum":["airCollect","airPrepaid","paidByBuyer","collect","mutuallyAgreed","portOfCall","halfPrepaid","mixed","serviceFreightNoCharge","advancePrepaid","customerPickupBackhaul","prepaidChargeCustomer","prepaidBySeller","paidBySeller","pickup","thirdPartyPay"],"description":"Freight payment method","orderful_x12_path":["856:HL_loop.*.FOBRelatedInstructions.*.shipmentMethodOfPaymentCode"],"orderful_enum_meta":{"airCollect":{"description":"Air collect payment","orderful_x12_codes":["AC"]},"airPrepaid":{"description":"Air prepaid payment","orderful_x12_codes":["AP"]},"paidByBuyer":{"description":"Freight paid by buyer","orderful_x12_codes":["BP"]},"collect":{"description":"Collect payment","orderful_x12_codes":["CC"]},"mutuallyAgreed":{"description":"Mutually agreed payment method","orderful_x12_codes":["DF"]},"portOfCall":{"description":"Port of call payment","orderful_x12_codes":["FO"]},"halfPrepaid":{"description":"Half prepaid payment","orderful_x12_codes":["HP"]},"mixed":{"description":"Mixed payment method","orderful_x12_codes":["MX"]},"serviceFreightNoCharge":{"description":"Service freight with no charge","orderful_x12_codes":["NC"]},"advancePrepaid":{"description":"Advance prepaid payment","orderful_x12_codes":["PA"]},"customerPickupBackhaul":{"description":"Customer pickup or backhaul","orderful_x12_codes":["PB"]},"prepaidChargeCustomer":{"description":"Prepaid and charged to customer","orderful_x12_codes":["PC"]},"prepaidBySeller":{"description":"Prepaid by seller","orderful_x12_codes":["PP"]},"paidBySeller":{"description":"Freight paid by seller","orderful_x12_codes":["PS"]},"pickup":{"description":"Pickup by consignee","orderful_x12_codes":["PU"]},"thirdPartyPay":{"description":"Third party pays freight","orderful_x12_codes":["TP"]}}},"locationType":{"type":"string","enum":["cityAndState","country","destination","origin","stateProvince","warehouse"],"description":"Type of FOB location","orderful_x12_path":["856:HL_loop.*.FOBRelatedInstructions.*.locationQualifier"],"orderful_enum_meta":{"cityAndState":{"description":"City and state location","orderful_x12_codes":["AC"]},"country":{"description":"Country location","orderful_x12_codes":["CA","CC"]},"destination":{"description":"Destination location","orderful_x12_codes":["DE"]},"origin":{"description":"Origin location","orderful_x12_codes":["OR"]},"stateProvince":{"description":"State or province location","orderful_x12_codes":["SP"]},"warehouse":{"description":"Warehouse location","orderful_x12_codes":["WH"]}}},"locationDescription":{"description":"Description of FOB location","type":"string"},"titlePassageType":{"type":"string","enum":["cityAndState","country","destination","origin","stateProvince","warehouse"],"description":"Type of title passage location","orderful_x12_path":["856:HL_loop.*.FOBRelatedInstructions.*.locationQualifier1"],"orderful_enum_meta":{"cityAndState":{"description":"City and state title passage","orderful_x12_codes":["AC"]},"country":{"description":"Country title passage","orderful_x12_codes":["CA","CC"]},"destination":{"description":"Destination title passage","orderful_x12_codes":["DE"]},"origin":{"description":"Origin title passage","orderful_x12_codes":["OR"]},"stateProvince":{"description":"State or province title passage","orderful_x12_codes":["SP"]},"warehouse":{"description":"Warehouse title passage","orderful_x12_codes":["WH"]}}},"titlePassageDescription":{"description":"Description of title passage location","type":"string"},"transportationTermsSource":{"type":"string","enum":["incoTerms","tradeTerms","mutuallyDefined"],"description":"Source of transportation terms","orderful_x12_path":["856:HL_loop.*.FOBRelatedInstructions.*.transportationTermsQualifierCode"],"orderful_enum_meta":{"incoTerms":{"description":"Incoterms","orderful_x12_codes":["01"]},"tradeTerms":{"description":"Trade terms code","orderful_x12_codes":["02"]},"mutuallyDefined":{"description":"Mutually defined","orderful_x12_codes":["ZZ"]}}},"transportationTerms":{"type":"string","enum":["costAndFreight","costInsuranceAndFreight","carriageAndInsurancePaidTo","carriagePaidTo","deliveredAtFrontier","deliverDutyPaid","deliverDutyUnpaid","deliveredDutyUnpaid","deliveredExQuay","deliveredExShip","domesticallySupplied","exQuay","exShip","exWorks","freeAlongsideShip","freeCarrier","freightCarriageInsurancePaidTo","freightCarriagePaidTo","freeOnBoard","freeOnRail","freeOnTruck","nonPrivilegedForeign","privilegedForeign","mutuallyDefined"],"description":"Incoterms or trade terms code","orderful_x12_path":["856:HL_loop.*.FOBRelatedInstructions.*.transportationTermsCode"],"orderful_enum_meta":{"costAndFreight":{"description":"Cost and freight (CFR)","orderful_x12_codes":["CFR"],"orderful_edifact_codes":["CFR"]},"costInsuranceAndFreight":{"description":"Cost, insurance and freight (CIF)","orderful_x12_codes":["CIF"],"orderful_edifact_codes":["CIF"]},"carriageAndInsurancePaidTo":{"description":"Carriage and insurance paid to (CIP)","orderful_x12_codes":["CIP"],"orderful_edifact_codes":["CIP"]},"carriagePaidTo":{"description":"Carriage paid to (CPT)","orderful_x12_codes":["CPT"],"orderful_edifact_codes":["CPT"]},"deliveredAtFrontier":{"description":"Delivered at frontier (DAF)","orderful_x12_codes":["DAF"],"orderful_edifact_codes":["DAF"]},"deliverDutyPaid":{"description":"Delivered duty paid (DDP)","orderful_x12_codes":["DDP"],"orderful_edifact_codes":["DDP"]},"deliverDutyUnpaid":{"description":"Delivered duty unpaid (DDU)","orderful_x12_codes":["DDU"],"orderful_edifact_codes":["DDU"]},"deliveredDutyUnpaid":{"description":"Delivered duty unpaid variant (DUP)","orderful_x12_codes":["DUP"],"orderful_edifact_codes":["DUP"]},"deliveredExQuay":{"description":"Delivered ex quay (DEQ)","orderful_x12_codes":["DEQ"],"orderful_edifact_codes":["DEQ"]},"deliveredExShip":{"description":"Delivered ex ship (DES)","orderful_x12_codes":["DES"],"orderful_edifact_codes":["DES"]},"domesticallySupplied":{"description":"Domestically supplied (DOM)","orderful_x12_codes":["DOM"],"orderful_edifact_codes":["DOM"]},"exQuay":{"description":"Ex quay (EXQ)","orderful_x12_codes":["EXQ"],"orderful_edifact_codes":["EXQ"]},"exShip":{"description":"Ex ship (EXS)","orderful_x12_codes":["EXS"],"orderful_edifact_codes":["EXS"]},"exWorks":{"description":"Ex works (EXW)","orderful_x12_codes":["EXW"],"orderful_edifact_codes":["EXW"]},"freeAlongsideShip":{"description":"Free alongside ship (FAS)","orderful_x12_codes":["FAS"],"orderful_edifact_codes":["FAS"]},"freeCarrier":{"description":"Free carrier (FCA)","orderful_x12_codes":["FCA"],"orderful_edifact_codes":["FCA"]},"freightCarriageInsurancePaidTo":{"description":"Freight, carriage and insurance paid to (FCI)","orderful_x12_codes":["FCI"],"orderful_edifact_codes":["FCI"]},"freightCarriagePaidTo":{"description":"Freight and carriage paid to (FCP)","orderful_x12_codes":["FCP"],"orderful_edifact_codes":["FCP"]},"freeOnBoard":{"description":"Free on board (FOB)","orderful_x12_codes":["FOB"],"orderful_edifact_codes":["FOB"]},"freeOnRail":{"description":"Free on rail (FOR)","orderful_x12_codes":["FOR"],"orderful_edifact_codes":["FOR"]},"freeOnTruck":{"description":"Free on truck (FOT)","orderful_x12_codes":["FOT"],"orderful_edifact_codes":["FOT"]},"nonPrivilegedForeign":{"description":"Non-privileged foreign status (NPF)","orderful_x12_codes":["NPF"]},"privilegedForeign":{"description":"Privileged foreign status (PPF)","orderful_x12_codes":["PPF"]},"mutuallyDefined":{"description":"Mutually defined terms","orderful_x12_codes":["ZZZ"],"orderful_edifact_codes":["ZZZ"]}}},"riskOfLoss":{"type":"string","enum":["toDestinationBuyer","toFreightEqPointSeller","toPoolPointSeller","toDestinationSeller","mutuallyDefined"],"description":"Risk of loss transfer point","orderful_x12_path":["856:HL_loop.*.FOBRelatedInstructions.*.riskOfLossCode"],"orderful_enum_meta":{"toDestinationBuyer":{"description":"Risk transfers to buyer at destination","orderful_x12_codes":["BY"]},"toFreightEqPointSeller":{"description":"Risk transfers to seller at freight equalization point","orderful_x12_codes":["FE"]},"toPoolPointSeller":{"description":"Risk transfers to seller at pool point","orderful_x12_codes":["PP"]},"toDestinationSeller":{"description":"Risk transfers to seller at destination","orderful_x12_codes":["SE"]},"mutuallyDefined":{"description":"Risk of loss mutually defined","orderful_x12_codes":["ZZ"]}}},"description":{"description":"Additional FOB description","type":"string"}},"additionalProperties":false}}},"additionalProperties":false},"allowances":{"description":"Allowances or discounts applied to this line item","orderful_x12_path":["855:PO1_loop.*.SAC_loop.* | allowanceOrChargeIndicatorCode=A"],"orderful_x12_codes":["A"],"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["advertising","defectiveAllowance","discount","freight","handling","newStore","other","promotionalAllowance","quantityDiscount","rebate","restocking","serviceAtPickupOrDelivery","shipping","shippingAndHandling","swell","unsaleableMerchandiseAllowance","volume","warehouse"],"description":"Type of allowance or charge","orderful_x12_path":["856:HL_loop.*.SAC_loop.*.servicePromotionAllowanceOrChargeInformation.*.servicePromotionAllowanceOrChargeCode","875:G68_loop.*.G72_loop.*.allowanceOrCharge.*.allowanceOrChargeCode"],"orderful_enum_meta":{"advertising":{"description":"Advertising allowance or charge","orderful_x12_codes":["A260"]},"defectiveAllowance":{"description":"Defective merchandise allowance","orderful_x12_codes":["C000"]},"discount":{"description":"General discount","orderful_x12_codes":["C310"]},"freight":{"description":"Freight charge","orderful_x12_codes":["D240","53"]},"handling":{"description":"Handling charge","orderful_x12_codes":["D500","61","503"]},"newStore":{"description":"New store allowance","orderful_x12_codes":["E740","E750"]},"other":{"description":"Other allowance or charge","orderful_x12_codes":["F050","499","999"]},"promotionalAllowance":{"description":"Promotional allowance","orderful_x12_codes":["F800","504","47"]},"quantityDiscount":{"description":"Quantity discount","orderful_x12_codes":["F910"]},"rebate":{"description":"Rebate","orderful_x12_codes":["F970"]},"restocking":{"description":"Restocking charge","orderful_x12_codes":["G470"]},"serviceAtPickupOrDelivery":{"description":"Service charge at pickup or delivery","orderful_x12_codes":["E380","54","518"]},"shipping":{"description":"Shipping charge","orderful_x12_codes":["G821"]},"shippingAndHandling":{"description":"Shipping and handling charge","orderful_x12_codes":["G830"]},"swell":{"description":"Swell allowance","orderful_x12_codes":["H560","95"]},"unsaleableMerchandiseAllowance":{"description":"Unsaleable merchandise allowance","orderful_x12_codes":["I410"]},"volume":{"description":"Volume allowance or discount","orderful_x12_codes":["I530"]},"warehouse":{"description":"Warehouse charge or allowance","orderful_x12_codes":["I570","511"]}}},"amount":{"description":"Fixed amount of allowance or charge","type":"string"},"percent":{"description":"Percentage of allowance or charge","type":"string"},"percentBasis":{"description":"Basis for calculating percentage","type":"string","enum":["basePrice"]},"methodOfHandling":{"type":"string","enum":["collect","paidByVendor","paidByCustomer","prepaid"],"description":"How the charge is handled","orderful_x12_path":["856:HL_loop.*.SAC_loop.*.servicePromotionAllowanceOrChargeInformation.*.allowanceOrChargeMethodOfHandlingCode","875:G68_loop.*.G72_loop.*.allowanceOrCharge.*.allowanceOrChargeMethodOfHandlingCode"],"orderful_enum_meta":{"collect":{"description":"Collect from recipient","orderful_x12_codes":["CC"]},"paidByVendor":{"description":"Paid by vendor / price-off invoice (SAC12 05 and 01 are both off-invoice semantics; G7202 02 = Off Invoice)","orderful_x12_codes":["05","01","02"]},"paidByCustomer":{"description":"Paid by customer","orderful_x12_codes":["06"]},"prepaid":{"description":"Prepaid by shipper","orderful_x12_codes":["PP"]}}},"description":{"description":"Description of the allowance or charge","type":"string"}},"required":["type"],"additionalProperties":false}},"charges":{"description":"Additional charges applied to this line item","orderful_x12_path":["855:PO1_loop.*.SAC_loop.* | allowanceOrChargeIndicatorCode=C"],"orderful_x12_codes":["C"],"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["advertising","defectiveAllowance","discount","freight","handling","newStore","other","promotionalAllowance","quantityDiscount","rebate","restocking","serviceAtPickupOrDelivery","shipping","shippingAndHandling","swell","unsaleableMerchandiseAllowance","volume","warehouse"],"description":"Type of allowance or charge","orderful_x12_path":["856:HL_loop.*.SAC_loop.*.servicePromotionAllowanceOrChargeInformation.*.servicePromotionAllowanceOrChargeCode","875:G68_loop.*.G72_loop.*.allowanceOrCharge.*.allowanceOrChargeCode"],"orderful_enum_meta":{"advertising":{"description":"Advertising allowance or charge","orderful_x12_codes":["A260"]},"defectiveAllowance":{"description":"Defective merchandise allowance","orderful_x12_codes":["C000"]},"discount":{"description":"General discount","orderful_x12_codes":["C310"]},"freight":{"description":"Freight charge","orderful_x12_codes":["D240","53"]},"handling":{"description":"Handling charge","orderful_x12_codes":["D500","61","503"]},"newStore":{"description":"New store allowance","orderful_x12_codes":["E740","E750"]},"other":{"description":"Other allowance or charge","orderful_x12_codes":["F050","499","999"]},"promotionalAllowance":{"description":"Promotional allowance","orderful_x12_codes":["F800","504","47"]},"quantityDiscount":{"description":"Quantity discount","orderful_x12_codes":["F910"]},"rebate":{"description":"Rebate","orderful_x12_codes":["F970"]},"restocking":{"description":"Restocking charge","orderful_x12_codes":["G470"]},"serviceAtPickupOrDelivery":{"description":"Service charge at pickup or delivery","orderful_x12_codes":["E380","54","518"]},"shipping":{"description":"Shipping charge","orderful_x12_codes":["G821"]},"shippingAndHandling":{"description":"Shipping and handling charge","orderful_x12_codes":["G830"]},"swell":{"description":"Swell allowance","orderful_x12_codes":["H560","95"]},"unsaleableMerchandiseAllowance":{"description":"Unsaleable merchandise allowance","orderful_x12_codes":["I410"]},"volume":{"description":"Volume allowance or discount","orderful_x12_codes":["I530"]},"warehouse":{"description":"Warehouse charge or allowance","orderful_x12_codes":["I570","511"]}}},"amount":{"description":"Fixed amount of allowance or charge","type":"string"},"percent":{"description":"Percentage of allowance or charge","type":"string"},"percentBasis":{"description":"Basis for calculating percentage","type":"string","enum":["basePrice"]},"methodOfHandling":{"type":"string","enum":["collect","paidByVendor","paidByCustomer","prepaid"],"description":"How the charge is handled","orderful_x12_path":["856:HL_loop.*.SAC_loop.*.servicePromotionAllowanceOrChargeInformation.*.allowanceOrChargeMethodOfHandlingCode","875:G68_loop.*.G72_loop.*.allowanceOrCharge.*.allowanceOrChargeMethodOfHandlingCode"],"orderful_enum_meta":{"collect":{"description":"Collect from recipient","orderful_x12_codes":["CC"]},"paidByVendor":{"description":"Paid by vendor / price-off invoice (SAC12 05 and 01 are both off-invoice semantics; G7202 02 = Off Invoice)","orderful_x12_codes":["05","01","02"]},"paidByCustomer":{"description":"Paid by customer","orderful_x12_codes":["06"]},"prepaid":{"description":"Prepaid by shipper","orderful_x12_codes":["PP"]}}},"description":{"description":"Description of the allowance or charge","type":"string"}},"required":["type"],"additionalProperties":false}},"isChanged":{"description":"Whether this line differs from the original purchase order — true when the sender changed quantity, price, ship/delivery date, or the item itself (substitution), or when the line is rejected, backordered, or on hold; false when the line is accepted exactly as ordered. A recipient-facing rollup of the line's actions that pairs with the header detailLevel field: when detailLevel is 'exceptionsOnly', only lines with isChanged=true are present.","orderful_x12_path":["855:PO1_loop.*.ACK_loop.*.lineItemAcknowledgment.*.lineItemStatusCode"],"orderful_x12_notes":["Summarizes the line's ACK01 (lineItemStatusCode, element 668) values across its actions. isChanged=false corresponds to clean-accept codes only — IA (Item Accepted), AC (Accepted and Shipped), AR (Accepted and Released for Shipment), AA (Accepted, forwarded to alternate supplier). isChanged=true corresponds to any change or exception code: IC (Changes Made), IP (Price Changed), IQ (Quantity Changed), IS (Substitution Made), DR (Date Rescheduled), BP (Partial Shipment, Balance Backordered), IB (Backordered), IH/IF/IW (on hold variants), and IR/ID/R1-R8 (rejected/deleted variants). When receiving: derive by inspecting each action's ACK01 — true if any action resolves to a non-clean-accept code. When sending: optional and informational — the writer already derives ACK01 per action from the line-vs-baseline comparison, so a producer-supplied value is treated as a hint and reconciled, not taken as authoritative."],"type":"boolean"},"actions":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"accepted","description":"Indicates the line item is accepted","orderful_x12_path":["855:PO1_loop.*.ACK_loop.*.lineItemAcknowledgment.*.lineItemStatusCode"],"orderful_x12_codes":["IA","IC","IP","IQ","IS","DR","BP"],"orderful_x12_notes":["ACK01 is derived per action against the line's PO baseline (line.* → $purchaseOrder line.* fallback). IA when no changes; IS when substitutedItem is set (absorbs other changes, no comparison); IQ/IP/DR for a single quantity/price/date change when the specific code is allowed; IC as the umbrella when multiple changes occur or the specific code isn't allowed. BP only when an accepted+backordered pair on the same line collapses — guideline allows BP, doesn't allow IB, and the accepted action has no derived changes."]},"statusNote":{"description":"Additional notes or comments about the acceptance","orderful_x12_notes":["Source varies by trading partner. Common sources: REF segment or N9-MSG/MTX. Can map status reason as N903 if no description is sent."],"type":"object","properties":{"description":{"description":"Brief description or title of the note","type":"string"},"text":{"description":"Array of text lines for the note content","type":"array","items":{"type":"string"}}},"additionalProperties":false},"quantity":{"description":"Confirmed quantity for this line item. When sending: include only if changing from the original purchase order. When receiving: always populated via mapping — compare against the line item's orderQuantity to detect changes.","orderful_x12_path":["855:PO1_loop.*.ACK_loop.*.lineItemAcknowledgment.*.quantity"],"orderful_x12_notes":["ACK02/ACK03 — quantity and unit of measure"],"type":"object","properties":{"value":{"type":"string","description":"Numeric quantity value"},"unitOfMeasure":{"description":"Unit of measure for the quantity","type":"string","enum":["assembly","assortment","bag","bale","ball","bar","barrel","belt","bin","block","boardFeet","bolt","book","bottle","box","bulk","bundle","bushel","cake","can","card","carton","cartridge","case","cassette","celsius","cell","centigram","centiliter","centimeter","coil","combo","cone","container","count","cover","display","dozen","drum","each","flakeTon","foot","gallon","gram","gramsPerLiter","inch","kilogram","kit","knots","linearFoot","liter","meter","milliliter","monetaryValue","ocularInsertSystem","order","ounce","packPAK","package","pad","pail","pair","pairInches","palletLift","palletUnitLoad","person","piece","pint","pound","poundEquivalent","poundGross","quart","reel","roll","section","set","sheet","sixPack","squareFoot","syringe","thousand","threePack","tote","tube","unit","vial"],"orderful_x12_path":["856:HL_loop.*.itemDetailShipment.*.unitOrBasisForMeasurementCode","856:HL_loop.*.itemDetailShipment.*.unitOrBasisForMeasurementCode1","856:HL_loop.*.sublineItemDetail.*.unitOrBasisForMeasurementCode"],"orderful_enum_meta":{"assembly":{"description":"Assembly — set of manufactured components combined into a functional unit","orderful_x12_codes":["AY"]},"assortment":{"description":"Assortment — mixed selection of multiple SKUs or item types in one unit","orderful_x12_codes":["AS"]},"bag":{"description":"Bag — flexible container; used for produce, grains, or loose items","orderful_x12_codes":["BG"]},"bale":{"description":"Bale — compressed bundle; used for textiles, paper, or agricultural products","orderful_x12_codes":["BA"]},"ball":{"description":"Ball — spherical wound unit; used for yarn, twine, or wire","orderful_x12_codes":["AA"]},"bar":{"description":"Bar — rigid elongated unit; used for metal stock, soap, or food products","orderful_x12_codes":["BI"]},"barrel":{"description":"Barrel — cylindrical container; standard 42-gallon oil barrel or general dry goods","orderful_x12_codes":["BR"]},"belt":{"description":"Belt — long continuous flat strip sold by unit; used for conveyor or drive belts","orderful_x12_codes":["BT"]},"bin":{"description":"Bin — open-top storage container for bulk loose items","orderful_x12_codes":["2W"]},"block":{"description":"Block — solid rectangular unit; used for cheese, ice, or masonry materials","orderful_x12_codes":["BL"]},"boardFeet":{"description":"Board feet — lumber volume unit; 1 ft × 1 ft × 1 in thick","orderful_x12_codes":["BF"]},"bolt":{"description":"Bolt — roll of fabric measured in linear yards","orderful_x12_codes":["BM"]},"book":{"description":"Book — bound or tabbed unit; used for matches, stamps, or checks","orderful_x12_codes":["BK"]},"bottle":{"description":"Bottle — rigid container with a narrow neck; used for liquids","orderful_x12_codes":["BO"]},"box":{"description":"Box — rigid rectangular container; standard retail or shipping unit","orderful_x12_codes":["BX"]},"bulk":{"description":"Bulk — unpackaged loose quantity; no individual container or wrapping","orderful_x12_codes":["BN"]},"bundle":{"description":"Bundle — group of items tied or strapped together; used for rebar, pipes, lumber","orderful_x12_codes":["BD"]},"bushel":{"description":"Bushel — dry volume; 64 US pints; used for grain and produce","orderful_x12_codes":["BU"]},"cake":{"description":"Cake — compressed solid block; used for yeast, soap, or wax","orderful_x12_codes":["KA"]},"can":{"description":"Can — metal sealed cylindrical container","orderful_x12_codes":["CN"]},"card":{"description":"Card — flat backing card; used for hanging retail blister packs","orderful_x12_codes":["CG"]},"carton":{"description":"Carton — paperboard box; typical inner or outer shipping container","orderful_x12_codes":["CT"]},"cartridge":{"description":"Cartridge — self-contained replaceable unit; used for ink, filters, or ammunition","orderful_x12_codes":["CQ"]},"case":{"description":"Case — outer shipping container holding multiple inner units; most common shipper UOM","orderful_x12_codes":["CA"]},"cassette":{"description":"Cassette — enclosed tape or cartridge format; used for media, ribbon, or film","orderful_x12_codes":["CS"]},"celsius":{"description":"Celsius — temperature unit; used when a quantity represents a temperature value","orderful_x12_codes":["CE"]},"cell":{"description":"Cell — individual battery cell or biological sample unit","orderful_x12_codes":["C6"]},"centigram":{"description":"Centigram — 0.01 gram; unit of mass for small precise quantities","orderful_x12_codes":["AF"]},"centiliter":{"description":"Centiliter — 0.01 liter; unit of liquid volume for small quantities","orderful_x12_codes":["C3"]},"centimeter":{"description":"Centimeter — 0.01 meter; unit of length","orderful_x12_codes":["CM"]},"coil":{"description":"Coil — wound continuous material; used for wire, steel strip, hose, or tubing","orderful_x12_codes":["CX"]},"combo":{"description":"Combo — bundled multi-component set sold as a single unit","orderful_x12_codes":["CZ"]},"cone":{"description":"Cone — conical spindle or spool; used for thread or yarn","orderful_x12_codes":["CJ"]},"container":{"description":"Container — generic shipping container; use when no more specific form applies","orderful_x12_codes":["CH"]},"count":{"description":"Count — generic numerical count of individual items; prefer each (EA) when count equals 1","orderful_x12_codes":["1N"]},"cover":{"description":"Cover — individual lid or covering unit","orderful_x12_codes":["CV"]},"display":{"description":"Display — shelf-ready PDQ or floor display holding multiple retail units","orderful_x12_codes":["DS"]},"dozen":{"description":"Dozen — 12 units; standard quantity for eggs, bottles, and similar items","orderful_x12_codes":["DZ"]},"drum":{"description":"Drum — large cylindrical container; typically 55 gallons; used for chemicals and liquids","orderful_x12_codes":["DR"]},"each":{"description":"Each — single individual unit; default UOM when no other code applies","orderful_x12_codes":["EA"]},"flakeTon":{"description":"Flake ton — ton measured in flake form; used for flaked or pelletized bulk material","orderful_x12_codes":["FL"]},"foot":{"description":"Foot — imperial length; 12 inches; used for lumber, pipe, and fabric","orderful_x12_codes":["FT"]},"gallon":{"description":"Gallon — US liquid volume; 128 fluid ounces; used for paint, chemicals, and beverages","orderful_x12_codes":["GA"]},"gram":{"description":"Gram — metric unit of mass; used for small weight quantities in food and pharma","orderful_x12_codes":["GR"]},"gramsPerLiter":{"description":"Grams per liter — solution concentration unit; used in chemical and food industries","orderful_x12_codes":["GL"]},"inch":{"description":"Inch — imperial length; 1/12 foot; used for dimensions and hardware","orderful_x12_codes":["IN"]},"kilogram":{"description":"Kilogram — 1,000 grams; standard metric weight UOM in international trade","orderful_x12_codes":["KG"]},"kit":{"description":"Kit — predefined set of parts packaged together for assembly or installation","orderful_x12_codes":["KT"]},"knots":{"description":"Knots — nautical speed (nm/hr); used in marine shipping contexts","orderful_x12_codes":["EH"]},"linearFoot":{"description":"Linear foot — length in feet regardless of width; used for trim, cable, and fabric","orderful_x12_codes":["LF"]},"liter":{"description":"Liter — metric liquid volume; ~1.057 US quarts; standard international liquid UOM","orderful_x12_codes":["LT"]},"meter":{"description":"Meter — base metric unit of length; ~39.37 inches","orderful_x12_codes":["MR"]},"milliliter":{"description":"Milliliter — 0.001 liter; used for small liquid quantities in pharma and beverages","orderful_x12_codes":["ML"]},"monetaryValue":{"description":"Monetary value — quantity expressed as a currency amount","orderful_x12_codes":["M4"]},"ocularInsertSystem":{"description":"Ocular insert system — pharmaceutical ophthalmic delivery unit placed in the eye","orderful_x12_codes":["AU"]},"order":{"description":"Order — entire purchase order treated as a single billable unit","orderful_x12_codes":["ET"]},"ounce":{"description":"Ounce — imperial weight; 1/16 pound; common in US food and retail","orderful_x12_codes":["OZ"]},"packPAK":{"description":"Pack (PAK) — sealed multi-unit retail pack; use instead of package (PK) when the pack form is specifically a PAK","orderful_x12_codes":["PH"]},"package":{"description":"Package — general-purpose shipping or retail package; use when the pack type is unspecified","orderful_x12_codes":["PK"]},"pad":{"description":"Pad — flat stacked unit; used for paper notepads or sticker sheets","orderful_x12_codes":["PD"]},"pail":{"description":"Pail — small open-top bucket, typically 1–5 gallons; used for paint and adhesives","orderful_x12_codes":["PA"]},"pair":{"description":"Pair — two matching items sold together (shoes, gloves, socks)","orderful_x12_codes":["PR"]},"pairInches":{"description":"Pair inches — pipe fitting measurement; a pair measured in inches","orderful_x12_codes":["PB"]},"palletLift":{"description":"Pallet lift (PF) — individual pallet; use when counting or billing by pallet. Distinct from palletUnitLoad (PL) which is the complete loaded pallet","orderful_x12_codes":["PF"]},"palletUnitLoad":{"description":"Pallet unit load (PL) — complete loaded pallet as shipped, including goods and pallet. Distinct from palletLift (PF) which counts the pallet itself","orderful_x12_codes":["PL"]},"person":{"description":"Person — individual person; used for labor, staffing, or capacity billing","orderful_x12_codes":["IE"]},"piece":{"description":"Piece — individual item not in a standard retail package; used for industrial and bulk parts","orderful_x12_codes":["PC"]},"pint":{"description":"Pint — liquid volume; 16 US fluid ounces","orderful_x12_codes":["PT"]},"pound":{"description":"Pound — imperial weight; most common weight UOM in US grocery and distribution","orderful_x12_codes":["LB","01","PN"]},"poundEquivalent":{"description":"Pound equivalent — standardized weight comparison unit; used in apparel and textile industries","orderful_x12_codes":["PE"]},"poundGross":{"description":"Pound gross — total weight including all packaging and the container itself","orderful_x12_codes":["PG"]},"quart":{"description":"Quart — US liquid volume unit; 0.946 liters; used for paint, motor oil, and liquids sold in quart containers","orderful_x12_codes":["QT"]},"reel":{"description":"Reel — cylindrical spool unit; used for wire, cable, film, or tape wound on a hub","orderful_x12_codes":["RE"]},"roll":{"description":"Roll — cylindrical wrapped unit; used for paper, fabric, or flexible material rolled without a rigid hub. Distinct from reel (RE) which has a hub","orderful_x12_codes":["RL"]},"section":{"description":"Section — subdivision of a larger structure sold as a distinct piece; used in furniture, shelving, or land measurement","orderful_x12_codes":["SE"]},"set":{"description":"Set — defined collection of matched or functionally related items sold together; use when items are inseparable as a set","orderful_x12_codes":["ST"]},"sheet":{"description":"Sheet — single flat panel unit; used for glass, metal, plywood, drywall, or paper sold in flat cut pieces","orderful_x12_codes":["SH"]},"sixPack":{"description":"Six-pack (6P) — fixed retail grouping of exactly 6 units; use for beverages or consumer goods sold as a pre-packaged six. Distinct from threePack (P3)","orderful_x12_codes":["P6"]},"squareFoot":{"description":"Square foot — area unit; 144 square inches; used for flooring, roofing, fabric, and surface-area pricing","orderful_x12_codes":["SF"]},"syringe":{"description":"Syringe — pre-filled or unit-dose injectable pharmaceutical unit","orderful_x12_codes":["SZ"]},"thousand":{"description":"Thousand (M) — quantity multiplier; used when pricing or ordering in increments of 1,000 (e.g., fasteners, bricks, sheets). Distinct from each (EA)","orderful_x12_codes":["TH"]},"threePack":{"description":"Three-pack (P3) — fixed retail grouping of exactly 3 units; use for consumer goods sold as a pre-packaged triple. Distinct from sixPack (6P)","orderful_x12_codes":["P3"]},"tote":{"description":"Tote — large reusable open-top container or bin; used in warehouse and bulk distribution settings","orderful_x12_codes":["TE"]},"tube":{"description":"Tube — cylindrical dispensing container; used for adhesives, ointments, toothpaste, or caulk sold in squeezable tubes","orderful_x12_codes":["TB"]},"unit":{"description":"Unit (UN) — generic count when no specific UOM code applies; use as a last resort when the item type does not match any other code","orderful_x12_codes":["UN"]},"vial":{"description":"Vial — small sealed glass or plastic container; used for injectable drugs, reagents, or laboratory specimens","orderful_x12_codes":["VI"]}}}},"required":["value"],"additionalProperties":false},"scheduledShipDate":{"description":"Scheduled date for shipment","orderful_x12_codes":["068","010","080","083","086"],"orderful_x12_path":["855:PO1_loop.*.ACK_loop.*.lineItemAcknowledgment.* | dateTimeQualifier=068,010,080,083,086","855:PO1_loop.*.ACK_loop.*.dateTimeReference.* | dateTimeQualifier=068,010,080,083,086"],"orderful_x12_notes":["When sending: include only if changing from the line's requestedShipDate. A difference vs the PO baseline contributes a 'date' entry to the ACK01 change-set (DR if specifically allowed, else IC). Compared as calendar-day equality — date-only and datetime values for the same day are not a change."],"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}]},"estimatedDeliveryDate":{"description":"Estimated date of delivery","orderful_x12_codes":["067","017"],"orderful_x12_path":["855:PO1_loop.*.ACK_loop.*.lineItemAcknowledgment.* | dateTimeQualifier=067,017","855:PO1_loop.*.ACK_loop.*.dateTimeReference.* | dateTimeQualifier=067,017","855:PO1_loop.*.dateTimeReference.* | dateTimeQualifier=067,017"],"orderful_x12_notes":["When sending: include only if changing from the line's requestedDeliveryDate. Same date-change semantics as scheduledShipDate — both date fields collapse into one 'date' entry in the ACK01 change-set."],"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}]},"unitCostPrice":{"description":"Confirmed unit price for this line item. When sending: include only if changing from the original purchase order. When receiving: always populated via mapping — compare against the line item's orderUnitPrice to detect price changes.","orderful_x12_path":["855:PO1_loop.*.baselineItemData.*.unitPrice"],"orderful_x12_notes":["PO104 — present when ACK01=IP (price changed)"],"type":"string"},"substitutedItem":{"description":"Details of a substitute item being shipped instead","orderful_x12_notes":["ACK01=IS. Substituted product IDs typically sourced from N9-MSG/MTX or additional PO1 qualifier pairs."],"type":"object","properties":{"productIds":{"type":"object","properties":{"buyerItemNumber":{"description":"Buyer-assigned item number","orderful_x12_codes":["BP","IN","CB","SK","PI","IT","PN","ST"],"orderful_edifact_codes":["BP","IN","SK","IT"],"type":"string"},"vendorItemNumber":{"description":"Vendor-assigned item number (EDIFACT LIN/PIA supplier's item number)","orderful_x12_codes":["VA","VC","VN","VP","MG","MF","SA"],"orderful_edifact_codes":["SA","VN","VP","MF"],"type":"string"},"gtin12":{"description":"GTIN-12 (UPC-A) barcode","orderful_x12_codes":["UP"],"orderful_edifact_codes":["UP"],"type":"string"},"gtin13":{"description":"GTIN-13 (EAN) barcode","orderful_x12_codes":["EN"],"orderful_edifact_codes":["EN","SRV"],"type":"string"},"gtin14":{"description":"GTIN-14 (ITF-14) case code barcode","orderful_x12_codes":["UK"],"type":"string"},"caseCode":{"description":"Case code identifier","orderful_x12_codes":["UI","UN","UA","UB"],"type":"string"},"drugCode":{"description":"National Drug Code (NDC)","orderful_x12_codes":["N1","N2","N3","N4","ND"],"type":"string"},"standardBookNumber":{"description":"ISBN or standard book number","orderful_x12_codes":["IB"],"orderful_edifact_codes":["IB"],"type":"string"},"buyerItemIds":{"description":"Additional buyer product identifiers","orderful_x12_codes":["CB","SK","ST","IT"],"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["catalog","manufacturerPart","sku","style"],"description":"Type of product identifier","orderful_x12_path":["856:HL_loop.*.itemIdentification.*.productServiceIDQualifier","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier1","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier2","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier3","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier4","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier5","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier6","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier7","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier8","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier9","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier10","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier11","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier12","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier13","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier14"],"orderful_enum_meta":{"catalog":{"description":"Catalog number (buyer catalog reference)","orderful_x12_codes":["CB","VC"]},"manufacturerPart":{"description":"Manufacturer part number","orderful_x12_codes":["MG","MF"]},"sku":{"description":"Stock keeping unit identifier","orderful_x12_codes":["SK"]},"style":{"description":"Style number or code","orderful_x12_codes":["ST","IT","VA"]}}},"value":{"type":"string","description":"Product identifier value"}},"required":["type","value"],"additionalProperties":false}},"vendorItemIds":{"description":"Additional vendor product identifiers","orderful_x12_codes":["VC","MG","VA","MF"],"orderful_edifact_codes":["MF"],"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["catalog","manufacturerPart","sku","style"],"description":"Type of product identifier","orderful_x12_path":["856:HL_loop.*.itemIdentification.*.productServiceIDQualifier","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier1","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier2","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier3","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier4","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier5","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier6","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier7","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier8","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier9","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier10","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier11","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier12","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier13","856:HL_loop.*.itemIdentification.*.productServiceIDQualifier14"],"orderful_enum_meta":{"catalog":{"description":"Catalog number (buyer catalog reference)","orderful_x12_codes":["CB","VC"]},"manufacturerPart":{"description":"Manufacturer part number","orderful_x12_codes":["MG","MF"]},"sku":{"description":"Stock keeping unit identifier","orderful_x12_codes":["SK"]},"style":{"description":"Style number or code","orderful_x12_codes":["ST","IT","VA"]}}},"value":{"type":"string","description":"Product identifier value"}},"required":["type","value"],"additionalProperties":false}}},"additionalProperties":false,"description":"Product identifiers for the substituted item","orderful_x12_notes":["Mapping rule when a guideline requires a code that this schema can supply from multiple fields:\n  1. Fill mandatory guideline positions before optional/conditional ones.\n  2. Prefer the more specific source. `*ItemIds` typed-array entries cover a tighter code set than `*ItemNumber` string fields; use the array entry when both could satisfy the same code.\n  3. Each simplified property maps to exactly one X12 qualifier across every line item in a transformation. Do not switch a property's qualifier line-by-line based on which sibling fields are populated. The position where the qualifier appears within a repeating element group can vary per line item depending on which other identifiers are present."]}},"required":["productIds"],"additionalProperties":false}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"rejected","description":"Indicates the line item is rejected","orderful_x12_path":["855:PO1_loop.*.ACK_loop.*.lineItemAcknowledgment.*.lineItemStatusCode"],"orderful_x12_codes":["IR","ID","R1","R2","R3","R4"]},"statusReasonCode":{"description":"Reason code explaining why the item was rejected","orderful_x12_notes":["Source varies by trading partner. Walmart: REF02 with REF01 qualifier TD (Reason for change)."],"type":"string","enum":["discontinued","invalidAddress","invalidBillToCode","invalidItemNumber","invalidPrice","invalidItemQuantity","invalidShipFrom","invalidShipMethod","invalidShipToName","invalidShipToAddress1","invalidShipToAddress2","invalidShipToCity","invalidShipToStateOrProvince","invalidShipToPostalCode","invalidShipToCountry","itemRecall","itemSetupIssue","mainlandOnly","missingLineItemId","missingOrderId","missingShipId","naturalDisaster","outOfStock","seasonalOrEndOfLife","shippingInFull","systemIssue","taxNexusIssue","transportationIssuePrepaid","transportationIssueCollect","undeliverableAddress","weather"]},"statusNote":{"description":"Additional notes or comments about the rejection","orderful_x12_notes":["Source varies by trading partner. Common sources: REF segment or N9-MSG/MTX. Can map status reason as N903 if no description is sent."],"type":"object","properties":{"description":{"description":"Brief description or title of the note","type":"string"},"text":{"description":"Array of text lines for the note content","type":"array","items":{"type":"string"}}},"additionalProperties":false},"quantity":{"description":"Quantity being rejected","orderful_x12_path":["855:PO1_loop.*.ACK_loop.*.lineItemAcknowledgment.*.quantity"],"orderful_x12_notes":["ACK02/ACK03 — quantity and unit of measure"],"type":"object","properties":{"value":{"type":"string","description":"Numeric quantity value"},"unitOfMeasure":{"description":"Unit of measure for the quantity","type":"string","enum":["assembly","assortment","bag","bale","ball","bar","barrel","belt","bin","block","boardFeet","bolt","book","bottle","box","bulk","bundle","bushel","cake","can","card","carton","cartridge","case","cassette","celsius","cell","centigram","centiliter","centimeter","coil","combo","cone","container","count","cover","display","dozen","drum","each","flakeTon","foot","gallon","gram","gramsPerLiter","inch","kilogram","kit","knots","linearFoot","liter","meter","milliliter","monetaryValue","ocularInsertSystem","order","ounce","packPAK","package","pad","pail","pair","pairInches","palletLift","palletUnitLoad","person","piece","pint","pound","poundEquivalent","poundGross","quart","reel","roll","section","set","sheet","sixPack","squareFoot","syringe","thousand","threePack","tote","tube","unit","vial"],"orderful_x12_path":["856:HL_loop.*.itemDetailShipment.*.unitOrBasisForMeasurementCode","856:HL_loop.*.itemDetailShipment.*.unitOrBasisForMeasurementCode1","856:HL_loop.*.sublineItemDetail.*.unitOrBasisForMeasurementCode"],"orderful_enum_meta":{"assembly":{"description":"Assembly — set of manufactured components combined into a functional unit","orderful_x12_codes":["AY"]},"assortment":{"description":"Assortment — mixed selection of multiple SKUs or item types in one unit","orderful_x12_codes":["AS"]},"bag":{"description":"Bag — flexible container; used for produce, grains, or loose items","orderful_x12_codes":["BG"]},"bale":{"description":"Bale — compressed bundle; used for textiles, paper, or agricultural products","orderful_x12_codes":["BA"]},"ball":{"description":"Ball — spherical wound unit; used for yarn, twine, or wire","orderful_x12_codes":["AA"]},"bar":{"description":"Bar — rigid elongated unit; used for metal stock, soap, or food products","orderful_x12_codes":["BI"]},"barrel":{"description":"Barrel — cylindrical container; standard 42-gallon oil barrel or general dry goods","orderful_x12_codes":["BR"]},"belt":{"description":"Belt — long continuous flat strip sold by unit; used for conveyor or drive belts","orderful_x12_codes":["BT"]},"bin":{"description":"Bin — open-top storage container for bulk loose items","orderful_x12_codes":["2W"]},"block":{"description":"Block — solid rectangular unit; used for cheese, ice, or masonry materials","orderful_x12_codes":["BL"]},"boardFeet":{"description":"Board feet — lumber volume unit; 1 ft × 1 ft × 1 in thick","orderful_x12_codes":["BF"]},"bolt":{"description":"Bolt — roll of fabric measured in linear yards","orderful_x12_codes":["BM"]},"book":{"description":"Book — bound or tabbed unit; used for matches, stamps, or checks","orderful_x12_codes":["BK"]},"bottle":{"description":"Bottle — rigid container with a narrow neck; used for liquids","orderful_x12_codes":["BO"]},"box":{"description":"Box — rigid rectangular container; standard retail or shipping unit","orderful_x12_codes":["BX"]},"bulk":{"description":"Bulk — unpackaged loose quantity; no individual container or wrapping","orderful_x12_codes":["BN"]},"bundle":{"description":"Bundle — group of items tied or strapped together; used for rebar, pipes, lumber","orderful_x12_codes":["BD"]},"bushel":{"description":"Bushel — dry volume; 64 US pints; used for grain and produce","orderful_x12_codes":["BU"]},"cake":{"description":"Cake — compressed solid block; used for yeast, soap, or wax","orderful_x12_codes":["KA"]},"can":{"description":"Can — metal sealed cylindrical container","orderful_x12_codes":["CN"]},"card":{"description":"Card — flat backing card; used for hanging retail blister packs","orderful_x12_codes":["CG"]},"carton":{"description":"Carton — paperboard box; typical inner or outer shipping container","orderful_x12_codes":["CT"]},"cartridge":{"description":"Cartridge — self-contained replaceable unit; used for ink, filters, or ammunition","orderful_x12_codes":["CQ"]},"case":{"description":"Case — outer shipping container holding multiple inner units; most common shipper UOM","orderful_x12_codes":["CA"]},"cassette":{"description":"Cassette — enclosed tape or cartridge format; used for media, ribbon, or film","orderful_x12_codes":["CS"]},"celsius":{"description":"Celsius — temperature unit; used when a quantity represents a temperature value","orderful_x12_codes":["CE"]},"cell":{"description":"Cell — individual battery cell or biological sample unit","orderful_x12_codes":["C6"]},"centigram":{"description":"Centigram — 0.01 gram; unit of mass for small precise quantities","orderful_x12_codes":["AF"]},"centiliter":{"description":"Centiliter — 0.01 liter; unit of liquid volume for small quantities","orderful_x12_codes":["C3"]},"centimeter":{"description":"Centimeter — 0.01 meter; unit of length","orderful_x12_codes":["CM"]},"coil":{"description":"Coil — wound continuous material; used for wire, steel strip, hose, or tubing","orderful_x12_codes":["CX"]},"combo":{"description":"Combo — bundled multi-component set sold as a single unit","orderful_x12_codes":["CZ"]},"cone":{"description":"Cone — conical spindle or spool; used for thread or yarn","orderful_x12_codes":["CJ"]},"container":{"description":"Container — generic shipping container; use when no more specific form applies","orderful_x12_codes":["CH"]},"count":{"description":"Count — generic numerical count of individual items; prefer each (EA) when count equals 1","orderful_x12_codes":["1N"]},"cover":{"description":"Cover — individual lid or covering unit","orderful_x12_codes":["CV"]},"display":{"description":"Display — shelf-ready PDQ or floor display holding multiple retail units","orderful_x12_codes":["DS"]},"dozen":{"description":"Dozen — 12 units; standard quantity for eggs, bottles, and similar items","orderful_x12_codes":["DZ"]},"drum":{"description":"Drum — large cylindrical container; typically 55 gallons; used for chemicals and liquids","orderful_x12_codes":["DR"]},"each":{"description":"Each — single individual unit; default UOM when no other code applies","orderful_x12_codes":["EA"]},"flakeTon":{"description":"Flake ton — ton measured in flake form; used for flaked or pelletized bulk material","orderful_x12_codes":["FL"]},"foot":{"description":"Foot — imperial length; 12 inches; used for lumber, pipe, and fabric","orderful_x12_codes":["FT"]},"gallon":{"description":"Gallon — US liquid volume; 128 fluid ounces; used for paint, chemicals, and beverages","orderful_x12_codes":["GA"]},"gram":{"description":"Gram — metric unit of mass; used for small weight quantities in food and pharma","orderful_x12_codes":["GR"]},"gramsPerLiter":{"description":"Grams per liter — solution concentration unit; used in chemical and food industries","orderful_x12_codes":["GL"]},"inch":{"description":"Inch — imperial length; 1/12 foot; used for dimensions and hardware","orderful_x12_codes":["IN"]},"kilogram":{"description":"Kilogram — 1,000 grams; standard metric weight UOM in international trade","orderful_x12_codes":["KG"]},"kit":{"description":"Kit — predefined set of parts packaged together for assembly or installation","orderful_x12_codes":["KT"]},"knots":{"description":"Knots — nautical speed (nm/hr); used in marine shipping contexts","orderful_x12_codes":["EH"]},"linearFoot":{"description":"Linear foot — length in feet regardless of width; used for trim, cable, and fabric","orderful_x12_codes":["LF"]},"liter":{"description":"Liter — metric liquid volume; ~1.057 US quarts; standard international liquid UOM","orderful_x12_codes":["LT"]},"meter":{"description":"Meter — base metric unit of length; ~39.37 inches","orderful_x12_codes":["MR"]},"milliliter":{"description":"Milliliter — 0.001 liter; used for small liquid quantities in pharma and beverages","orderful_x12_codes":["ML"]},"monetaryValue":{"description":"Monetary value — quantity expressed as a currency amount","orderful_x12_codes":["M4"]},"ocularInsertSystem":{"description":"Ocular insert system — pharmaceutical ophthalmic delivery unit placed in the eye","orderful_x12_codes":["AU"]},"order":{"description":"Order — entire purchase order treated as a single billable unit","orderful_x12_codes":["ET"]},"ounce":{"description":"Ounce — imperial weight; 1/16 pound; common in US food and retail","orderful_x12_codes":["OZ"]},"packPAK":{"description":"Pack (PAK) — sealed multi-unit retail pack; use instead of package (PK) when the pack form is specifically a PAK","orderful_x12_codes":["PH"]},"package":{"description":"Package — general-purpose shipping or retail package; use when the pack type is unspecified","orderful_x12_codes":["PK"]},"pad":{"description":"Pad — flat stacked unit; used for paper notepads or sticker sheets","orderful_x12_codes":["PD"]},"pail":{"description":"Pail — small open-top bucket, typically 1–5 gallons; used for paint and adhesives","orderful_x12_codes":["PA"]},"pair":{"description":"Pair — two matching items sold together (shoes, gloves, socks)","orderful_x12_codes":["PR"]},"pairInches":{"description":"Pair inches — pipe fitting measurement; a pair measured in inches","orderful_x12_codes":["PB"]},"palletLift":{"description":"Pallet lift (PF) — individual pallet; use when counting or billing by pallet. Distinct from palletUnitLoad (PL) which is the complete loaded pallet","orderful_x12_codes":["PF"]},"palletUnitLoad":{"description":"Pallet unit load (PL) — complete loaded pallet as shipped, including goods and pallet. Distinct from palletLift (PF) which counts the pallet itself","orderful_x12_codes":["PL"]},"person":{"description":"Person — individual person; used for labor, staffing, or capacity billing","orderful_x12_codes":["IE"]},"piece":{"description":"Piece — individual item not in a standard retail package; used for industrial and bulk parts","orderful_x12_codes":["PC"]},"pint":{"description":"Pint — liquid volume; 16 US fluid ounces","orderful_x12_codes":["PT"]},"pound":{"description":"Pound — imperial weight; most common weight UOM in US grocery and distribution","orderful_x12_codes":["LB","01","PN"]},"poundEquivalent":{"description":"Pound equivalent — standardized weight comparison unit; used in apparel and textile industries","orderful_x12_codes":["PE"]},"poundGross":{"description":"Pound gross — total weight including all packaging and the container itself","orderful_x12_codes":["PG"]},"quart":{"description":"Quart — US liquid volume unit; 0.946 liters; used for paint, motor oil, and liquids sold in quart containers","orderful_x12_codes":["QT"]},"reel":{"description":"Reel — cylindrical spool unit; used for wire, cable, film, or tape wound on a hub","orderful_x12_codes":["RE"]},"roll":{"description":"Roll — cylindrical wrapped unit; used for paper, fabric, or flexible material rolled without a rigid hub. Distinct from reel (RE) which has a hub","orderful_x12_codes":["RL"]},"section":{"description":"Section — subdivision of a larger structure sold as a distinct piece; used in furniture, shelving, or land measurement","orderful_x12_codes":["SE"]},"set":{"description":"Set — defined collection of matched or functionally related items sold together; use when items are inseparable as a set","orderful_x12_codes":["ST"]},"sheet":{"description":"Sheet — single flat panel unit; used for glass, metal, plywood, drywall, or paper sold in flat cut pieces","orderful_x12_codes":["SH"]},"sixPack":{"description":"Six-pack (6P) — fixed retail grouping of exactly 6 units; use for beverages or consumer goods sold as a pre-packaged six. Distinct from threePack (P3)","orderful_x12_codes":["P6"]},"squareFoot":{"description":"Square foot — area unit; 144 square inches; used for flooring, roofing, fabric, and surface-area pricing","orderful_x12_codes":["SF"]},"syringe":{"description":"Syringe — pre-filled or unit-dose injectable pharmaceutical unit","orderful_x12_codes":["SZ"]},"thousand":{"description":"Thousand (M) — quantity multiplier; used when pricing or ordering in increments of 1,000 (e.g., fasteners, bricks, sheets). Distinct from each (EA)","orderful_x12_codes":["TH"]},"threePack":{"description":"Three-pack (P3) — fixed retail grouping of exactly 3 units; use for consumer goods sold as a pre-packaged triple. Distinct from sixPack (6P)","orderful_x12_codes":["P3"]},"tote":{"description":"Tote — large reusable open-top container or bin; used in warehouse and bulk distribution settings","orderful_x12_codes":["TE"]},"tube":{"description":"Tube — cylindrical dispensing container; used for adhesives, ointments, toothpaste, or caulk sold in squeezable tubes","orderful_x12_codes":["TB"]},"unit":{"description":"Unit (UN) — generic count when no specific UOM code applies; use as a last resort when the item type does not match any other code","orderful_x12_codes":["UN"]},"vial":{"description":"Vial — small sealed glass or plastic container; used for injectable drugs, reagents, or laboratory specimens","orderful_x12_codes":["VI"]}}}},"required":["value"],"additionalProperties":false}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"backordered","description":"Indicates the line item is backordered with a known availability date","orderful_x12_path":["855:PO1_loop.*.ACK_loop.*.lineItemAcknowledgment.*.lineItemStatusCode"],"orderful_x12_codes":["IB"]},"statusReasonCode":{"description":"Reason code explaining why the item is backordered","orderful_x12_notes":["Source varies by trading partner. Walmart: REF02 with REF01 qualifier TD (Reason for change)."],"type":"string","enum":["discontinued","invalidAddress","invalidBillToCode","invalidItemNumber","invalidPrice","invalidItemQuantity","invalidShipFrom","invalidShipMethod","invalidShipToName","invalidShipToAddress1","invalidShipToAddress2","invalidShipToCity","invalidShipToStateOrProvince","invalidShipToPostalCode","invalidShipToCountry","itemRecall","itemSetupIssue","mainlandOnly","missingLineItemId","missingOrderId","missingShipId","naturalDisaster","outOfStock","seasonalOrEndOfLife","shippingInFull","systemIssue","taxNexusIssue","transportationIssuePrepaid","transportationIssueCollect","undeliverableAddress","weather"]},"statusNote":{"description":"Additional notes or comments about the backorder","orderful_x12_notes":["Source varies by trading partner. Common sources: REF segment or N9-MSG/MTX. Can map status reason as N903 if no description is sent."],"type":"object","properties":{"description":{"description":"Brief description or title of the note","type":"string"},"text":{"description":"Array of text lines for the note content","type":"array","items":{"type":"string"}}},"additionalProperties":false},"quantity":{"description":"Quantity being backordered","orderful_x12_path":["855:PO1_loop.*.ACK_loop.*.lineItemAcknowledgment.*.quantity"],"orderful_x12_notes":["ACK02/ACK03 — quantity and unit of measure"],"type":"object","properties":{"value":{"type":"string","description":"Numeric quantity value"},"unitOfMeasure":{"description":"Unit of measure for the quantity","type":"string","enum":["assembly","assortment","bag","bale","ball","bar","barrel","belt","bin","block","boardFeet","bolt","book","bottle","box","bulk","bundle","bushel","cake","can","card","carton","cartridge","case","cassette","celsius","cell","centigram","centiliter","centimeter","coil","combo","cone","container","count","cover","display","dozen","drum","each","flakeTon","foot","gallon","gram","gramsPerLiter","inch","kilogram","kit","knots","linearFoot","liter","meter","milliliter","monetaryValue","ocularInsertSystem","order","ounce","packPAK","package","pad","pail","pair","pairInches","palletLift","palletUnitLoad","person","piece","pint","pound","poundEquivalent","poundGross","quart","reel","roll","section","set","sheet","sixPack","squareFoot","syringe","thousand","threePack","tote","tube","unit","vial"],"orderful_x12_path":["856:HL_loop.*.itemDetailShipment.*.unitOrBasisForMeasurementCode","856:HL_loop.*.itemDetailShipment.*.unitOrBasisForMeasurementCode1","856:HL_loop.*.sublineItemDetail.*.unitOrBasisForMeasurementCode"],"orderful_enum_meta":{"assembly":{"description":"Assembly — set of manufactured components combined into a functional unit","orderful_x12_codes":["AY"]},"assortment":{"description":"Assortment — mixed selection of multiple SKUs or item types in one unit","orderful_x12_codes":["AS"]},"bag":{"description":"Bag — flexible container; used for produce, grains, or loose items","orderful_x12_codes":["BG"]},"bale":{"description":"Bale — compressed bundle; used for textiles, paper, or agricultural products","orderful_x12_codes":["BA"]},"ball":{"description":"Ball — spherical wound unit; used for yarn, twine, or wire","orderful_x12_codes":["AA"]},"bar":{"description":"Bar — rigid elongated unit; used for metal stock, soap, or food products","orderful_x12_codes":["BI"]},"barrel":{"description":"Barrel — cylindrical container; standard 42-gallon oil barrel or general dry goods","orderful_x12_codes":["BR"]},"belt":{"description":"Belt — long continuous flat strip sold by unit; used for conveyor or drive belts","orderful_x12_codes":["BT"]},"bin":{"description":"Bin — open-top storage container for bulk loose items","orderful_x12_codes":["2W"]},"block":{"description":"Block — solid rectangular unit; used for cheese, ice, or masonry materials","orderful_x12_codes":["BL"]},"boardFeet":{"description":"Board feet — lumber volume unit; 1 ft × 1 ft × 1 in thick","orderful_x12_codes":["BF"]},"bolt":{"description":"Bolt — roll of fabric measured in linear yards","orderful_x12_codes":["BM"]},"book":{"description":"Book — bound or tabbed unit; used for matches, stamps, or checks","orderful_x12_codes":["BK"]},"bottle":{"description":"Bottle — rigid container with a narrow neck; used for liquids","orderful_x12_codes":["BO"]},"box":{"description":"Box — rigid rectangular container; standard retail or shipping unit","orderful_x12_codes":["BX"]},"bulk":{"description":"Bulk — unpackaged loose quantity; no individual container or wrapping","orderful_x12_codes":["BN"]},"bundle":{"description":"Bundle — group of items tied or strapped together; used for rebar, pipes, lumber","orderful_x12_codes":["BD"]},"bushel":{"description":"Bushel — dry volume; 64 US pints; used for grain and produce","orderful_x12_codes":["BU"]},"cake":{"description":"Cake — compressed solid block; used for yeast, soap, or wax","orderful_x12_codes":["KA"]},"can":{"description":"Can — metal sealed cylindrical container","orderful_x12_codes":["CN"]},"card":{"description":"Card — flat backing card; used for hanging retail blister packs","orderful_x12_codes":["CG"]},"carton":{"description":"Carton — paperboard box; typical inner or outer shipping container","orderful_x12_codes":["CT"]},"cartridge":{"description":"Cartridge — self-contained replaceable unit; used for ink, filters, or ammunition","orderful_x12_codes":["CQ"]},"case":{"description":"Case — outer shipping container holding multiple inner units; most common shipper UOM","orderful_x12_codes":["CA"]},"cassette":{"description":"Cassette — enclosed tape or cartridge format; used for media, ribbon, or film","orderful_x12_codes":["CS"]},"celsius":{"description":"Celsius — temperature unit; used when a quantity represents a temperature value","orderful_x12_codes":["CE"]},"cell":{"description":"Cell — individual battery cell or biological sample unit","orderful_x12_codes":["C6"]},"centigram":{"description":"Centigram — 0.01 gram; unit of mass for small precise quantities","orderful_x12_codes":["AF"]},"centiliter":{"description":"Centiliter — 0.01 liter; unit of liquid volume for small quantities","orderful_x12_codes":["C3"]},"centimeter":{"description":"Centimeter — 0.01 meter; unit of length","orderful_x12_codes":["CM"]},"coil":{"description":"Coil — wound continuous material; used for wire, steel strip, hose, or tubing","orderful_x12_codes":["CX"]},"combo":{"description":"Combo — bundled multi-component set sold as a single unit","orderful_x12_codes":["CZ"]},"cone":{"description":"Cone — conical spindle or spool; used for thread or yarn","orderful_x12_codes":["CJ"]},"container":{"description":"Container — generic shipping container; use when no more specific form applies","orderful_x12_codes":["CH"]},"count":{"description":"Count — generic numerical count of individual items; prefer each (EA) when count equals 1","orderful_x12_codes":["1N"]},"cover":{"description":"Cover — individual lid or covering unit","orderful_x12_codes":["CV"]},"display":{"description":"Display — shelf-ready PDQ or floor display holding multiple retail units","orderful_x12_codes":["DS"]},"dozen":{"description":"Dozen — 12 units; standard quantity for eggs, bottles, and similar items","orderful_x12_codes":["DZ"]},"drum":{"description":"Drum — large cylindrical container; typically 55 gallons; used for chemicals and liquids","orderful_x12_codes":["DR"]},"each":{"description":"Each — single individual unit; default UOM when no other code applies","orderful_x12_codes":["EA"]},"flakeTon":{"description":"Flake ton — ton measured in flake form; used for flaked or pelletized bulk material","orderful_x12_codes":["FL"]},"foot":{"description":"Foot — imperial length; 12 inches; used for lumber, pipe, and fabric","orderful_x12_codes":["FT"]},"gallon":{"description":"Gallon — US liquid volume; 128 fluid ounces; used for paint, chemicals, and beverages","orderful_x12_codes":["GA"]},"gram":{"description":"Gram — metric unit of mass; used for small weight quantities in food and pharma","orderful_x12_codes":["GR"]},"gramsPerLiter":{"description":"Grams per liter — solution concentration unit; used in chemical and food industries","orderful_x12_codes":["GL"]},"inch":{"description":"Inch — imperial length; 1/12 foot; used for dimensions and hardware","orderful_x12_codes":["IN"]},"kilogram":{"description":"Kilogram — 1,000 grams; standard metric weight UOM in international trade","orderful_x12_codes":["KG"]},"kit":{"description":"Kit — predefined set of parts packaged together for assembly or installation","orderful_x12_codes":["KT"]},"knots":{"description":"Knots — nautical speed (nm/hr); used in marine shipping contexts","orderful_x12_codes":["EH"]},"linearFoot":{"description":"Linear foot — length in feet regardless of width; used for trim, cable, and fabric","orderful_x12_codes":["LF"]},"liter":{"description":"Liter — metric liquid volume; ~1.057 US quarts; standard international liquid UOM","orderful_x12_codes":["LT"]},"meter":{"description":"Meter — base metric unit of length; ~39.37 inches","orderful_x12_codes":["MR"]},"milliliter":{"description":"Milliliter — 0.001 liter; used for small liquid quantities in pharma and beverages","orderful_x12_codes":["ML"]},"monetaryValue":{"description":"Monetary value — quantity expressed as a currency amount","orderful_x12_codes":["M4"]},"ocularInsertSystem":{"description":"Ocular insert system — pharmaceutical ophthalmic delivery unit placed in the eye","orderful_x12_codes":["AU"]},"order":{"description":"Order — entire purchase order treated as a single billable unit","orderful_x12_codes":["ET"]},"ounce":{"description":"Ounce — imperial weight; 1/16 pound; common in US food and retail","orderful_x12_codes":["OZ"]},"packPAK":{"description":"Pack (PAK) — sealed multi-unit retail pack; use instead of package (PK) when the pack form is specifically a PAK","orderful_x12_codes":["PH"]},"package":{"description":"Package — general-purpose shipping or retail package; use when the pack type is unspecified","orderful_x12_codes":["PK"]},"pad":{"description":"Pad — flat stacked unit; used for paper notepads or sticker sheets","orderful_x12_codes":["PD"]},"pail":{"description":"Pail — small open-top bucket, typically 1–5 gallons; used for paint and adhesives","orderful_x12_codes":["PA"]},"pair":{"description":"Pair — two matching items sold together (shoes, gloves, socks)","orderful_x12_codes":["PR"]},"pairInches":{"description":"Pair inches — pipe fitting measurement; a pair measured in inches","orderful_x12_codes":["PB"]},"palletLift":{"description":"Pallet lift (PF) — individual pallet; use when counting or billing by pallet. Distinct from palletUnitLoad (PL) which is the complete loaded pallet","orderful_x12_codes":["PF"]},"palletUnitLoad":{"description":"Pallet unit load (PL) — complete loaded pallet as shipped, including goods and pallet. Distinct from palletLift (PF) which counts the pallet itself","orderful_x12_codes":["PL"]},"person":{"description":"Person — individual person; used for labor, staffing, or capacity billing","orderful_x12_codes":["IE"]},"piece":{"description":"Piece — individual item not in a standard retail package; used for industrial and bulk parts","orderful_x12_codes":["PC"]},"pint":{"description":"Pint — liquid volume; 16 US fluid ounces","orderful_x12_codes":["PT"]},"pound":{"description":"Pound — imperial weight; most common weight UOM in US grocery and distribution","orderful_x12_codes":["LB","01","PN"]},"poundEquivalent":{"description":"Pound equivalent — standardized weight comparison unit; used in apparel and textile industries","orderful_x12_codes":["PE"]},"poundGross":{"description":"Pound gross — total weight including all packaging and the container itself","orderful_x12_codes":["PG"]},"quart":{"description":"Quart — US liquid volume unit; 0.946 liters; used for paint, motor oil, and liquids sold in quart containers","orderful_x12_codes":["QT"]},"reel":{"description":"Reel — cylindrical spool unit; used for wire, cable, film, or tape wound on a hub","orderful_x12_codes":["RE"]},"roll":{"description":"Roll — cylindrical wrapped unit; used for paper, fabric, or flexible material rolled without a rigid hub. Distinct from reel (RE) which has a hub","orderful_x12_codes":["RL"]},"section":{"description":"Section — subdivision of a larger structure sold as a distinct piece; used in furniture, shelving, or land measurement","orderful_x12_codes":["SE"]},"set":{"description":"Set — defined collection of matched or functionally related items sold together; use when items are inseparable as a set","orderful_x12_codes":["ST"]},"sheet":{"description":"Sheet — single flat panel unit; used for glass, metal, plywood, drywall, or paper sold in flat cut pieces","orderful_x12_codes":["SH"]},"sixPack":{"description":"Six-pack (6P) — fixed retail grouping of exactly 6 units; use for beverages or consumer goods sold as a pre-packaged six. Distinct from threePack (P3)","orderful_x12_codes":["P6"]},"squareFoot":{"description":"Square foot — area unit; 144 square inches; used for flooring, roofing, fabric, and surface-area pricing","orderful_x12_codes":["SF"]},"syringe":{"description":"Syringe — pre-filled or unit-dose injectable pharmaceutical unit","orderful_x12_codes":["SZ"]},"thousand":{"description":"Thousand (M) — quantity multiplier; used when pricing or ordering in increments of 1,000 (e.g., fasteners, bricks, sheets). Distinct from each (EA)","orderful_x12_codes":["TH"]},"threePack":{"description":"Three-pack (P3) — fixed retail grouping of exactly 3 units; use for consumer goods sold as a pre-packaged triple. Distinct from sixPack (6P)","orderful_x12_codes":["P3"]},"tote":{"description":"Tote — large reusable open-top container or bin; used in warehouse and bulk distribution settings","orderful_x12_codes":["TE"]},"tube":{"description":"Tube — cylindrical dispensing container; used for adhesives, ointments, toothpaste, or caulk sold in squeezable tubes","orderful_x12_codes":["TB"]},"unit":{"description":"Unit (UN) — generic count when no specific UOM code applies; use as a last resort when the item type does not match any other code","orderful_x12_codes":["UN"]},"vial":{"description":"Vial — small sealed glass or plastic container; used for injectable drugs, reagents, or laboratory specimens","orderful_x12_codes":["VI"]}}}},"required":["value"],"additionalProperties":false},"scheduledShipDate":{"description":"Scheduled date for shipment of backordered items","orderful_x12_codes":["068","010","080","083","086"],"orderful_x12_path":["855:PO1_loop.*.ACK_loop.*.lineItemAcknowledgment.* | dateTimeQualifier=068,010,080,083,086","855:PO1_loop.*.ACK_loop.*.dateTimeReference.* | dateTimeQualifier=068,010,080,083,086"],"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}]},"estimatedDeliveryDate":{"description":"Estimated delivery date for backordered items","orderful_x12_codes":["067","017"],"orderful_x12_path":["855:PO1_loop.*.ACK_loop.*.lineItemAcknowledgment.* | dateTimeQualifier=067,017","855:PO1_loop.*.ACK_loop.*.dateTimeReference.* | dateTimeQualifier=067,017","855:PO1_loop.*.dateTimeReference.* | dateTimeQualifier=067,017"],"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}]}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"onHold","description":"Indicates the item is on hold with no confirmed availability date","orderful_x12_path":["855:PO1_loop.*.ACK_loop.*.lineItemAcknowledgment.*.lineItemStatusCode"],"orderful_x12_codes":["IH"]},"statusNote":{"description":"Additional notes or comments about the hold","orderful_x12_notes":["Source varies by trading partner. Common sources: REF segment or N9-MSG/MTX."],"type":"object","properties":{"description":{"description":"Brief description or title of the note","type":"string"},"text":{"description":"Array of text lines for the note content","type":"array","items":{"type":"string"}}},"additionalProperties":false},"quantity":{"description":"Quantity on hold","orderful_x12_path":["855:PO1_loop.*.ACK_loop.*.lineItemAcknowledgment.*.quantity"],"orderful_x12_notes":["ACK02/ACK03 — quantity and unit of measure"],"type":"object","properties":{"value":{"type":"string","description":"Numeric quantity value"},"unitOfMeasure":{"description":"Unit of measure for the quantity","type":"string","enum":["assembly","assortment","bag","bale","ball","bar","barrel","belt","bin","block","boardFeet","bolt","book","bottle","box","bulk","bundle","bushel","cake","can","card","carton","cartridge","case","cassette","celsius","cell","centigram","centiliter","centimeter","coil","combo","cone","container","count","cover","display","dozen","drum","each","flakeTon","foot","gallon","gram","gramsPerLiter","inch","kilogram","kit","knots","linearFoot","liter","meter","milliliter","monetaryValue","ocularInsertSystem","order","ounce","packPAK","package","pad","pail","pair","pairInches","palletLift","palletUnitLoad","person","piece","pint","pound","poundEquivalent","poundGross","quart","reel","roll","section","set","sheet","sixPack","squareFoot","syringe","thousand","threePack","tote","tube","unit","vial"],"orderful_x12_path":["856:HL_loop.*.itemDetailShipment.*.unitOrBasisForMeasurementCode","856:HL_loop.*.itemDetailShipment.*.unitOrBasisForMeasurementCode1","856:HL_loop.*.sublineItemDetail.*.unitOrBasisForMeasurementCode"],"orderful_enum_meta":{"assembly":{"description":"Assembly — set of manufactured components combined into a functional unit","orderful_x12_codes":["AY"]},"assortment":{"description":"Assortment — mixed selection of multiple SKUs or item types in one unit","orderful_x12_codes":["AS"]},"bag":{"description":"Bag — flexible container; used for produce, grains, or loose items","orderful_x12_codes":["BG"]},"bale":{"description":"Bale — compressed bundle; used for textiles, paper, or agricultural products","orderful_x12_codes":["BA"]},"ball":{"description":"Ball — spherical wound unit; used for yarn, twine, or wire","orderful_x12_codes":["AA"]},"bar":{"description":"Bar — rigid elongated unit; used for metal stock, soap, or food products","orderful_x12_codes":["BI"]},"barrel":{"description":"Barrel — cylindrical container; standard 42-gallon oil barrel or general dry goods","orderful_x12_codes":["BR"]},"belt":{"description":"Belt — long continuous flat strip sold by unit; used for conveyor or drive belts","orderful_x12_codes":["BT"]},"bin":{"description":"Bin — open-top storage container for bulk loose items","orderful_x12_codes":["2W"]},"block":{"description":"Block — solid rectangular unit; used for cheese, ice, or masonry materials","orderful_x12_codes":["BL"]},"boardFeet":{"description":"Board feet — lumber volume unit; 1 ft × 1 ft × 1 in thick","orderful_x12_codes":["BF"]},"bolt":{"description":"Bolt — roll of fabric measured in linear yards","orderful_x12_codes":["BM"]},"book":{"description":"Book — bound or tabbed unit; used for matches, stamps, or checks","orderful_x12_codes":["BK"]},"bottle":{"description":"Bottle — rigid container with a narrow neck; used for liquids","orderful_x12_codes":["BO"]},"box":{"description":"Box — rigid rectangular container; standard retail or shipping unit","orderful_x12_codes":["BX"]},"bulk":{"description":"Bulk — unpackaged loose quantity; no individual container or wrapping","orderful_x12_codes":["BN"]},"bundle":{"description":"Bundle — group of items tied or strapped together; used for rebar, pipes, lumber","orderful_x12_codes":["BD"]},"bushel":{"description":"Bushel — dry volume; 64 US pints; used for grain and produce","orderful_x12_codes":["BU"]},"cake":{"description":"Cake — compressed solid block; used for yeast, soap, or wax","orderful_x12_codes":["KA"]},"can":{"description":"Can — metal sealed cylindrical container","orderful_x12_codes":["CN"]},"card":{"description":"Card — flat backing card; used for hanging retail blister packs","orderful_x12_codes":["CG"]},"carton":{"description":"Carton — paperboard box; typical inner or outer shipping container","orderful_x12_codes":["CT"]},"cartridge":{"description":"Cartridge — self-contained replaceable unit; used for ink, filters, or ammunition","orderful_x12_codes":["CQ"]},"case":{"description":"Case — outer shipping container holding multiple inner units; most common shipper UOM","orderful_x12_codes":["CA"]},"cassette":{"description":"Cassette — enclosed tape or cartridge format; used for media, ribbon, or film","orderful_x12_codes":["CS"]},"celsius":{"description":"Celsius — temperature unit; used when a quantity represents a temperature value","orderful_x12_codes":["CE"]},"cell":{"description":"Cell — individual battery cell or biological sample unit","orderful_x12_codes":["C6"]},"centigram":{"description":"Centigram — 0.01 gram; unit of mass for small precise quantities","orderful_x12_codes":["AF"]},"centiliter":{"description":"Centiliter — 0.01 liter; unit of liquid volume for small quantities","orderful_x12_codes":["C3"]},"centimeter":{"description":"Centimeter — 0.01 meter; unit of length","orderful_x12_codes":["CM"]},"coil":{"description":"Coil — wound continuous material; used for wire, steel strip, hose, or tubing","orderful_x12_codes":["CX"]},"combo":{"description":"Combo — bundled multi-component set sold as a single unit","orderful_x12_codes":["CZ"]},"cone":{"description":"Cone — conical spindle or spool; used for thread or yarn","orderful_x12_codes":["CJ"]},"container":{"description":"Container — generic shipping container; use when no more specific form applies","orderful_x12_codes":["CH"]},"count":{"description":"Count — generic numerical count of individual items; prefer each (EA) when count equals 1","orderful_x12_codes":["1N"]},"cover":{"description":"Cover — individual lid or covering unit","orderful_x12_codes":["CV"]},"display":{"description":"Display — shelf-ready PDQ or floor display holding multiple retail units","orderful_x12_codes":["DS"]},"dozen":{"description":"Dozen — 12 units; standard quantity for eggs, bottles, and similar items","orderful_x12_codes":["DZ"]},"drum":{"description":"Drum — large cylindrical container; typically 55 gallons; used for chemicals and liquids","orderful_x12_codes":["DR"]},"each":{"description":"Each — single individual unit; default UOM when no other code applies","orderful_x12_codes":["EA"]},"flakeTon":{"description":"Flake ton — ton measured in flake form; used for flaked or pelletized bulk material","orderful_x12_codes":["FL"]},"foot":{"description":"Foot — imperial length; 12 inches; used for lumber, pipe, and fabric","orderful_x12_codes":["FT"]},"gallon":{"description":"Gallon — US liquid volume; 128 fluid ounces; used for paint, chemicals, and beverages","orderful_x12_codes":["GA"]},"gram":{"description":"Gram — metric unit of mass; used for small weight quantities in food and pharma","orderful_x12_codes":["GR"]},"gramsPerLiter":{"description":"Grams per liter — solution concentration unit; used in chemical and food industries","orderful_x12_codes":["GL"]},"inch":{"description":"Inch — imperial length; 1/12 foot; used for dimensions and hardware","orderful_x12_codes":["IN"]},"kilogram":{"description":"Kilogram — 1,000 grams; standard metric weight UOM in international trade","orderful_x12_codes":["KG"]},"kit":{"description":"Kit — predefined set of parts packaged together for assembly or installation","orderful_x12_codes":["KT"]},"knots":{"description":"Knots — nautical speed (nm/hr); used in marine shipping contexts","orderful_x12_codes":["EH"]},"linearFoot":{"description":"Linear foot — length in feet regardless of width; used for trim, cable, and fabric","orderful_x12_codes":["LF"]},"liter":{"description":"Liter — metric liquid volume; ~1.057 US quarts; standard international liquid UOM","orderful_x12_codes":["LT"]},"meter":{"description":"Meter — base metric unit of length; ~39.37 inches","orderful_x12_codes":["MR"]},"milliliter":{"description":"Milliliter — 0.001 liter; used for small liquid quantities in pharma and beverages","orderful_x12_codes":["ML"]},"monetaryValue":{"description":"Monetary value — quantity expressed as a currency amount","orderful_x12_codes":["M4"]},"ocularInsertSystem":{"description":"Ocular insert system — pharmaceutical ophthalmic delivery unit placed in the eye","orderful_x12_codes":["AU"]},"order":{"description":"Order — entire purchase order treated as a single billable unit","orderful_x12_codes":["ET"]},"ounce":{"description":"Ounce — imperial weight; 1/16 pound; common in US food and retail","orderful_x12_codes":["OZ"]},"packPAK":{"description":"Pack (PAK) — sealed multi-unit retail pack; use instead of package (PK) when the pack form is specifically a PAK","orderful_x12_codes":["PH"]},"package":{"description":"Package — general-purpose shipping or retail package; use when the pack type is unspecified","orderful_x12_codes":["PK"]},"pad":{"description":"Pad — flat stacked unit; used for paper notepads or sticker sheets","orderful_x12_codes":["PD"]},"pail":{"description":"Pail — small open-top bucket, typically 1–5 gallons; used for paint and adhesives","orderful_x12_codes":["PA"]},"pair":{"description":"Pair — two matching items sold together (shoes, gloves, socks)","orderful_x12_codes":["PR"]},"pairInches":{"description":"Pair inches — pipe fitting measurement; a pair measured in inches","orderful_x12_codes":["PB"]},"palletLift":{"description":"Pallet lift (PF) — individual pallet; use when counting or billing by pallet. Distinct from palletUnitLoad (PL) which is the complete loaded pallet","orderful_x12_codes":["PF"]},"palletUnitLoad":{"description":"Pallet unit load (PL) — complete loaded pallet as shipped, including goods and pallet. Distinct from palletLift (PF) which counts the pallet itself","orderful_x12_codes":["PL"]},"person":{"description":"Person — individual person; used for labor, staffing, or capacity billing","orderful_x12_codes":["IE"]},"piece":{"description":"Piece — individual item not in a standard retail package; used for industrial and bulk parts","orderful_x12_codes":["PC"]},"pint":{"description":"Pint — liquid volume; 16 US fluid ounces","orderful_x12_codes":["PT"]},"pound":{"description":"Pound — imperial weight; most common weight UOM in US grocery and distribution","orderful_x12_codes":["LB","01","PN"]},"poundEquivalent":{"description":"Pound equivalent — standardized weight comparison unit; used in apparel and textile industries","orderful_x12_codes":["PE"]},"poundGross":{"description":"Pound gross — total weight including all packaging and the container itself","orderful_x12_codes":["PG"]},"quart":{"description":"Quart — US liquid volume unit; 0.946 liters; used for paint, motor oil, and liquids sold in quart containers","orderful_x12_codes":["QT"]},"reel":{"description":"Reel — cylindrical spool unit; used for wire, cable, film, or tape wound on a hub","orderful_x12_codes":["RE"]},"roll":{"description":"Roll — cylindrical wrapped unit; used for paper, fabric, or flexible material rolled without a rigid hub. Distinct from reel (RE) which has a hub","orderful_x12_codes":["RL"]},"section":{"description":"Section — subdivision of a larger structure sold as a distinct piece; used in furniture, shelving, or land measurement","orderful_x12_codes":["SE"]},"set":{"description":"Set — defined collection of matched or functionally related items sold together; use when items are inseparable as a set","orderful_x12_codes":["ST"]},"sheet":{"description":"Sheet — single flat panel unit; used for glass, metal, plywood, drywall, or paper sold in flat cut pieces","orderful_x12_codes":["SH"]},"sixPack":{"description":"Six-pack (6P) — fixed retail grouping of exactly 6 units; use for beverages or consumer goods sold as a pre-packaged six. Distinct from threePack (P3)","orderful_x12_codes":["P6"]},"squareFoot":{"description":"Square foot — area unit; 144 square inches; used for flooring, roofing, fabric, and surface-area pricing","orderful_x12_codes":["SF"]},"syringe":{"description":"Syringe — pre-filled or unit-dose injectable pharmaceutical unit","orderful_x12_codes":["SZ"]},"thousand":{"description":"Thousand (M) — quantity multiplier; used when pricing or ordering in increments of 1,000 (e.g., fasteners, bricks, sheets). Distinct from each (EA)","orderful_x12_codes":["TH"]},"threePack":{"description":"Three-pack (P3) — fixed retail grouping of exactly 3 units; use for consumer goods sold as a pre-packaged triple. Distinct from sixPack (6P)","orderful_x12_codes":["P3"]},"tote":{"description":"Tote — large reusable open-top container or bin; used in warehouse and bulk distribution settings","orderful_x12_codes":["TE"]},"tube":{"description":"Tube — cylindrical dispensing container; used for adhesives, ointments, toothpaste, or caulk sold in squeezable tubes","orderful_x12_codes":["TB"]},"unit":{"description":"Unit (UN) — generic count when no specific UOM code applies; use as a last resort when the item type does not match any other code","orderful_x12_codes":["UN"]},"vial":{"description":"Vial — small sealed glass or plastic container; used for injectable drugs, reagents, or laboratory specimens","orderful_x12_codes":["VI"]}}}},"required":["value"],"additionalProperties":false}},"required":["status"],"additionalProperties":false}]},"description":"Actions taken on this line item (accepted, rejected, or backordered)","orderful_x12_path":["855:PO1_loop.*.ACK_loop.*"],"orderful_x12_notes":["Multiple actions partition the line's quantity (e.g. 10 accepted + 5 backordered for an order of 15). In multi-action lines, per-action quantities are partitions, not change indicators — quantity-change derivation only applies when a line has a single accepted action. Each action is evaluated against the guideline's allowed ACK01 codes independently."]}},"required":["productIds","actions"],"additionalProperties":false}}},"required":["purchaseOrderNumber","status"],"additionalProperties":false}