Inbound Outbound Shipping Database should we combine both inbound and outbound shipping into a single table (then create an additional column to identify the direction) or to split them into separate table? What's the pros and cons?
Pros for Single table:
Fewer tables therefore less maintenance. If a record could change from inbound to outbound you just need to change the indicator. 

Cons for single table:
There's a bit more effort in code logic. 
You can't use foreign key constraints on one type versus another. 

Pros for separate tables:
Logically easier to comprehend and code.
Simple way of splitting large tables if volumes are large.
Allows for different attributes and table definitions.
Allows for different foreign keys for each type. (I have to give @ypercube credit for this)

Cons for separate tables: 
If a shipment is in transit moving from inbound to outbound it could fall between tables. (Less likely with single table)
More tables/indexes to maintain.