Whats the difference between Order Expire and Order Done for Day (DFD) ? In general and from FIX protocol point of view.
Order expired may be sent when a Good Til Date (GTD) order reaches its expiration date or a Good Til Cancel (GTC) order reaches its maximum age. That maximum age may be broker-specific and even unspecified, e.g. until the next major software release by the broker.
Order Done for Day may be sent when a Day order is unfilled or partially filled at the end of the trading day and no further executions will be sent before the order is canceled.
Both messages are optional; some brokers may choose not to send those messages.
In general, both messages convey when an order has reached the end of its Time in Force and that no more executions will be sent since the order has been canceled.