Matrix fields in an entry form
The trick, as it were, is to define the Matrix field in your form as an array. 

First, the Matrix entry field itself:

&lt;input type="hidden" name="fields[traveller][new1][type]" value="travellerDetails"&gt;
&lt;input type="hidden" name="fields[traveller][new1][enabled]" value="1"&gt;


Then, for each field within the Matrix block:

&lt;input type="text" name="fields[traveller][new1][fields][travellerTitle]" value=""&gt;


If you are going to allow for more than one Matrix field in your form, you must increment the block number, e.g. "new1" becomes "new2". You can do that with some JS.