fepli
ManualReferenceOffers

Offer form

In the offer form, organizers and the team enter all details of an offer for the website, the booklet and the registration.

Location: Offer > Edit.


Structure

The Content page of the canoe trip, as Kim Beispiel sees it. On the Media & downloads page a picture is still missing.

ElementContent
PagesOne button per page, to the left of the form. Before the first save the other pages are locked.
Icon on a pageYellow circle with an exclamation mark: “Something is still missing on this page”. Red circle with a cross: “Something is wrong on this page” (Findings).
Note for organizersOnly for organizers, on the Content page: “Season, organizers and publication status are set by the team.”
Save barOn the left the first finding of the open page, for several with “+{count} more”. If the open page has no finding, the first finding of another page appears there: “Still missing before publishing: {page} · {field or section}”, as a link to it. Errors come before notes. With no finding at all it shows what the page contains, e.g. “2 extra questions · 1 of them required”. The number counts only the offer’s own extra questions, not the season questions. After a change also “{count} unsaved changes” with the changed fields.
DiscardDiscards all unsaved changes of the page and reloads it.
SaveSaves the whole page. Every page is saved on its own. Keyboard shortcut: Ctrl+S, on a Mac ⌘S.
PageSections
ContentGeneral, Description, Conditions, Contact & information
Dates & placesDates, Registration deadline, Meeting point, Variants
RegistrationRegistration type, Places, List recipients
Registration formStandard details, Extra questions, Preview
ConsentsConsents of this offer
Media & downloadsPictures, Downloads

Access is a tab of its own next to Edit, not a page of the form (Access).

CaseDisplay
New offerBefore the first save the other pages are locked. Contact & information shows “Available after the first save.”
Copy, new variantLike a new offer. Above it appears, for a copy, “Content carried over, dates empty”, for a new variant “The content is linked to the offer”.
Variant“Variant of offer ID {ID}. Not all fields are editable.” The variant always sets dates, registration deadline and list recipients itself, and by default age, minimum number and places. It takes the other details from the main offer, unless the settings of the offer fields say otherwise (Fields per variant). It always takes title, registration type, visibility, season, organizers, categories and Ask for date of birth. A field that the variant takes from the main offer is locked on the pages Content, Registration, Registration form, Consents and Media & downloads (Variants).
Fields turned offThey are missing in the form. Super admins turn off individual fields under Settings > Offers > Fields (Settings).
No editing phaseFor organizers, if no editing phase is running in the season: “No editing phase is running in the season ‘{season}’.” The fields are locked.
Locked offerA “Locked” sign next to the title. Instead of the steps, “{status} · editing locked” appears below the tabs, with “Editing is locked. Changes go through the office.” and Request a change, which leads to the conversation of the offer. The save bar shows “Read only · participant list and allocation stay usable” and also Request a change.

A locked offer: the canoe trip, without editing right for the signed-in person.

Findings

Findings name what is missing or wrong before publishing. They appear as an icon on the page and in the save bar. Findings on a field that is turned off do not apply.

MessagePage · SectionType
“No contact person is given.”Content · Contact & informationNote
“Registration via the website needs the number of places.”Registration · PlacesNote
“No date has been entered yet.”Dates & places · DatesError; not with Ongoing offer without a fixed end
“At least one date starts before the season’s event period.”Dates & places · DatesNote
“At least one date ends after the season’s event period.”Dates & places · DatesNote
“The registration deadline is after the first date.”Dates & places · Registration deadlineNote
“No picture has been added.”Media & downloads · PicturesNote

Content

Location: Edit > Content.

General

“Where the offer appears and who edits it.”

The sections General and Description, as admins see them.

