Order + order type initial definition

Stable enough to be merged.
Missing @file doc block.