Trade entrance: normally open 5-wide bridge (closed for sieges) -> trade depot -> normally closed bridge (1-wide) -> door (lockable) -> inner fort. Traders arrive, get to depot. External bridge closed. Internal door unlocked and bridge dropped, then trade as normal in safety, even if a siege turns up. Trading complete, everyone in (using an alert if necessary), lock the door, raise the bridge, drop external bridge and let them take as long as they want to take to pack up and head off without it affecting _anything_. This has only gone wrong when a second bunch of traders have turned up and they get deadlocked in the door. In one fort I've got multiple trade entrances that lead to the one depot but this is a tedious setup.
Normal entrance (usually several so that stupid migrants don't have to walk right round to get in): normally open bridge -> twisty corridor lined with traps (ideally spike traps operated by lever on repeat so that we get those kobolds) -> something nice on a chain for them to path to -> more traps and twists -> normally raised bridge and locked door. Siegers turn up, path to the bait and get mangled on the traps. Those that don't get mangled give up and go home. External bridge raised, internal bridge dropped, door unlocked, traps and loot get tidied up, bait replaced if necessary, everyone back inside (alert if necessary), door locked, inner bridge raised, external bridge dropped for next time. If another siege or whatever turns up during cleanup, the whole lot is repeated via another entrance.
Migrants show up: alert on, normal entrance door unlocked and internal bridge dropped, spike lever stopped briefly, migrants in, airlock reset, although this is an opportunity for kobolds to get in, although the bait animal usually spots them. Alert off. If kobolds got in then the bait probably needs replacing; external bridge up, cleanup/replace, then reset.
Diplomats also enter via normal entrance with alert on and spikes disabled.
I normally play with fastdwarf on otherwise FPS death just gets me down. And with a tileset, so ner.