Orders' retailLocation & physicalLocation are always null

Hello,

I have found that all orders that I create within my test store have a null physicalLocation and retailLocation. (Context docs: Order ). The unusual thing is that I can see that orders have fulfillmentOrders with their own locations, so it’s not that the order doesn’t have locations associated with it.

For example, here is an order with two fulfillment orders for two locations, but retail and physical location are still null:

{
  "data": {
    "order": {
      "id": "gid://shopify/Order/6367180882240",
      "legacyResourceId": "6367180882240",
      "retailLocation": null,
      "physicalLocation": null,
      "fulfillmentOrders": {
        "nodes": [
          {
            "id": "gid://shopify/FulfillmentOrder/7337752396096",
            "assignedLocation": {
              "location": {
                "id": "gid://shopify/Location/96215892288"
              }
            }
          },
          {
            "id": "gid://shopify/FulfillmentOrder/7337754689856",
            "assignedLocation": {
              "location": {
                "id": "gid://shopify/Location/103998685504"
              }
            }
          }
        ]
      }
    }
  },

In the case of retailLocation, the docs say that this is for retail orders. These orders are created through the online storefront or via a draftOrder, so I would expect it to apply given they are for retail, not b2b or similar (and are not POS, if this is relevant). But I may completely misunderstand the definition of retail order; I couldn’t find any docs for this.

For physicalLocation, this is a deprecated field so less important as I won’t use it anyway, but I don’t see any reason it should be null. In the primary admin order json (or REST), there is a location_id field which is also null. Both physicalLocation & location_id have similar descriptions, so it’s possible they are the same.

I can see from this old Shopify Community topic that location_id was at one point only for POS orders - so is there a chance that these two fields are only for POS orders

(I’d like to also briefly clarify that I do know how to find locations for orders - I can do this with the fulfillmentOrders, just like above! But what I am asking about is what these fields mean, for the purposes of understanding how to translate a REST model / approach to a GraphQL one)

I’d appreciate any assistance people have with understanding why these fields are null!