FREIZEIT
FREIZEIT
What is this for?
FREIZEIT is the most extensive plugin in Allesda and supports the complete organization of leisure events / camps:
- Events (a leisure event / a camp on the calendar)
- Participants (people, optionally with custom fields, import from CSV)
- Lists (e.g., attendance list, workshop lists, topic lists)
- Packing lists with boxes and items (what needs to be packed)
- Shopping lists (what still needs to be bought)
- Tents with map view and assignment
- a dedicated calendar with categories and drag-and-drop
- a shopping module, a schema service, simple user/account helpers
You switch between events via the menu and an event selector — most functions always relate to the currently selected event.
Step by step by area
A) Events
1. Leisure → Events (/freizeit/events).
2. New: /freizeit/events/new → save (POST /freizeit/events/save).
3. Edit: /freizeit/events/{id}/edit.
4. Activate: POST /freizeit/events/{id}/activate – selects the event as the current one.
5. Delete: POST /freizeit/events/{id}/delete.
B) Calendar
1. Leisure → Calendar (/freizeit/kalender).
2. Drag-and-drop, create categories, move appointments:
GET /freizeit/kalender/api/eventsPOST /freizeit/kalender/api/eventsPOST /freizeit/kalender/api/events/{id}POST /freizeit/kalender/api/events/{id}/movePOST /freizeit/kalender/api/events/{id}/delete- Categories:
/freizeit/kalender/api/categories(GET, POST,/{id},/{id}/delete)
3. Retrieve participants per event:
GET /freizeit/kalender/api/events/{id}/participantsGET /freizeit/kalender/api/events/{id}/participant-names
C) Participants
1. Leisure → Participants (/freizeit/teilnehmer).
2. New: /freizeit/teilnehmer/new → POST /freizeit/teilnehmer.
3. Edit: /freizeit/teilnehmer/{id}/edit → POST /freizeit/teilnehmer/{id}.
4. Detail: /freizeit/teilnehmer/{id}.
5. Delete: POST /freizeit/teilnehmer/{id}/delete.
6. CSV import in four steps:
1. GET /freizeit/teilnehmer/import – Start page
2. POST /freizeit/teilnehmer/import/upload – Upload file
3. GET /freizeit/teilnehmer/import/mapping – Map columns
4. POST /freizeit/teilnehmer/import/execute – Execute import
5. Optionally GET /freizeit/teilnehmer/import/duplicates and POST .../confirm to handle duplicates.
#### Custom fields & required fields (admin)
POST /settings/admin/freizeit/teilnehmer/custom-fields/addPOST /settings/admin/freizeit/teilnehmer/custom-fields/deletePOST /settings/admin/freizeit/teilnehmer/required-fieldsPOST /settings/admin/freizeit/teilnehmer/table-fields– Columns in the table
D) Lists
1. Leisure → Lists (/freizeit/listen).
2. Open list: /freizeit/listen/{id}.
3. Add / remove participants:
POST /freizeit/listen/{id}/addPOST /freizeit/listen/{id}/remove
#### Manage lists (admin)
GET /settings/admin/freizeit/listenPOST /settings/admin/freizeit/listen/create– Create listPOST /settings/admin/freizeit/listen/rename– RenamePOST /settings/admin/freizeit/listen/delete– Delete
E) Packing lists & boxes
1. Leisure → Packing lists (/freizeit/packlisten).
2. Create a packing list: POST /freizeit/packlisten/create.
3. Detail of a packing list: /freizeit/packlisten/{id}.
4. Create / rename / delete boxes:
POST /freizeit/packlisten/{id}/kisten/createPOST /freizeit/packlisten/{packlistId}/kisten/{boxId}/renamePOST /freizeit/packlisten/{packlistId}/kisten/{boxId}/delete
5. Items in a box:
POST /freizeit/packlisten/{packlistId}/kisten/{boxId}/items/createPOST /freizeit/packlisten/{packlistId}/kisten/{boxId}/items/{itemId}/updatePOST /freizeit/packlisten/{packlistId}/kisten/{boxId}/items/{itemId}/delete
6. Check off & print:
POST /freizeit/packlisten/{packlistId}/kisten/{boxId}/checkGET /freizeit/packlisten/{packlistId}/kisten/{boxId}/printGET /freizeit/packlisten/{packlistId}/kisten/{boxId}/items/json(data, e.g., for label printing)
#### Manage templates (admin)
GET /settings/admin/freizeit/packlisten– Template list- Create / rename / archive / delete / item maintenance analogous to above under
/settings/admin/freizeit/packlisten/...
F) Shopping lists
1. Leisure → Shopping lists (/freizeit/einkaufslisten).
2. Create list: POST /freizeit/einkaufslisten/create.
3. Open list: /freizeit/einkaufslisten/{id}.
4. Items:
- create, edit, check off, delete – also as AJAX (
-ajaxendpoints) for a reactive UI - clear everything that's done:
POST /freizeit/einkaufslisten/{id}/clear-checked
G) Tents (assignment planning)
1. Leisure → Tents (/freizeit/zelte).
2. Detail of a tent: /freizeit/zelte/{id}.
3. Maintain mode / assignment:
POST /freizeit/zelte/{id}/modePOST /freizeit/zelte/{id}/assign-user/unassign-userPOST /freizeit/zelte/{id}/genderPOST /freizeit/zelte/{id}/assign/unassign
4. Map / layout:
POST /freizeit/zelte/map/upload– Upload mapPOST /freizeit/zelte/map/deletePOST /freizeit/zelte/map/positionPOST /freizeit/zelte/map/resetPOST /freizeit/zelte/map/propertiesPOST /freizeit/zelte/map/create
#### Tent master data (admin)
GET /settings/admin/freizeit/zeltePOST /settings/admin/freizeit/zelte/createPOST /settings/admin/freizeit/zelte/updatePOST /settings/admin/freizeit/zelte/delete
Frequently asked questions / problems
"Function isn't there"
- An event must be active (event selector). Many data points are event-specific.
"Import doesn't find columns"
- CSV with a correct header row? UTF-8?
- Map manually in the mapping step.
"Packing list won't print"
- The list must contain items.
- Test browser print dialog vs. PDF print.
"Tent assignment is off"
- Check the gender mode and assignments.
- In case of conflicts, reset the assignment and reassign.
Technical URLs (quick reference, excerpt)
Events: /freizeit/events…
Calendar: /freizeit/kalender…
Participants: /freizeit/teilnehmer…
Lists: /freizeit/listen… + admin /settings/admin/freizeit/listen…
Packing lists: /freizeit/packlisten… + admin /settings/admin/freizeit/packlisten…
Shopping lists: /freizeit/einkaufslisten…
Tents: /freizeit/zelte… + admin /settings/admin/freizeit/zelte…
General admin page: /settings/admin/freizeit
(GET for display, POST for actions in each case. For the full list, see the source code of the *Controller.java files.)
Notes
- FREIZEIT is the largest plugin and has many sub-modules. It pays to configure it step by step (first create events, then participants, then lists / packing lists / tents).
- Several modules work together: lists can reference participants, tents reference participants, packing lists reference events.
- Custom fields for participants are very powerful — set them up early, otherwise imported data will be unstructured.