Inconsistent `updated_at` behavior between Order and FulfillmentOrder

We observe the following inconsistent behavior with the updated_at field of Order and FulfillmentOrder, using the 2024-04 version of the GraphQL API:

Putting a FulfillmentOrder on hold updates the updated_at field of FulfillmentOrder, but does not update the updated_at field of the parent Order.

Changing the Shipping Address of an Order performs an update on the FulfillmentDestination of a FulfillmentOrder of the Order. This change updates the updated_at field of the Order, but does not update the updated_at field of the affected FulfillmentOrder (despite the updated FulfillmentDestination being a direct child of the FulfillmentOrder).

This inconsistent behavior makes it very difficult to rely upon polling Shopify’s GraphQL API for updates to Order and FulfillmentOrder.

Is this the intended behavior?

Hi @engineering_10 ,

Thanks for your post.

With putting a fulfillment order on hold, that’s contained to the fulfillment order so in that way it makes sense to not touch the updated_at on the order.

With changing the shipping address of an order, the destination field on the fulfillment order can only be updated by changing the shipping address on the parent order, and also there is not currently any webhook topic for fulfillment orders that would notify of such a change like orders/updated does for orders. These factors indicate that yes this is intended behaviour at this time.

With this in mind if you have further thoughts or use case details please feel free to share :slightly_smiling_face:

Hope you have a great day