The time i estimated for the project is relative, as i do not know exactly how many configurations you expect the template's UDTs and AOIs to contain. By the number of I/Os, i am sure that the real work would be in the AOIs. The way i would do it is by setting all the configurations as Input Parameters for the AOIs, thus only needing to create a tag of the AOI's data type, adding it to a Continous Task and using it's specific tags in the logic( Start_CMD, Stop_CMD, FB_RUN, Alarms, etc.)
The code would be fully comented and i will offer support for at least one week after comissioning, at hours both parties agree on.