Reservation

Compatible Application Events for the “Reservation” entity

Reservation confirmed

RESERVATION_CONFIRMED

Fired asynchronously once a reservation has been confirmed.

Variable Type About
reservation TicketReservation Details about the reservation
billingDetails BillingDetails Billing info for the reservation

Reservation cancelled

RESERVATION_CANCELLED

Fired synchronously once one or more reservations have been cancelled.

Variable Type About
reservationIds Collection<String> Cancelled reservation IDs
reservations List<TicketReservation> Cancelled reservations

Reservation expired

RESERVATION_EXPIRED

Fired synchronously once one or more reservations have expired.

Variable Type About
reservationIds Collection<String> Cancelled reservation IDs
reservations List<TicketReservation> Cancelled reservations

Reservation validation

RESERVATION_VALIDATION

Fired synchronously when a reservation needs to be validated. No result expected, use the input BindingResult to add any validation errors

Variable Type About
reservationId String Reservation ID
reservation TicketReservation Reservation to validate
form ContactAndTicketsForm or PaymentForm Customer provided input values
reservation TicketReservation Reservation to validate
bindingResult BindingResult Binding result to register any validation errors

Tax ID validation

TAX_ID_NUMBER_VALIDATION

Fired synchronously when a Tax ID (VAT/GST) number has to be validated. Please note that Alf.io already supports EU VAT validation (by calling the EU VIES web service). In these cases, the TAX_ID validation will be called only as fallback. Your extension should return a failed validation result if the country is not supported. You can find an example here

Expected return type is boolean

Variable Type About
taxIdNumber String TAX ID number to validate
countryCode String ISO 3166 2-letters country code

Invoice generation

INVOICE_GENERATION

Fired synchronously when generating an invoice. This allows for an integration with external billing systems.

Expected result is InvoiceGeneration or null

Variable Type About
reservationId String Reservation ID
email String Customer email
customerName CustomerName Customer first/last name
userLanguage String ISO 639-1 2-letters language code
billingAddress String multi-line billing address
billingDetails BillingDetails Billing data
customerReference String Customer reference (PO number)
reservationCost TotalPrice Reservation price details
invoiceRequested boolean Wether customer has requested an invoice
vatCountryCode String 2-digit TAX ID Country code
vatNr String TAX ID
vatStatus PriceContainer.VatStatus Tax application details

Credit Note generation

CREDIT_NOTE_GENERATION

Fired synchronously when generating a credit note. This allows for an integration with external billing systems.

Expected result is CreditNoteGeneration or null

Variable Type About
reservationId String Reservation ID
invoiceNumber String Invoice Number
organization Organization Organizer details

Credit Note generated

CREDIT_NOTE_GENERATED

Fired asynchronously after generating a credit note. This allows for an integration with external billing systems.

Variable Type About
reservationId String Reservation ID
reservation TicketReservation Reservation details
billingDetails BillingDetails Billing data
reservationCost TotalPrice Reservation price details
billingDocumentId long Internal Billing Document ID

Stuck reservations

STUCK_RESERVATIONS

Fired asynchronously when one or more “stuck” reservations are detected. A reservation is considered to be “stuck” if it’s expired while waiting for a confirmation from the payment provider

Variable Type About
stuckReservationsId List<String> Stuck reservations IDs

Offline payments about to expire

OFFLINE_RESERVATIONS_WILL_EXPIRE

Fired asynchronously when one or more offline payments are going to expire.

Variable Type About
reservations List<TicketReservationInfo> Reservation details

Refund issued

REFUND_ISSUED

Fired asynchronously after a refund has been issued.

Variable Type About
reservation TicketReservation Reservation details
transaction Transaction Transaction details
paymentInfo PaymentInformation Payment information

Dynamic discount application

DYNAMIC_DISCOUNT_APPLICATION

Fired synchronously when customer selects ticket categories in the event page. This allows you to define different discount policies based on the actual selection.

Expected result type: PromoCodeDiscount or null

Variable Type About
quantityByCategory Map<Integer, Long> How many tickets are being purchased for each category
reservationId String Reservation ID - may be undefined

Last modified 02.02.2024: update documentation (9e96972b)