FieldMeaning and effect
TitleName of the offer, required field. Below it “{count} characters · printed like this in the booklet and on the website.”
SeasonEditable only for admins: active and archived seasons. Whoever selects another season moves the offer there. Organizers see the season as text. Default: set on creation
OrganizersOnly if Organizers is turned on under Fields; otherwise the field is missing, and for organizers the line with the profiles too. Editable only for admins: at least one organizer profile, several possible. All members of these profiles have access to editing and the participant list. Below it their names: “This gives {count} accounts access to editing and the participant list:”. Organizers see the profiles as text with “Set by the team. Invite further people under Access.” Default: set on creation
CategoriesOnly if the field is turned on. Categories of the instance as buttons, several possible: “Multiple selection possible.”
VisibilityPublic on the website or Only via private link, next to it “in no list and in no booklet”. With Only via private link the offer can be reached through the private link (Links). Default: Public on the website

Description

FieldMeaning and effect
TextDescription of the offer, with Bold, Italic, Bulleted list and Numbered list. Below it the number of characters. Above the field: “Appears on the website and shortened in the booklet, see the proof.”
What to bringWhat participants bring. Appears on the offer page.

Conditions

“Appear in the booklet and filter the offer list on the website.” If the age fields are turned off: “The fee appears in the booklet and filters the offer list on the website.”

Sample data. The own property appears as a grey bar.

FieldMeaning and effect
Age from, Age toAge limits in whole years above 0. Empty: no limit, placeholders “no minimum age” and “no maximum age”. The age on the first date is checked; the Age tolerance widens the limits (Rules of registration on the website). The age limits appear in the booklet and filter the offer list of the website.
Participation feeAmount in euros, from 0. “Empty: free of charge.” If a fee is entered, a payment obligation arises on confirmation (Payments).
Wheelchair accessibleYes, No or By arrangement. “Shown as a feature in the booklet and as a filter on the website.” Default: By arrangement
Own propertiesFurther fields of the instance. The settings determine type, section and position. Properties for which Print in the booklet is turned on go into the print template of the booklet (Settings).

Contact & information

ElementContent
Add personAdds a further contact person.
Contact personName, Phone and Email. For a new offer, name, email address and phone number of the organizer profile are prefilled (New offer). Contact persons without details are discarded on saving.
RemoveWastebasket next to the contact person.
“How it appears on the offer page”The section Contact & information of the offer page with name, phone and email for each person. Without details: “No contact person added yet.”
RuleContent
Public“Appear publicly on the offer page.”
Without a contact person“No contact person has been added for this offer yet.”
VariantsLocked as long as the variant takes the contact persons from the main offer (default); can be set under Fields per variant.

Dates & places

Location: Edit > Dates & places.

Dates

Sample data: the first morning of the canoe taster course, the row with the dialog open.

ElementContent
Note above the dates“With several dates, a person takes part in all of them. For a choice between dates, use variants.”
Add dateNew row for a further date of the same group. The dialog Date and time of the row opens at once. A row without a date is dropped on saving.
Date rowEach date is a row with a calendar symbol. Closed, it reads “Mon, 02.08.2027 · 09:00–12:00”, for several days “Mon, 02.08.2027, 09:00 – Wed, 04.08.2027, 12:00”. On the right is the duration, e.g. “3 h”, “1 h 30 min” or “1 night”. Without a date it reads “Choose date and time”. Selecting the row opens the dialog. Messages under the row: “Start is missing.”, “End is missing.”, “The end is before the start.” With a message, the edge of the row is red.
Remove dateWastebasket next to the row. On a saved date it opens the dialog Delete date: “The date is deleted from the offer. Cannot be undone.”, button Delete date. On a new row it removes the row.
CalendarIn the dialog Date and time. The chosen day is filled, a period is shaded. Choosing a day sets the day and puts the cursor in Start. The month changes with the buttons Previous month and Next month.
Start, EndTimes in the dialog. Entering 9 gives 09:00, 1430 gives 14:30. The arrow keys change the time in steps of 15 minutes. Enter moves from Start to End and closes the dialog. Next to the name is the day, e.g. “Mon, 02.08.”. If End is before Start, the date ends on the next day. The calendar rings that day, and the line under the fields shows “Ends the next day” and the duration. Otherwise the line shows “Choose a day.”, “Type the start time.”, “Type the end time.” or the duration.
Several daysChoosing the next day sets the last day. Until then the dialog shows “Click the last day.” with Cancel, and the calendar shows the period under the pointer. Afterwards it shows Change last day.
DoneCloses the dialog. So do Escape, selecting outside the dialog and Enter in End. On closing, the row takes over the date; Save saves it.

