I would add a Friday-break test beside the early-close cases: a time between the two PSX sessions must return closed, then the second opening must return open. Selecting all sessions for the local trading date would avoid treating the gap as one continuous day. For a special Sunday whose hours are still unpublished, I would keep the result unknown rather than inherit either the regular schedule or the weekend closure.