Skip to main content

Multiple event prices (Pro)

Not everyone pays the same. A workshop that costs €25 for adults, €15 for students and nothing for under-12s needs more than the single Payment Price the free plugin stores. With LocalForm Pro active, the Event Details panel in a form's Settings tab gains a More prices section: add a rate per audience, each with its own label.

Adding prices

  1. Edit a form and open the Settings tab.
  2. In the Event Details card, fill in Payment Price as usual - that stays the event's standard price.
  3. Under More prices, click Add price for each rate and fill in:
    • Who it is for - the label shown to visitors ("Adults", "Students", "Members", "Under 12"). Required; a row without one is dropped when you save.
    • Price - the amount. Required, and 0 is fine - a free rate is a rate.
    • What it covers - optional; a short note printed after the amount behind a dash ("includes lunch", "members only", "per evening").
  4. Remove a row with the × button.
  5. Save the form.

Rates keep the order you put them in, so you decide what comes first. Two rows with the same label are treated as a mistake and only the first is kept (comparison ignores capitalisation). A form can hold up to 20 rates.

Where the prices show up

  • On the form page - the rates join the event facts band inside the form, each labelled with who it is for and printed after the single Payment Price when there is one. Amounts are written in the site's currency and number format, with two decimals, exactly like core's price.
  • In the Elementor Events widget - each rate is one line on the event card, written as label - amount, or label - amount - details when the rate has a note. See Elementor widgets.
  • In the webhook payload - the rates are added as a payment_prices array. Core's payment_price keeps its own key: it is the form's one unlabelled price, and folding it into a list of labelled rates would mean inventing a label for it.
{
"payment_price": 25.0,
"payment_prices": [
{ "label": "Adults", "price": 25.0, "details": "includes lunch" },
{ "label": "Students", "price": 15.5 },
{ "label": "Under 12", "price": 0.0 }
]
}

details is only present on rates that have one, so a rate saved without a note looks exactly as it always did.

Notes

  • This is a price list, not a question. Nothing is added to the form and nothing is recorded per registrant - the rates tell visitors what the event costs. If you want to know which rate someone falls under, add a dropdown or radio question for it yourself.
  • No currency symbol is printed, matching how core renders Payment Price. Put the currency in the field label above the form, or in the form description, if it isn't obvious to your visitors.
  • A comma decimal separator is accepted while typing (25,50 saves as 25.50).
  • What it covers is plain text, one line. It is meant for a qualifier the amount alone doesn't carry - keep the full terms in the form description.
  • Duplicating a form copies its rates along with it.