Registration deadline

FieldMeaning and effect
Registrations possible untilDate and time, end of the registration on the website. The team can still register people by hand afterwards. If the season has a registration deadline, “Empty: the season’s deadline applies ({date}).” appears below, otherwise “After this date, no more registrations are possible.” Default: empty
CaseDisplay
Without a date“No date yet. If the offer has none, tick ‘Ongoing offer without a fixed end’ further down.” Next to Registrations possible until appears Ongoing offer without a fixed end.
Ongoing offer without a fixed end“Stays open for registration as long as places are free.” If it is turned on, the dates show “No date. The offer is ongoing, without a fixed end.”, and save bar and proof check do not report the missing date as an error. As soon as the offer is saved with a date, it is off again. Default: off
New row incompleteIf Start or End is missing or the end is before the start, Save saves neither the new rows nor Registrations possible until. The edge of the row is red, and the message is under it. Save saves the other sections of the page, but does not show the message “Your changes have been saved.” The save bar keeps naming the fields as unsaved changes.

Meeting point

“Printed in the booklet, on the offer page and on the attendance list.”

Sample data: the canoe trip with a second variant.

FieldMeaning and effect
AddressAddress of the meeting point: “Choose the address in the map's search field or move the marker.”
MapSearch field and marker. Below it the coordinates and “The marker can be moved.”
Meeting point noteOptional: more precise description. Placeholder “e.g. car park behind the club house, please be there 10 minutes early”

Variants

“The same offer at other times. Participants register for exactly one variant.” By default the variant takes content, media and downloads from the main offer; this can be set per field under Fields per variant.

ElementContent
Link existing offersOnly with the right to edit: makes another offer a variant (Link an offer as a date variant).
Create variantOnly for everyone who may create offers in the season: opens a new variant of the main offer (Create a date variant).
Table of the variantsFrom 2 variants: Variant, Date, Places with confirmations and maximum, open. The open variant shows “this offer” and “current”. Otherwise: “No variants yet.” More on variants: Offers

Registration

Location: Edit > Registration.

Registration type

“Decides which fields on this page apply at all.” Locked in variants.

The canoe trip with Registration via the website. Former recipients without an account is not shown.

Registration typeEffect
Registration via the website“Places, waiting list and confirmations are managed here.” Registration form, participant list, allocation and waiting list run in fepli.
Registration with the organizers“The offer page shows a note instead of the registration button.” Enables Note instead of the registration button.
No registration needed“Everyone can come.”
FieldMeaning and effect
Note instead of the registration buttonOnly with Registration with the organizers: “Where and how to register, e.g. phone number or email address.” Formattable like Text. Appears on the offer page. Otherwise faded, with “Only applies to registration with the organizers.”

Places

“Below the minimum, automatic allocation skips the offer.”

FieldMeaning and effect
Maximum placesMaximum number of places, whole number above 0. Empty: placeholder “no limit”. With Registration via the website and no value: outlined in red with “Required for registration via the website.” Saving still works; without a maximum, first come, first served confirms every registration.
MinimumOptional, whole number above 0. “Empty: no minimum.” Automatic allocation skips offers below the minimum (Allocation).
“{count} participants are already waiting”Only if participants are on the waiting list, for everyone who may see the participant list. For admins and, if the season allows Allocate places, for organizers it leads to the Allocate view. For everyone else the note is not a link.

List recipients

“Get a link to the participant list before the date.”

