Offer list and offer view
Under Offers, organizers and the team find all offers of a season and create new ones.
Offer list
Location: Offers.
| Who | Sees |
|---|---|
| Admin | all offers |
| Organizer | the offers of their organizer profiles, without archived seasons |
The table of an admin with two selected offers, below it the message after Approve.
| Element | Content |
|---|---|
| Season switcher | See Season switcher. Organizers see only seasons in which they may work. |
| New offer… | Opens the “New offer” wizard. Missing if you may not create offers in any season. |
| Search, sorting | One shared field: search titles, next to it Chronological order, Reverse chronological order, Sort by title, Sort by season; for admins also Sort by organizer. Placeholder “Search offers…” |
| Status tabs | All, Draft, Submitted, Approved, Published, Completed, Cancelled, each with the number of offers for the current search and filters. Every offer counts under exactly one status: cancelled offers under Cancelled, completed offers under Completed, even if they were published. A status without offers is greyed out. Empty status: “Nothing in this status” with Show all |
| Table, List, Calendar | The current view shows only its icon, the others show their name. Admins see the table first, organizers the list; the browser remembers another choice. Calendar shows the same offers with Day view, Week view, Month view and Today. |
| Show filters | Opens the filters to the right of the list (Filters). Active filters appear as chips above the list; the ✕ on a chip removes the filter. |
| Export | Menu with XLSX: creates the filtered list as an Excel file, with the note “Active filters are applied.” The file is created in the background (Exports). Without offers: “Nothing to export”. Other formats: Export. |
| Selection | Admins only. As soon as a checkbox is turned on in a row, a bar appears with “{count} selected” and the status changes that are possible for at least one selected offer, e.g. “Approve · 3 of 4”. The other offers stay unchanged. Without a possible change: “No status change applies to the selection.” Clear selection clears the selection. |
| Footer | “{count} offers”, with more than 100 offers also “{from}–{to} of {total}”. |
| Message after a status change | “‘{title}’ – {status}” with the description of the status, after a selection “{transition}: {count} offers changed, {skipped} skipped”. After Submit, Approve, Publish, their withdrawals and Mark as draft for a single offer, the message offers Undo. |
Columns
The table shows one row per offer with the columns. The list shows the same details in two lines per offer and, on the right, the next step (Next step). If the table becomes narrow, Organizer, Places, Date and Status drop out one after the other.
Sample data.
| Column | Content |
|---|---|
| Date | Weekday and date of the first date; “—” without a date |
| Offer | Title, struck through if the offer is cancelled. After it the variant number (yellow for the main offer, grey for a variant), a lock if you may not edit the offer (“Read-only”), and an orange shield for Ask for date of birth (“Date of birth is collected for the organizers”). The time of the first date with “+ {count} more times”, or “Continuous offer”, appears in the table in the tooltip of the title and in the list in the second line. An orange warning triangle with “Date missing” appears if the first date lacks a start or an end, or if an offer without a date is not an ongoing offer. If not exactly one season is selected, the name of the season comes before the time. |
| Organizer | Only for admins and for accounts with several organizer profiles, and only if Organizers is turned on under Fields. The organizer profiles, each with a link to the profile |
| Status | Icon in the colour of the status and its name (Offer status); in the table, next to it a clock with the tooltip “Date is over” if the last date of a published offer is over |
| Places | Only with Registration via the website: “{count}/{max}” counts confirmations and open registrations; without a maximum it shows “∞”. Without registrations the number is grey. Otherwise it is green as long as places are free, orange at the limit and red when more participants want a place than there are. With it “{count} registrations open”, “{count} without a place”, “{count} on the waiting list”, “{count} places left”, “fully booked” or “unlimited”: in the table in the tooltip, in the list next to the number above a bar in the same colour. Leads to the participant list. Otherwise “—” with “no online registration” or “no registration”, in the table in the tooltip. |
| Processing notes | Only for admins and only for offers with comments: speech bubble with the number of comments, after the title. Opens the detail view with the comments. |
| Actions menu (⋮) | Row actions menu; also opens with the right mouse button on the row |
As long as the app Trainers & credentials is switched on, the table also shows the column Team (Trainers & credentials: Offer list).
Indicators
| Indicator | Meaning |
|---|---|
| Lock “Read-only” | The offer may only be viewed. |
| Orange shield | “Date of birth is collected for the organizers” |
| Status icon in its own colour | Status of the offer, e.g. orange Draft, green Published, red Cancelled (Offer status) |
| The last date of a published offer is over; the offer is waiting to be completed. | |
| Warning triangle | “Date missing” |
| Struck-through title | Offer cancelled |
Next step
Location: view List, on the right of every row. In the table, the status changes are in the actions menu of the row.
| Situation | Display |
|---|---|
| A forward status change is allowed | Button Submit, Approve or Publish. The change applies immediately; the message offers Undo. |
| Organizer, offer in draft | Review & submit opens the proof. |
| Published, last date over | Complete opens the Complete offer panel. A last date without an end counts as not over. |
| Cancelled | Restore opens the dialog if you may restore the offer; otherwise the cell stays empty. |
| No step | Text instead of a button: “In progress”; “With the office” (organizers) or “Waiting for approval” (admins); “Approved, online soon” (organizers) or “Waiting to be published” (admins); “Complete after the date” or, without a date, “Online”; “Done” |
Filters
Location: Show filters. The filters appear to the right of the list.
The filters as admins see them, with no filter selected. Organizers see Hide past offers, Completion open and, if set up, Properties.
| Element | Content |
|---|---|
| Clear | Appears as soon as a filter is selected. Clears all filters. The status above the list stays. |
| Hide filters | Closes the filters. |
| Organizers | Admins only, and only if Organizers is turned on under Fields. An organizer profile. Default: All |
| Hide past offers | Hides offers whose last date is over; offers without a date stay. Stays turned on in this browser until you turn it off. Chip: “Upcoming” |
| Completion open | Last date over, neither completed nor cancelled. Turns off Hide past offers. Chip: “Completion open” |
| Unprocessed spots | Admins only. Only offers with new registrations. Chip: “With pending registrations” |
| Registration required | Admins only. All, Yes or No. Chips: “with registration”, “without registration” |
| Online registration system | Admins only. All, Yes or No. Chips: “Online registration system”, “no online registration system” |
| Properties | Only if Filter in the offer list of the admin panel is set for an own property (Own properties). Yes/No properties and values of choice properties, several selectable |
| Results | “{count} results” |
As long as the app Trainers & credentials is switched on, the filter Team incomplete is listed there as well (Trainers & credentials: Offer list).
Row actions menu (⋮)
The actions menu of a submitted canoe trip, as admins see it. Selecting the row opens the same offer in the side panel; the right mouse button opens this menu.
| Group | Entries |
|---|---|
| First | Open with the key ↵: opens the page of the offer instead of the side panel. |
| Status | Every status change allowed right now; on the right the status it leads to. In the list the change applies immediately. Cancel and Restore open a side panel (Offer status), Complete opens the Complete offer panel. |
| Without a heading | Details, Edit with the key E, after completion Follow up or View feedback, Proof, Copy offer with the key C, for offers with dates Date variants |
| Participation | With Registration via the website Participant list and Allocate places; also Increase number of places, Transfer participants, Newsletter |
| At the end | Delete offer with the key X |
Edit is always in the menu; without the right to edit it shows the offer read-only. Every other entry appears only with the matching right. Delete offer also appears for organizers if the only missing requirement is the editing phase (Delete offer).
Empty list
| Element | Content |
|---|---|
| No offers for {season} yet | Organizers: “You can change your offers until the editing phase ends.” Admins: depending on whether an editing phase is running right now, one of the notes on phases and carrying over. If Organizers is turned off under Fields, the list suggests neither a newsletter nor an invitation nor a check of the organizers' declaration. |
| Create offer | Opens the New offer wizard, for exactly one selected season for that season. |
| Carry over from an earlier season | Admins only. Opens the dialog Carry over offers. |
“New offer” wizard
Location: New offer… or Create offer in an empty list. Subtitle: “How would you like to start?”, with exactly one season selected “In {season}. How would you like to start?”.
Sample data.
| Option | Effect |
|---|---|
| Start blank | “New offer without a template.” |
| Copy from an earlier season | “Carry over the content, new dates.”, without a selected season “… new dates and season.” Only if there are main offers in other seasons; organizers see only their own. Otherwise greyed out: “No offers from other seasons.” If you select a season before searching, the list of its main offers opens below. |
| Variant of an offer | “Same content, its own date and places.” Only if the season has main offers; organizers see only their own. Otherwise greyed out: “No offers in this season yet.” Creates a variant of the selected main offer (Variants). |
With Copy from an earlier season and Variant of an offer, a search follows (“Search offer or organizer …”) across the main offers, with “{shown} of {total} offers” and, without a hit, “No offer found.” Edit copy or Create variant opens the new offer.
| New offer | Value |
|---|---|
| Status | Draft; the header shows “Draft · not saved yet” and, for a copy or variant, where it comes from. |
| Note for a copy | “Content carried over, dates empty” – “Check price and age range.” |
| Note for a variant | “The content is linked to the offer” – “Change title, text and images on the offer itself.” |
| Contact person | Name, Email address and Phone from the organizer profile of the offer, for several profiles from the first. Organizers see them already entered in the form of the new offer. If the team creates the offer and leaves the contact person empty, fepli takes it over from the selected profile at the first save. If the profile has neither an email address nor a phone number, the contact person stays empty. |
| List recipient | the person creating the offer |
| Until the first save | Create draft instead of Save; only the Content page is usable. |
| After the first save | The Content page of the new offer opens with “Your changes have been saved.”; all pages and tabs are usable. |
Header of an offer
Location: above every tab of an offer.
The header on Edit, as admins see it.
| Element | Content |
|---|---|
| View offer page | Opens the offer page on the website via the public link, otherwise via the private link (Links and visibility). |
| Copy link | Copies the link to the offer. Confirmation: “Link copied” |
| More actions (⋮) | Menu with actions for the whole offer (More actions) |
| Status | Status dot and name; change opens the status menu with all transitions allowed right now (Offer status). On Edit below the title, on the other tabs on the right. |
| Date | Only on Edit and Participant list. First date and “· {count} dates”; for a repetition every date counts individually. “Continuous offer” if the offer runs without a date as an Ongoing offer without a fixed end; otherwise an orange “Date missing” if no date has a start |
| Places | On Participant list and Allocate, on Edit only with Registration via the website. “{count} / {max}” with a bar, “∞” without a maximum; after it “{count} waiting” for the waiting list. Registrations with takes part, took part and did not show up are counted, like the filter Allocated of the participant list. For admins and, if the season allows Allocate places, for organizers, “{count} waiting” is a link to the Allocate view; otherwise it is only text. |
| Registration deadline | Only on Edit. Date; “· of the season” if the registration deadline of the season applies; “—” without a registration deadline |
| Variant | Only on Edit and only for variants: “{position} of {count}”, leads to the Variants table |
| Consents | Only on Participant list: “{count} open” or “none open” |
| Demand, To decide | Only on Allocate (Allocate view) |
Tabs
| Tab | Content |
|---|---|
| Details | Always: the details of the offer and Activity & comments |
| Edit | With the right to edit: the offer form |
| Participant list | With Registration via the website or existing registrations, with the right to the list: the participant list. Greyed out for organizers as long as the phase Participant lists public is not running: “No phase ‘Participant lists public’ is running in this season.” |
| Allocate | With Registration via the website, for admins and, if the season allows Allocate places under What organizers may do themselves, for organizers: the Allocate view. Greyed out without registrations: “No registrations to allocate yet” |
| Proof | With the right to view: proof check and preview (Proof) |
| Access | With the right to edit or to grant access: who has access to the offer (Access). A tab of its own, not a page of the offer form. |
| Embed | As long as the app Embed in a website is switched on (App-Store), with the right to view: link to the registration and code with which another website shows the offer (Embed) |
As long as the app Trainers & credentials is switched on, the tab Team stands between Access and Embed: who leads the offer and whether the credentials are there (Trainers & credentials: Team of an offer).
More actions (⋮)
The menu of a published canoe trip with variants, as admins see it.
| Entry | Condition and effect |
|---|---|
| Copy group link | Offer is public and has variants (Links and visibility) |
| Copy private link | Offer has a public link |
| Copy offer | Right to view. Opens the dialog Copy offer. |
| Date variants | Offer with dates, right to edit. Opens the Date variants dialog (Variants). |
| Renew private link | Admins and members of the offer's organizer profiles; not for people invited through Access (Links and visibility) |
| Increase number of places | Registration via the website, right to edit (Increase places) |
| Transfer participants | Registration via the website, right to transfer |
| Newsletter | Registration via the website, right to the participant list; admins and members of the offer's organizer profiles |
| Cancel, Restore, Complete | The transition is allowed (Offer status). |
| Follow up, View feedback | Offer completed, and the season provides a completion form. Admins see Follow up if the season provides a form for the team. |
| Delete offer | Right to delete; for organizers also if the only missing requirement is the editing phase (Delete offer) |
Proof
Location: tab Proof.
Sample data; every instance sets up its own print templates.
| Element | Content |
|---|---|
| Proof check | “Each item leads to the field where it is fixed.” |
| Finding | First the errors with a red cross, then the notes with a yellow sign, each with consequence and link to the field (Checks) |
| Passed checks | “{count} checks without findings”; expanded, the list of the passed checks |
| Check again | Checks the offer once more. |
| View | Website (offer page) and List (entry in the offer list of the website), if the instance has a website; for each print template of the instance a print view. Without a website and print template: “No website and no print template available.” |
| Zoom out, Zoom in | Zoom of the preview from 50 % to 150 % |
| Only with a print view: downloads the proof as a PDF. | |
| Note | Below the preview. Website, List: “This is how the offer appears on the website. Links do not work here.” Print view: “Fonts and line breaks may differ. The PDF is authoritative.” |
| Section | Content |
|---|---|
| AI review | Below the proof check, only if the app AI review is connected: “Hints from a language model, never a block” (App-Store). |
Checks
| Check | Level | Consequence according to the interface | Link |
|---|---|---|---|
| No date entered | Error; does not apply to Ongoing offer without a fixed end | “The website and print then give no date.” | Open dates |
| “Date without a start”, “{count} dates without a start” | Error | “For this date the website and print give no date.”, “For these dates the website and print give no date.” | Open dates |
| No description | Note | “The website and print then show only the title and key facts.” | Write a description |
| No age range | Note | “The offer counts as open to any age.” | Set the age range |
| No contact person | Note | “The offer page shows no contact person.” | Add a contact person |
| No maximum number of places | Note; only with Registration via the website | “Places count as unlimited for online registration.” | Registration · Places |
| Date outside the event period | Note | “At least one date lies outside the event period ({start} to {end}).” | Open dates |
| Registration deadline after the first date | Note | “The registration deadline ({date}) is after the first date ({date}).” | Open dates |
| No meeting point | Note | “The website and print then name no place.” | Add the meeting point |
| No picture | Note | “The offer list shows a placeholder.” | Open media |
Fields that are turned off are not checked (Fields). A check that does not apply to the offer counts neither as a finding nor as passed, for example No maximum number of places without Registration via the website.
Proofs of the season
Location: Season > Proofs. Visible to: admins.
| Element | Content |
|---|---|
| Approve several … | Opens the dialog Change all offers with a status (Offer status). |
| Website, List, print views | Preview for all offers: offer page, entry in the offer list or, for each print template, a print view |
| Search | Title and organizer |
| List | All offers of the season that are not completed: submitted offers first, then drafts, approved and published offers, sorted by date within each group. The selected offer appears in the preview on the right. |
| Status | Status of the selected offer with the status menu (Offer status) |
Variants
Background: Date, time or variant?
| Rule | Content |
|---|---|
| Variant | The same offer at a different time, with its own participant list |
| Always the variant's own details | Dates or ongoing offer, registration deadline, list recipients |
| Registration | Participants register for exactly one variant. |
| Always taken from the main offer | Title, registration type, note text, visibility, season, organizers, categories, Ask for date of birth. The fields are locked in the variant; every save on the main offer transfers them to all variants. |
| From the main offer or per variant, depending on the setting | Description, meeting point, what to bring, fee, Wheelchair accessible, own properties, contact persons, extra questions and consent forms: by default from the main offer. Age, minimum number and places: by default per variant. A field that comes from the main offer is locked in the variant; every save on the main offer transfers it again. Setting per field: Fields per variant. |
| Consent forms | If the variant takes the declarations from the main offer (default): when the text changes on the main offer, the variant receives it too; its consents become invalid and are collected again. Consents from a variant then lock the text on the main offer (Consents). |
| Note in the variant | “Variant of offer ID {ID}. Not all fields are editable.” |
Location: Offer > Edit > Dates & places > Variants, and the Date variants dialog.
The variant of 22.07. at the back on Dates & places, at the front in its Date variants dialog.
| Element | Content |
|---|---|
| Link existing offers | With the right to edit. Opens the Date variants dialog. |
| Create variant | With the right to create offers in the season. Opens an unsaved copy of the main offer with dates. |
| Table | From 2 variants: “Variant {number}”, Date and Places per variant. The row of the open offer shows “· this offer” and “current”, the others show open. Without variants: “No variants yet.” |
| Date variants dialog | Also via Date variants under More actions or in the actions menu of a row. “All variants of this offer. Each has its own dates, places and participant list.” For each variant the first date; its own is outlined in red, every other one opens the dialog of its variant. |
| Remove link | For a variant or a main offer: “Detaches the date ({date}) from the offer. The registrations stay with their date.” Detach date from offer makes the variant independent. For the main offer, the first variant becomes the new main offer. |
| Create date variant | For an independent offer, instead of Remove link: “Turns this date into a variant of another offer. Caution: apart from dates, registration deadline, places, minimum number, age and list recipients, the main offer overwrites all details. The registrations stay with this date.” Under Select main offer are the main offers of the same season, for organizers only their own. Link offer makes the offer a variant; the details are overwritten immediately, including contact persons and consent forms, unless the settings say otherwise. The registrations are then listed in the participant list of the variant. |
| Other way to a variant | Effect |
|---|---|
| Create a new variant of this offer | In the dialog Copy offer. Opens an unsaved copy of the main offer with dates. |
| Variant of an offer | In the “New offer” wizard. Opens an unsaved copy of the selected main offer with dates. |
| Unsaved copy | Note “Save the offer first.” Only Save creates the variant; then its Content page opens. |
Copy offer
Location: More actions > Copy offer or a row's actions menu > Copy offer. The dialog Copy offer says: “Choose one of the following options.”
The dialog for the canoe trip of Summer holidays 2027 while the editing phase of Autumn holidays 2027 is running.
| Option | Effect |
|---|---|
| Create a new variant of this offer | For everyone who may create offers in the season. A variant of the main offer in the same season: “The same offer for another group. Dates, registration deadline, places, age and list recipients are set per variant; everything else comes from the main offer.” |
| Copy offer | For everyone who may create offers in the season: “An independent copy will be created in ‘{season}’.” |
| Copy offer to “{season}” | Only for organizers, for each season with a running editing phase in which they may create offers: “An independent copy will be created in ‘{season}’.” |
| No option allowed | “Copying is disabled.” with Cancel |
| Copied | Not copied |
|---|---|
| Contents, contact persons, images, downloads, extra questions, consent forms (without consents given), categories, organizers, list recipients, visibility, own properties | Status, registrations, comments, activity, friend codes, directly invited people, Former recipients without an account, URL suffix; the private link is new |
| Dates and registration deadline: for copies and variants within the season | Dates and registration deadline: for copies into another season |
Every copy opens unsaved in the offer form with the note “Save the offer first.” Only Save creates it; then its Content page opens. Every copy starts as a Draft.
Carry over offers
Location: Carry over from an earlier season in the empty offer list of a season. Visible to: admins.
Sample data.
| Element | Content |
|---|---|
| Description | “Copies all offers of an earlier season to {season}, as drafts and without dates.” |
| Seasons | Every other season with offers, the newest first, each with “{count} offers will be copied as drafts.” Main offers are counted and copied, not variants. |
| Carry over offers | Copies the offers of the selected season and shows the list of the season with “{count} offers carried over to ‘{season}’ as drafts.” |
| Without another season with offers | “No other season with offers.” with Create offer |
Delete offer
Location: More actions > Delete offer or a row's actions menu > Delete offer.
At the back an offer with two registrations, in front the same offer with a paid registration.
| Element | Content |
|---|---|
| Question | “Delete offer “{name}”?” – “The offer disappears from all lists and from the programme. Cannot be undone.” |
| Details | Organizers, Date of the first date and Registrations as “{count} / {max}” |
| Warning | For an offer with registrations: “Registrations will be deleted as well!” |
| Delete offer | Deletes the offer. If it is a main offer, the first variant becomes the main offer. |
| Cannot be deleted | Appears with the reason if deleting is not allowed; the dialog then offers only Close. |
| Who | May delete |
|---|---|
| Organizer | Offers without registrations that are neither approved nor published, as long as the editing phase is running. If it is not running, the dialog shows Cannot be deleted: “No editing phase is running in the season ‘{season}’.” |
| Admin | Any offer, unless a registration is on a paid receipt. Then the dialog shows Cannot be deleted: “There is a paid receipt that refers to the registration(s). Paid receipts must not be changed afterwards. Cancel the offer and refund the fee instead of deleting.”, below it the receipts as “Receipt #{number}”. Only with the role View and create payments does the receipt number open the receipt; otherwise it has no link. |