We show that every free amalgamation class of finite structures with relations and (set-valued) functions is a Ramsey class when enriched by a free linear ordering of vertices. This is a common strengthening of the Nešetřil-Rödl Theorem and the second and third authors' Ramsey Theorem for finite models (that is, structures with both relations and functions).
We also find subclasses with the ordering property. For languages with relational symbols and unary functions we also show the extension property for partial automorphisms (EPPA) of free amalgamation classes.
These general results solve several conjectures and provide an easy Ramseyness test for many classes of structures.