FieldMeaning and effect
AccountsOnly with Registration via the website; otherwise faded with “Only applies to registration via the website.” A checkbox for each account with access to the offer: members of the organizer profiles and people invited through Access, the latter with “this offer only”. Only those who can open the list at that time receive the emails about the participant list (Participant list). If nobody except the team has access: “Nobody has access yet. Invite a person.” Default: the person who created the offer
Former recipients without an accountOnly if such addresses are still stored: “These addresses no longer receive participant lists. Invite the people under Access.” fepli rejects new addresses on saving: “Addresses without an account can no longer be added. Invite the person under Access.” Copies and variants do not take the addresses over.

Registration form

Location: Edit > Registration form.

A required question of the type File, on the right the Preview.

ElementContent
Standard details“Collected with every registration.”
Ask for date of birth“Passes the date of birth on to the organizers. The age limit is checked without it too.” Families always give the date of birth. If the setting is turned on, the participant list shows a column with the date of birth. Organizers then also see it in the registration and in the XLSX export, and in the offer list appears. Default: off
Add questionAdds a question. The number of questions is not limited. Without questions: “The standard form applies.”
Note under Extra questions“Health details are specially protected (Art. 9 GDPR). Ask for them only if the offer needs them.”
QuestionWording of the extra question, without a visible label, placeholder “e.g. Can your child swim confidently?”. Questions without text are discarded on saving. “Appear as a column in the participant list.”
Type of answerYes/No, Number, Text, Choice or File. Default: Text
RequiredWithout an answer, no registration is possible. With Choice, only one of the options counts as an answer. The preview shows the question with a star. Default: off
Remove questionWastebasket of the question.
Allowed filesOnly with File: Images with the endings jpg, png, webp and heic, PDF. One file per question, “max. 10 MB per file”. On a smartphone you can take a photo directly. One kind always stays allowed: “One file type must stay allowed.” Default: both
Preview“as families see it”: title, first date, age and fee, Participant with “Alex Example”, with Ask for date of birth the field Date of birth, then the season questions and the extra questions. A Choice appears with one button per option, with “+{amount} €” if it has a surcharge.
Season questionsIf the season has season questions (Seasons), they appear locked above the offer’s own questions, under the heading “Season questions · {season}” and with the link Edit in the season. Each line shows the type of answer and, for required questions, “Required”. Only with registration via the website.
OptionsOnly with Choice: one line per option with a label (placeholder “e.g. vegetarian”) and Surcharge. Families select one option; the answer is its label, and participant lists and exports show it unchanged. When you switch to Choice, two empty lines appear. Empty and duplicate labels are discarded on saving.
SurchargeAmount in euros, e.g. 40 or 40.00, placeholder “0.00”. “Empty: no surcharge. The surcharge is added to the fee; reductions do not apply to it.” The offer matches the surcharge to the answer by the option’s label (Payments).
Add option, Remove optionAdds or removes an option line.
CaseDisplay
Without registration via the websiteThe extra questions are locked: “Only with registration via the website. Change that under Registration.” Below the preview: “Only with registration via the website.” Ask for date of birth stays adjustable.
VariantThe page is locked as long as the variant takes the extra questions from the main offer (default); can be set under Fields per variant. Every variant always takes Ask for date of birth from the main offer.

Consents

“In addition to the season's declarations. The status is in the participant list.” Locked in variants as long as they take the declarations of the main offer (default); can be set under Fields per variant. Fields and locking rules: Consents.


Media & downloads

Location: Edit > Media & downloads. Locked in variants as long as they take pictures and downloads from the main offer (default; can be set for each separately under Fields per variant).

Pictures

“The first image appears in the booklet and the offer list.”

The selected picture is the cover picture. Without a picture: “No images yet.”

