# Forms The reservation is mostly created by filling in a form. For that reason this plugin has it's own _form definition_ feature. The form definition is an array of element it contains. Each element has a *type*, for example: `input-text`, `input-reservation`, etc. Keep the form structure and content separate -> when working with the form, take time to figure, if you are working with structure, or existence of something within. ## Rendering The rendering currently happens on the backend, but that might be wrong. It renders out structure, but interactive components gets rendered on the frontend anyway. ## Submitting When user submits the form, the `RsvFormSubmitter.js` is called. It collects the values, which we describe in more detail, and then sends it using `fetch` as POST to `reservations/forms/{form_id}`. ### Collecting The *collecting* is a process with `