ECGrid Simplify
Canonical Organizational Relationships 816 Format Specification
Version: 1.0 Date: June 2026 Owner: ECGrid Product
1. Purpose
This document defines the canonical Organizational Relationships format used by ECGrid Simplify. It is the single source of truth for document structure, field definitions, data types, required fields, and serialisation rules across XML and JSON.
Both XML and JSON representations convey the same logical Organizational Relationships message. The 816 transaction set communicates an organizational hierarchy (Company, Subsidiary, Store Location) between trading partners, enabling downstream systems to build or update their location trees.
Direction Note: The Canonical Organizational Relationships flows inbound to ECGrid from the trading partner. ECGrid receives the X12 816 EDI and translates it to this canonical format for delivery to internal systems that maintain the location hierarchy.
2. Scope
In scope:
- Organizational Relationships document structure (envelope, header, header party, and hierarchy items).
- Field-level definitions, data types, required fields, and EDI source mapping.
- Canonical XML and JSON representations.
- Hierarchy level codes: CO (Company), SS (Subsidiary), SL (Store Location).
- Per-node party information (N1 loop inside LoopHL) and supplemental data (QTY, DTM, LQ, ASI, REF).
Out of scope:
- Transport (HTTPS, AS2, SFTP). Covered in ECGrid Simplify API docs.
- Functional acknowledgments and application responses.
- X12 816 EDI mapping rules. See Map_ANSI X12 816 004010 To Simplify XML Organizational Relationships 816 - Global.csv.
3. Document Structure
A canonical Organizational Relationships payload contains an OrganizationalRelationshipsMessage root element with exactly one OrganizationalRelationships child. The child holds all envelope fields from ISA/GS, header fields from BHT/DTM/REF segments, one HeaderParty block (LoopN1 at header level), and one or more HierarchyItem entries from the LoopHL loop. Each HierarchyItem contains the HL segment fields plus the inner LoopN1 party data and optional supplemental segments (REF, QTY, DTM, LQ, ASI).
XML vs JSON Naming: Both XML and JSON use PascalCase field names throughout. The JSON root key is "OrganizationalRelationshipsMessage" — matching the XML root element exactly. HierarchyItem is an array in JSON even when only one item is present.
Top-level shape:
OrganizationalRelationshipsMessage
└── OrganizationalRelationships (required, exactly one)
├── TradingPartnerId / Sender / Receiver … (envelope, ISA/GS)
├── HierarchicalStructureCode / ReferenceNumber … (header, BHT)
├── DateQualifier / Date / Time (DTM)
├── ReferenceQualifier / Reference … (REF)
├── HeaderParty (single block, header-level LoopN1)
└── HierarchyItem (1..n, one per LoopHL)
├── HierarchicalIdNumber / HierarchicalLevelCode … (HL)
├── EntityIdentifierCode / Name / IdentificationCode … (inner LoopN1)
├── ItemReferenceQualifier / ItemReference (REF)
├── QuantityQualifier / Quantity / QuantityUOM (QTY)
├── ItemDateQualifier / ItemDate / ItemTime (DTM)
├── IndustryCodeQualifier / IndustryCode (LQ)
└── ActionCode / MaintenanceTypeCode / StatusReasonCode (ASI)
3.1 Hierarchy Level Codes (HL-03)
The HL-03 element defines the level of each node in the organizational tree. Three codes are supported in the 816 004010 implementation:
HL-03 Code | Level Name | Description |
CO | Company | Top-level legal entity. HL-02 is empty; HL-04=1 (has children). |
SS | Subsidiary | Division or subsidiary. HL-02 points to its parent CO. HL-04=1 if it has store locations. |
SL | Store Location | Specific store or facility. HL-02 points to its parent SS. HL-04=0 (leaf node). |
4. Envelope Fields
Sourced from ISA (interchange) and GS (functional group) segments.
ISA fixed-width: ISA-06 (Sender) and ISA-08 (Receiver) are 15-character fixed-width fields padded with trailing spaces. ECGrid always trims before populating TradingPartnerId, Sender, and Receiver.
XML Element | JSON Property | Req | Description |
TradingPartnerId | TradingPartnerId | Yes | ISA-06 — ECGrid trading partner identifier. 15-char fixed-width; always trimmed. |
Sender | Sender | Yes | ISA-06 — Interchange sender identifier value. Trimmed. |
SenderQualifier | SenderQualifier | Yes | ISA-05 — Qualifies the sender identifier type (e.g. 01=DUNS, ZZ=Mutually Defined). |
Receiver | Receiver | Yes | ISA-08 — Interchange receiver identifier value. Trimmed. |
ReceiverQualifier | ReceiverQualifier | Yes | ISA-07 — Qualifies the receiver identifier type. |
InterchangeDate | InterchangeDate | Yes | ISA-09 — Interchange date. YYMMDD format. |
InterchangeControlNumber | InterchangeControlNumber | Yes | ISA-13 — Interchange control number. |
TestProductionIndicator | TestProductionIndicator | Yes | ISA-15 — T=Test, P=Production. |
GroupFunctionCode | GroupFunctionCode | Yes | GS-01 — Functional identifier code (OR=Organizational Relationships). |
5. Header Fields
Sourced from BHT (beginning of hierarchical transaction), DTM (date/time reference), and REF (reference identification) segments at the transaction header level.
BHT segment: BHT-01 (HierarchicalStructureCode) defines the hierarchy type. BHT-02=00 for original, 05=replace, 01=cancellation. BHT-04 is YYYYMMDD; BHT-05 is HHMM (optional).
XML Element | JSON Property | Req | Description |
HierarchicalStructureCode | HierarchicalStructureCode | Yes | BHT-01 — Hierarchical structure code. Identifies the hierarchy type (e.g. 0001). |
TransactionSetPurposeCode | TransactionSetPurposeCode | Yes | BHT-02 — Transaction purpose. 00=Original, 05=Replace, 01=Cancellation. |
ReferenceNumber | ReferenceNumber | Yes | BHT-03 — Unique reference number for this transaction. |
TransactionDate | TransactionDate | Yes | BHT-04 — Date the transaction was created. YYYYMMDD format. |
TransactionTime | TransactionTime | No | BHT-05 — Time the transaction was created. HHMM format. |
TransactionTypeCode | TransactionTypeCode | No | BHT-06 — Transaction type code (e.g. CN=Commitment). |
DateQualifier | DateQualifier | No | DTM-01 — Date qualifier code (e.g. 007=Effective Date). |
Date | Date | No | DTM-02 — Date value. YYYYMMDD format. |
Time | Time | No | DTM-03 — Time value. HHMM format. |
ReferenceQualifier | ReferenceQualifier | No | REF-01 — Reference qualifier code (e.g. BM=Bill of Lading). |
Reference | Reference | No | REF-02 — Reference identification value. |
ReferenceDescription | ReferenceDescription | No | REF-03 — Free-form reference description. |
6. Header Party Block (LoopN1)
A single header-level party block is extracted from the LoopN1 appearing before LoopHL. Unlike party blocks in 753/754 which use qualifier routing (SF/ST/BT), the 816 header has a single LoopN1 — all fields map directly to HeaderParty.
Single party, no qualifier filter: The header LoopN1 in 816 contains one party. ECGrid maps it to HeaderParty directly without filtering by N1-01 qualifier. The EntityIdentifierCode field carries the qualifier value (e.g. FR=From).
Contact phone/email extraction: PER-03 is the qualifier: TE=Telephone, EM=Email. If PER-03=TE then ContactPhone=PER-04; if PER-05=TE then ContactPhone=PER-06. Same pattern for ContactEmail with qualifier EM.
6.1 HeaderParty
XML Element | JSON Property | Req | Description |
EntityIdentifierCode | EntityIdentifierCode | Yes | N1-01 — Entity identifier code qualifying the party role (e.g. FR=From). |
Name | Name | Yes | N1-02 — Party legal or trading name. |
IdentificationCodeQualifier | IdentificationCodeQualifier | No | N1-03 — Code qualifying the identifier type (e.g. 91=Assigned by Seller). |
IdentificationCode | IdentificationCode | No | N1-04 — Party identifier value (e.g. account number, location code). |
EntityRelationshipCode | EntityRelationshipCode | No | N1-05 — Entity relationship code. |
EntityIdentifierCode2 | EntityIdentifierCode2 | No | N1-06 — Secondary entity identifier code. |
AdditionalName | AdditionalName | No | N2-01 — Additional name line. |
StreetAddress1 | StreetAddress1 | No | N3-01 — Primary street address line. |
StreetAddress2 | StreetAddress2 | No | N3-02 — Secondary address line (suite, unit, etc.). |
City | City | No | N4-01 — City name. |
StateCode | StateCode | No | N4-02 — Two-letter state or province code. |
PostalCode | PostalCode | No | N4-03 — Postal / ZIP code. |
CountryCode | CountryCode | No | N4-04 — ISO 3166-1 alpha-2 country code (e.g. US). |
ContactFunctionCode | ContactFunctionCode | No | PER-01 — Contact function code (e.g. CN=General Contact). |
ContactName | ContactName | No | PER-02 — Contact person or department name. |
ContactPhone | ContactPhone | No | PER-04 (PER-03=TE) — Contact phone number. Extracted when PER-03 qualifier is TE. |
ContactEmail | ContactEmail | No | PER-04 (PER-03=EM) — Contact email address. Extracted when PER-03 qualifier is EM. |
7. Hierarchy Item Fields (LoopHL)
The HierarchyItem element repeats for each LoopHL. Within each loop: HL (hierarchy identifiers), LoopN1 (party data for this node), and optional segments REF, QTY, DTM, LQ, and ASI.
HL parent-child linking: HierarchicalIdNumber (HL-01) is the unique ID of this node. HierarchicalParentIdNumber (HL-02) references the HL-01 of the parent node. Top-level CO nodes have an empty HL-02. HL-04=1 means the node has children; HL-04=0 is a leaf node.
Inner LoopN1 vs HeaderParty: Each HierarchyItem has its own LoopN1 describing the organization at that level. These fields (EntityIdentifierCode through ContactEmail) are flattened directly into HierarchyItem alongside the HL fields and supplemental segment fields.
Supplemental segments: REF, QTY, DTM, LQ, and ASI inside LoopN1 are optional. They provide reference numbers, quantities, effective dates, industry codes, and action codes for the specific hierarchy node.
XML Element | JSON Property | Req | Description |
HierarchicalIdNumber | HierarchicalIdNumber | Yes | HL-01 — Sequential hierarchy ID number for this item. |
HierarchicalParentIdNumber | HierarchicalParentIdNumber | No | HL-02 — HL-01 of the parent item. Empty for top-level (CO) items. |
HierarchicalLevelCode | HierarchicalLevelCode | Yes | HL-03 — Level code. CO=Company, SS=Subsidiary, SL=Store Location. |
HierarchicalChildCode | HierarchicalChildCode | Yes | HL-04 — 1=has children, 0=leaf node (no children). |
EntityIdentifierCode | EntityIdentifierCode | Yes | N1-01 (inner LoopN1) — Entity identifier code for this hierarchy node (e.g. OU=Organizational Unit). |
Name | Name | Yes | N1-02 — Name of the organization at this hierarchy level. |
IdentificationCodeQualifier | IdentificationCodeQualifier | No | N1-03 — Code qualifying the identifier type (e.g. 91=Assigned by Seller). |
IdentificationCode | IdentificationCode | No | N1-04 — Identifier value for this node (e.g. store code, division ID). |
EntityRelationshipCode | EntityRelationshipCode | No | N1-05 — Entity relationship code. |
EntityIdentifierCode2 | EntityIdentifierCode2 | No | N1-06 — Secondary entity identifier code. |
AdditionalName | AdditionalName | No | N2-01 — Additional name line. |
StreetAddress1 | StreetAddress1 | No | N3-01 — Primary street address line. |
StreetAddress2 | StreetAddress2 | No | N3-02 — Secondary address line. |
City | City | No | N4-01 — City name. |
StateCode | StateCode | No | N4-02 — Two-letter state or province code. |
PostalCode | PostalCode | No | N4-03 — Postal / ZIP code. |
CountryCode | CountryCode | No | N4-04 — ISO 3166-1 alpha-2 country code. |
ContactFunctionCode | ContactFunctionCode | No | PER-01 (inner LoopN1) — Contact function code. |
ContactName | ContactName | No | PER-02 — Contact person name. |
ContactPhone | ContactPhone | No | PER-04 (PER-03=TE) — Contact phone number. |
ContactEmail | ContactEmail | No | PER-04 (PER-03=EM) — Contact email address. |
ItemReferenceQualifier | ItemReferenceQualifier | No | REF-01 (inner LoopN1) — Reference qualifier code for this node. |
ItemReference | ItemReference | No | REF-02 — Reference identification value for this node. |
QuantityQualifier | QuantityQualifier | No | QTY-01 — Quantity qualifier code (e.g. 01=Discrete Quantity). |
Quantity | Quantity | No | QTY-02 — Quantity value. |
QuantityUOM | QuantityUOM | No | QTY-03-01 — Unit of measure code for the quantity. |
ItemDateQualifier | ItemDateQualifier | No | DTM-01 (inner LoopN1) — Date qualifier code for this node (e.g. 007=Effective Date). |
ItemDate | ItemDate | No | DTM-02 — Date value. YYYYMMDD format. |
ItemTime | ItemTime | No | DTM-03 — Time value. HHMM format. |
IndustryCodeQualifier | IndustryCodeQualifier | No | LQ-01 — Industry code qualifier (e.g. ZZ=Mutually Defined). |
IndustryCode | IndustryCode | No | LQ-02 — Industry or classification code value. |
ActionCode | ActionCode | No | ASI-01 — Action code (e.g. A=Add, D=Delete, C=Change). |
MaintenanceTypeCode | MaintenanceTypeCode | No | ASI-02 — Maintenance type code. |
StatusReasonCode | StatusReasonCode | No | ASI-03 — Status reason code. |
8. Naming Conventions
Both XML and JSON use PascalCase field names throughout (e.g. HierarchicalLevelCode, IdentificationCode, ItemReference). XML and JSON field names are identical.
The JSON root key is "OrganizationalRelationshipsMessage" — matching the XML root element exactly. HierarchyItem is always represented as a JSON array.
Empty optional values: XML: <FieldName></FieldName>. JSON: "FieldName": "". Every field is always present in the output even when absent from the EDI.
All values are strings: All canonical values are typed as string — including numeric-looking fields such as HierarchicalIdNumber, Quantity, and HierarchicalChildCode.
Item-level vs header-level DTM/REF: Header DTM maps to DateQualifier/Date/Time. Header REF maps to ReferenceQualifier/Reference/ReferenceDescription. Item-level DTM (inside LoopHL/LoopN1) maps to ItemDateQualifier/ItemDate/ItemTime. Item-level REF maps to ItemReferenceQualifier/ItemReference.
9. Validation Rules
Rule | Detail |
Required fields | TradingPartnerId, SenderQualifier, Sender, ReceiverQualifier, Receiver, GroupFunctionCode, HierarchicalStructureCode, TransactionSetPurposeCode, ReferenceNumber, TransactionDate are always populated from the EDI. |
Missing fields | Every field in the canonical structure is always present — no fields are omitted even when absent from the EDI. |
ISA trimming | ISA-06 and ISA-08 are 15-character fixed-width; always trim trailing spaces. |
HL-03 valid codes | Only CO (Company), SS (Subsidiary), and SL (Store Location) are valid HL-03 values in the 816 004010 implementation. |
HL-02 empty at root | Top-level CO nodes have an empty HierarchicalParentIdNumber. All other nodes must reference a valid parent HL-01. |
HL-04 leaf flag | HL-04=0 indicates a leaf node (SL with no children). HL-04=1 indicates the node has child HL entries. |
HierarchyItem array | JSON: HierarchyItem is always an array, even for a single node. |
Contact extraction | ContactPhone and ContactEmail are extracted by scanning PER-03 and PER-05 for qualifiers TE (telephone) and EM (email). |
Multiple transactions | Multiple ST…SE blocks produce separate OrganizationalRelationships elements (XML) or array entries (JSON). |
QTY-03 composite | QuantityUOM maps to QTY-03-01 (first sub-element of the QTY-03 composite). |
10. XML Example
Canonical 816 Organizational Relationships in XML format. Shows a three-level hierarchy: Company (CO) → Subsidiary (SS) → Store Location (SL).
<?xml version="1.0" encoding="UTF-8"?>
<OrganizationalRelationshipsMessage>
<OrganizationalRelationships>
<TradingPartnerId>112084681</TradingPartnerId>
<Sender>112084681</Sender>
<SenderQualifier>01</SenderQualifier>
<Receiver>609195581</Receiver>
<ReceiverQualifier>01</ReceiverQualifier>
<InterchangeDate>260617</InterchangeDate>
<InterchangeControlNumber>000000816</InterchangeControlNumber>
<TestProductionIndicator>P</TestProductionIndicator>
<GroupFunctionCode>OR</GroupFunctionCode>
<HierarchicalStructureCode>0001</HierarchicalStructureCode>
<TransactionSetPurposeCode>00</TransactionSetPurposeCode>
<ReferenceNumber>816-2026-001</ReferenceNumber>
<TransactionDate>20260617</TransactionDate>
<TransactionTime>1530</TransactionTime>
<TransactionTypeCode>CN</TransactionTypeCode>
<DateQualifier>007</DateQualifier>
<Date>20260617</Date>
<Time></Time>
<ReferenceQualifier>BM</ReferenceQualifier>
<Reference>PO-2026-816</Reference>
<ReferenceDescription></ReferenceDescription>
<HeaderParty>
<EntityIdentifierCode>FR</EntityIdentifierCode>
<Name>ACME Corp</Name>
<IdentificationCodeQualifier>91</IdentificationCodeQualifier>
<IdentificationCode>ACME-HQ</IdentificationCode>
<EntityRelationshipCode></EntityRelationshipCode>
<EntityIdentifierCode2></EntityIdentifierCode2>
<AdditionalName></AdditionalName>
<StreetAddress1>100 Corporate Dr</StreetAddress1>
<StreetAddress2></StreetAddress2>
<City>Chicago</City>
<StateCode>IL</StateCode>
<PostalCode>60601</PostalCode>
<CountryCode>US</CountryCode>
<ContactFunctionCode>CN</ContactFunctionCode>
<ContactName>Jane Doe</ContactName>
<ContactPhone>3125550101</ContactPhone>
<ContactEmail>jane@acme.com</ContactEmail>
</HeaderParty>
<HierarchyItem>
<HierarchicalIdNumber>1</HierarchicalIdNumber>
<HierarchicalParentIdNumber></HierarchicalParentIdNumber>
<HierarchicalLevelCode>CO</HierarchicalLevelCode>
<HierarchicalChildCode>1</HierarchicalChildCode>
<EntityIdentifierCode>OU</EntityIdentifierCode>
<Name>ACME Corp</Name>
<IdentificationCodeQualifier>91</IdentificationCodeQualifier>
<IdentificationCode>ACME-HQ</IdentificationCode>
<StreetAddress1>100 Corporate Dr</StreetAddress1>
<City>Chicago</City>
<StateCode>IL</StateCode>
<PostalCode>60601</PostalCode>
<CountryCode>US</CountryCode>
</HierarchyItem>
<HierarchyItem>
<HierarchicalIdNumber>2</HierarchicalIdNumber>
<HierarchicalParentIdNumber>1</HierarchicalParentIdNumber>
<HierarchicalLevelCode>SS</HierarchicalLevelCode>
<HierarchicalChildCode>1</HierarchicalChildCode>
<EntityIdentifierCode>OU</EntityIdentifierCode>
<Name>Midwest Division</Name>
<IdentificationCodeQualifier>91</IdentificationCodeQualifier>
<IdentificationCode>DIV-MW</IdentificationCode>
<StreetAddress1>500 Midwest Ave</StreetAddress1>
<City>Indianapolis</City>
<StateCode>IN</StateCode>
<PostalCode>46201</PostalCode>
<CountryCode>US</CountryCode>
</HierarchyItem>
<HierarchyItem>
<HierarchicalIdNumber>3</HierarchicalIdNumber>
<HierarchicalParentIdNumber>2</HierarchicalParentIdNumber>
<HierarchicalLevelCode>SL</HierarchicalLevelCode>
<HierarchicalChildCode>0</HierarchicalChildCode>
<EntityIdentifierCode>OU</EntityIdentifierCode>
<Name>Chicago Store 001</Name>
<IdentificationCodeQualifier>91</IdentificationCodeQualifier>
<IdentificationCode>STORE-001</IdentificationCode>
<StreetAddress1>200 N Michigan Ave</StreetAddress1>
<City>Chicago</City>
<StateCode>IL</StateCode>
<PostalCode>60601</PostalCode>
<CountryCode>US</CountryCode>
<ItemReferenceQualifier>YD</ItemReferenceQualifier>
<ItemReference>STORE-001</ItemReference>
<QuantityQualifier>01</QuantityQualifier>
<Quantity>500</Quantity>
<ItemDateQualifier>007</ItemDateQualifier>
<ItemDate>20260617</ItemDate>
<IndustryCodeQualifier>ZZ</IndustryCodeQualifier>
<IndustryCode>RETAIL</IndustryCode>
<ActionCode>A</ActionCode>
<MaintenanceTypeCode>001</MaintenanceTypeCode>
</HierarchyItem>
</OrganizationalRelationships>
</OrganizationalRelationshipsMessage>
11. JSON Example
The same canonical 816 Organizational Relationships in JSON format. HierarchyItem is a JSON array. Empty string ("") represents optional fields not present in the source EDI.
{
"OrganizationalRelationshipsMessage": {
"OrganizationalRelationships": {
"TradingPartnerId": "112084681",
"Sender": "112084681",
"SenderQualifier": "01",
"Receiver": "609195581",
"ReceiverQualifier": "01",
"InterchangeDate": "260617",
"InterchangeControlNumber": "000000816",
"TestProductionIndicator": "P",
"GroupFunctionCode": "OR",
"HierarchicalStructureCode": "0001",
"TransactionSetPurposeCode": "00",
"ReferenceNumber": "816-2026-001",
"TransactionDate": "20260617",
"TransactionTime": "1530",
"TransactionTypeCode": "CN",
"DateQualifier": "007",
"Date": "20260617",
"Time": "",
"ReferenceQualifier": "BM",
"Reference": "PO-2026-816",
"ReferenceDescription": "",
"HeaderParty": {
"EntityIdentifierCode": "FR",
"Name": "ACME Corp",
"IdentificationCodeQualifier": "91",
"IdentificationCode": "ACME-HQ",
"EntityRelationshipCode": "",
"EntityIdentifierCode2": "",
"AdditionalName": "",
"StreetAddress1": "100 Corporate Dr",
"StreetAddress2": "",
"City": "Chicago",
"StateCode": "IL",
"PostalCode": "60601",
"CountryCode": "US",
"ContactFunctionCode": "CN",
"ContactName": "Jane Doe",
"ContactPhone": "3125550101",
"ContactEmail": "jane@acme.com"
},
"HierarchyItem": [
{
"HierarchicalIdNumber": "1",
"HierarchicalParentIdNumber": "",
"HierarchicalLevelCode": "CO",
"HierarchicalChildCode": "1",
"EntityIdentifierCode": "OU",
"Name": "ACME Corp",
"IdentificationCodeQualifier": "91",
"IdentificationCode": "ACME-HQ",
"StreetAddress1": "100 Corporate Dr",
"City": "Chicago",
"StateCode": "IL",
"PostalCode": "60601",
"CountryCode": "US"
},
{
"HierarchicalIdNumber": "2",
"HierarchicalParentIdNumber": "1",
"HierarchicalLevelCode": "SS",
"HierarchicalChildCode": "1",
"EntityIdentifierCode": "OU",
"Name": "Midwest Division",
"IdentificationCodeQualifier": "91",
"IdentificationCode": "DIV-MW",
"StreetAddress1": "500 Midwest Ave",
"City": "Indianapolis",
"StateCode": "IN",
"PostalCode": "46201",
"CountryCode": "US"
},
{
"HierarchicalIdNumber": "3",
"HierarchicalParentIdNumber": "2",
"HierarchicalLevelCode": "SL",
"HierarchicalChildCode": "0",
"EntityIdentifierCode": "OU",
"Name": "Chicago Store 001",
"IdentificationCodeQualifier": "91",
"IdentificationCode": "STORE-001",
"StreetAddress1": "200 N Michigan Ave",
"City": "Chicago",
"StateCode": "IL",
"PostalCode": "60601",
"CountryCode": "US",
"ItemReferenceQualifier": "YD",
"ItemReference": "STORE-001",
"QuantityQualifier": "01",
"Quantity": "500",
"ItemDateQualifier": "007",
"ItemDate": "20260617",
"IndustryCodeQualifier": "ZZ",
"IndustryCode": "RETAIL",
"ActionCode": "A",
"MaintenanceTypeCode": "001"
}
]
}
}
}
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article