ElementContent
From FilesOpens the dialog “Choose for ‘{offer}’” with the pictures of all folders of Files. The selected pictures are attached to the offer: “{count} images attached to ‘{offer}’.” Pictures that are already attached to the offer show “On the offer” and are locked. The dialog is described under Files.
Generate pictureOnly if AI image generation is turned on (Settings) and the app Generate images with AI is connected (App-Store). Opens the section Generate picture below the list (Generate picture).
UploadNew picture: JPG, PNG or WebP, at most 6 MB. Also by dragging onto the area “Drop pictures here”.
OrderDrag at the handle on the left of the row. Applies as soon as the picture is dropped. The first picture is the Cover picture: It appears in the booklet and in the offer list.
Row of a pictureFile name and Image description; if it is missing, “no image description” appears. The selected row is outlined in red, its picture is on the right.
Important areaFrame in the picture: “The marked area stays visible in every crop.”
Image descriptionAlternative text: “Read aloud when someone cannot see the image.”
CreditOptional: photographer or creator.
Remove from offerWithout confirmation: The picture stays under Files and can be added again.
Delete permanentlyAfter confirmation in the dialog Delete image permanently. A picture that is still attached to other offers is removed only from this one.

Generate picture

Above before generating, below with the generated picture.

ElementContent
Image description for the AIPlaceholder “Describe the image…”. Next to it: “The text can be edited before generating”
Suggest from title and descriptionCreates a suggestion from the title and description of the offer. If that fails: “No suggestion could be created. Try again later or write it yourself.”
Generate picturePossible only once a description is entered. While generating: “Generating picture …” and “Usually takes 10–30 seconds. You can leave the page.” Stop waiting: “The picture is still generated and billed.” If generating fails: “The image could not be generated. Change the description or try again later.”
DiscardDiscards the picture and shows the description again.
Generate againGenerates a new picture from the same description.
Add to offer“Is labelled as AI-generated.” The picture carries the AI label, the Credit stays empty. The picture becomes the cover picture.

Downloads

“PDFs for download, e.g. packing list or directions.”

Without a file: “No attachments yet.”

ElementContent
From FilesOpens the same dialog with the attachments of all folders of Files. Message: “{count} attachments attached to ‘{offer}’.”
Upload PDFNew file: PDF, at most 6 MB.
OrderDrag at the handle on the left of the row. Applies as soon as the file is dropped. The files appear on the offer page in this order.
Row of a fileFile name, “uploaded by {name}, {date}” and, if the file is attached to further offers, “also in {count} other offers”.
OpenShows the file.
Remove from offerWithout confirmation: The file stays under Files and can be added again.
Delete permanentlyAfter confirmation in the dialog Delete attachment permanently. A file that is still attached to other offers is removed only from this one.

Access

Location: Offer > Access, a tab of its own next to Edit. Visible to: admins and members of the offer's organizer profiles.

“Access via the organizers applies to all their offers. Direct access applies to this offer only.”

Sample data.

ElementContent
Invite a personDialog with Email address, Access (Editing and participant list or Participant list only), Message and Send me a copy, button Send invitation. Whoever has no account yet creates one when accepting (Invite a person to a single offer).
PersonName and email address. An invitation to an address without an account is marked “no account yet”.
AccessMember through an organizer profile. Direct access: “Edit + list” or “list only”, below it “this offer only”.
Through“through {organizer profile}”, “invited by {name}” or “assigned directly”, the last two with a date.
Status“Active” or “Blocked”, below it “last seen {date}”. Open invitation: “Invitation open” with Copy link for the link of the invitation.
Actions (⋮)Open invitation: Send invitation again, Withdraw invitation. Direct access: Set to “Editing and participant list” or Set to “Participant list only”, Revoke access; this also removes the person from the list recipients. For members, locked: “Managed through the organizers”
Note below the table“People invited directly see only this offer. Invitations expire after {count} days.” The period is set by Invitations valid for (Settings). Default: 14 days
RuleContent
One row per personWhoever is a member of an organizer profile and was also invited appears only once in the table, as Member. Without access: “Nobody has access yet.”
Directly invited peopleCannot pass access on and cannot send a newsletter to the families of the offer.
Accepted invitationIf no admin sent the invitation, every active admin gets an entry in the bell as soon as the invitation is accepted: “{sender} invited {name} to the offer ‘{offer}’”, below it “Accepted · Editing and participant list” or “Accepted · Participant list only”, the organizer profiles of the offer and Access. The entry leads to the Access page. There is no email for this.