I'm currently building out my own system using IB's API. One thing I am not certain on is how to keep track of block orders that can get executed at different times throughout the day e.g. Say if I have an order to sell 500 shares of AAPL at a certain price, I might get 100 shares filled at 10am, another 50 at 10:10am, maybe another 200 again later at 1:30pm and so on. I might even have a partial fill that is good till the day's end. My question is what fields in the Order Object will allow me to identify all these trades as part of the original block trade. Is it OrderId, PermId, ParentId, ClientId...? Im attempting to monitor not only these block orders and see if they get fully or partially filled but also orders that are sent but don't actually get executed.