CAFC New Pass and Invitation Setup Guide

Version 1.0.3 — 20 August 2026, 09:53:01 (Europe/London)

1. Purpose

This guide defines the controlled process for adding a new invitation-led digital pass to the CAFC WordPress and Gravity Forms system.

It covers:

  • the invitation email template;
  • the invitation repository record;
  • the recipient’s destination/application form;
  • the Wallet Pass Definition;
  • the pass notification containing the email pass and Apple/Google Wallet buttons;
  • optional season and check-in integration;
  • safe testing before live invitations are sent.

Do not create or send live invitations until every relevant item in the final checklist has passed.

2. Current system limitation

The live Generic Pass Invitation System v1.0.10 currently supports:

The management screen can store another destination form number, but the public invitation engine and send validation currently reject any destination other than Form 20.

Therefore:

  • a new invitation campaign leading to the existing Managers Pass Form 20 can be configured without changing the invitation engine;
  • a genuinely new pass with a new destination form requires a tested complete replacement of the Generic Pass Invitation System before it can be activated;
  • check-in support for a new pass form must also be added separately unless the pass is already one of the supported forms.

3. System flow

  1. Form 23 stores the reusable invitation email template.
  2. Invitation Management creates a Pending recipient entry in Form 21.
  3. A live send creates a new secure token and emails the recipient.
  4. The email link opens /invitation/?token=....
  5. The invitation engine validates the Form 21 status, token and expiry.
  6. The engine displays the configured destination/application form.
  7. The destination form is prefilled from Form 21 and submitted by the recipient.
  8. The Form 21 invitation becomes Used and records the resulting destination entry.
  9. The destination form’s notification uses {cafc_wallet_email_pass} to create the email pass and Wallet buttons.
  10. Form 19 tells the Wallet Pass System how to read the destination entry and display the pass.
  11. If required, Ticket Check-In recognises the reference and writes attendance to Form 5.

4. Forms and pages required

Always required

Component Current ID/path Purpose
Wallet Pass Definitions Form 19 One active definition entry for each destination/source form
Destination/application form Form 20 for the current live engine Collects the recipient’s final application and owns the issued pass record
Pass Invitations Form 21 Stores each recipient, token, status, expiry, email and batch
Pass Invitation Content Templates Form 23 Stores reusable invitation email templates
Invitation page /invitation/ Contains [cafc_pass_invitation]
Invitation Management page /pass-invitation-management/ Contains [cafc_pass_invitation_management]

Required when the pass is checked at the turnstile

Component Current ID Purpose
Global Settings Form 25 Field 1 stores the current season
Fixtures Form 15 Supplies today’s real fixture
Check-In History Form 5 Stores check-in and undo history
Ticket Check-In snippet Current authoritative release Must explicitly recognise the new destination form and its fields

5. Choose and record the new pass specification

Before changing Gravity Forms, complete this worksheet:

Decision Required value
Public pass name For example, Managers Pass
Stable pass type key Lowercase/underscore key, for example managers_pass
Invitation type Exact text used consistently in Forms 21 and 23
Destination form ID Existing Form 20 or approved new form
Passholder name field Destination field ID
Check-in reference field Destination field ID
Season field Destination field ID
Status field Destination field ID and accepted value
Main detail field Destination field ID, such as team
Valid-from rule Fixed date, issue date or fixture date
Valid-to date Required unless derived from fixture date
Apple Wallet enabled Yes/No
Google Wallet enabled Yes/No
Check-in required Yes/No
Invitation validity Number of days
Confirmation wording Destination form confirmation
Pass email wording Destination form notification

The invitation type, destination form and Form 19 source form must agree.

6. Create or verify the destination/application form

Current Managers Pass destination — Form 20

The current invitation engine expects these fields:

Field Purpose
3 Manager name; inputs 3.3 and 3.6 are prefilled and made read-only
5 Season
6 Invited email; prefilled, made read-only and validated against Form 21
23 Managers Pass status; Active is required for check-in
25 Manual/check-in reference
29 Team description
35 Invitation description source copied from Form 21 Field 15
36 Secure invitation token
37 Source Form 21 invitation entry ID
38 Validated invited email
39 Invitation validation result; set to Validated

Fields 36–39 should be hidden or administrative and must not be editable by the recipient.

Requirements for a future new destination form

Create a dedicated form when the new pass needs different application data or lifecycle behaviour. It must include fields for:

  • passholder name;
  • recipient email;
  • season where applicable;
  • pass status;
  • unique check-in reference;
  • any pass detail shown on the email/Wallet pass;
  • invitation token;
  • source Form 21 entry ID;
  • validated invitation email;
  • invitation validation marker.

Record the exact field IDs. A code release must then map the new form in the Generic Pass Invitation System. Never assume it will inherit the Form 20 mapping.

Destination confirmation

Configure the active Gravity Forms confirmation on the destination form. This controls the page displayed after a successful application.

The current Managers Pass system deliberately uses Form 20‘s active confirmation rather than hard-coded snippet wording.

Destination notification that issues the pass

Create or verify a notification on the destination form.

The message should contain:

{cafc_wallet_email_pass}

This single merge tag renders the pass, QR code, directions link and enabled Apple/Google Wallet controls using Form 19.

Set notification routing and conditional logic carefully. If the pass must only be issued after a successful payment or approved status, the notification must use the correct event/conditions. Do not allow a normal submission notification and a separate manual notification to issue the same pass twice.

7. Create the Wallet Pass Definition in Form 19

Create one new active Form 19 entry for the destination/source form. The Wallet system reads active entries newest-first and uses only the newest enabled definition for each source form.

Form 19 field map

Field Setting Guidance
1 Pass type key Stable lowercase key; do not reuse for a different product
3 Pass title Customer-facing title
4 Description Internal/customer description as designed
5 Season fallback Used if the mapped source season is blank
6 Fixed valid-from date Used for a fixed-date rule
7 Valid-to date Store/enter the expected date format consistently
8 Fixture types Applicable fixture choices
9 Usage rule Describes permitted use
11 Re-entry rule Re-entry setting
12 Required status Must match the source form’s issued/active status
13 Required payment Payment requirement where used
14 Apple enabled Exact value Yes enables Apple Wallet
15 Google enabled Exact value Yes enables Google Wallet
17 Source form ID Destination/application form that owns the issued pass
18 Holder field ID Field containing the displayed passholder name
19 Reference field ID Field containing the unique QR/check-in reference
20 Main detail field ID For example team or pass category
21 Season label Usually SEASON
22 Season field ID Source field containing season
23 Main detail label For example TEAM
24 Status field ID Source field containing pass status
25 Maximum uses Numeric limit where applicable
26 Apple template type Wallet template setting
28 Background colour Hex colour, for example #008000
29 Terms Pass terms shown in the email/Wallet output
30 Validity text Customer-facing validity wording
31 Show reference Exact value Yes to display it
32 Show status Exact value Yes to display it
33 Definition enabled Must be exact value Yes
35 Valid-from rule Supported design values include fixed date, Issue date, or Fixture date
36 Wallet layout style Existing supported layout choice
37 Reference label For example PASS NO.
38 Strip image URL Public Media Library PNG URL where the selected Apple layout needs it
39 2x strip image URL Public high-resolution PNG URL where required
40 Third-detail source Field, status, valid-from, valid-until or supported summary source
41 Third-detail field ID Used when Field 40 selects a normal field
42 Third-detail label Customer-facing label
43 Fixture date field ID Required for fixture-date passes
44 Directions enabled Exact value Yes enables directions
45 Directions label For example Directions to Colston Avenue
46 Directions URL Full public Google Maps/directions URL
47 Directions icon URL Public Media Library image URL

Form 19 validation

Before proceeding, confirm:

  • Field 33 is Yes;
  • Field 17 is the correct destination/source form ID;
  • Fields 18, 19, 20, 22 and 24 refer to fields that actually exist in that form;
  • the reference field is populated and unique for every issued pass;
  • required status exactly matches the destination entry value;
  • fixed or derived validity dates are available;
  • Apple/Google switches reflect what should be shown;
  • strip artwork is valid PNG when the chosen Apple layout requires it;
  • directions URLs are public and load without authentication.

8. Create the invitation email template in Form 23

Create one active Form 23 entry. The management system discovers fields by their labels, so use these recommended labels exactly:

Recommended label Required content
Invitation Type Exact invitation type selected in Invitation Management
Destination Form Numeric destination form ID
Email Subject Complete subject line
Email Content Complete email body
Button Text Apply/continue button wording

The email body can use:

  • ordinary Form 21 Gravity Forms merge tags;
  • {cafc_invitation_button} for the linked action button;
  • {cafc_invitation_url} for the raw secure URL.

Include either the invitation button or raw invitation URL. The button is preferred for normal customer emails.

After saving the Form 23 entry, open Invitation Management and confirm the new invitation type appears in the template selector with the correct destination form title.

9. Form 21 invitation repository

Do not create another invitation repository form for each new pass. All invitation types use Form 21.

Form 21 field map

Field Purpose
1 Recipient name; 1.3 first name and 1.6 surname
3 Recipient email
4 Organisation
5 Department/team
10 Invitation status: Pending, Used, Cancelled or Expired; Pending plus Field 12 displays as Sent
11 Effective expiry
12 Live send date
13 Claimed date/time
14 Resulting destination-form entry ID
15 Invitation description source
17 Batch reference
22 Destination form ID
24 Copied email subject
25 Copied email content
26 Invitation type
27 Validity in days
28 Apply-button text
29 Secure invitation token
30 Campaign description
31 External reference
32 Campaign expiry

Invitation Management creates these entries. Avoid manually changing token, status, sent, claimed or resulting-entry fields unless following an approved recovery process.

10. Configure code support for a genuinely new destination form

This step is mandatory if the destination is not Form 20.

Issue a complete replacement of the Generic Pass Invitation System that:

  • explicitly permits the new destination form ID;
  • maps Form 21 recipient data into the correct destination fields;
  • makes invited identity fields read-only where required;
  • validates the token and invited email on submission;
  • stores the invitation token and source invitation ID in the destination entry;
  • changes Form 21 to Used only after successful destination submission;
  • records the resulting destination entry ID;
  • preserves the destination form’s configured confirmation;
  • preserves all existing Form 20 Managers Pass behaviour.

If check-in is required, issue a separate complete Ticket Check-In replacement that maps the new source form, status, season, holder, detail and reference fields. Update Checkin Reports if the pass needs a new reporting category.

11. Create invitations

Single recipient

  1. Open /pass-invitation-management/.
  2. Select Add Record.
  3. Choose an existing batch or create a new batch.
  4. For a new batch, select the required Form 23 invitation template.
  5. Enter first name, surname and valid email.
  6. Complete optional organisation, team, source, campaign and expiry information.
  7. Create the record.
  8. Confirm the new Form 21 entry is Pending.
  9. No email is sent by Add Record.

CSV batch

Use the Import tab and the supplied CSV template. Required columns are:

  • first_name
  • last_name
  • email

Optional columns are:

  • external_reference
  • invitee_organisation
  • invitee_department_team
  • invitation_description_source
  • campaign_description
  • campaign_expiry_date

Preview the batch before creation. Existing active invitations for the same email and invitation type are blocked; Expired or Cancelled records do not prevent a new invitation.

12. Test before live sending

  1. Create a single test invitation using a controlled address.
  2. Open Invitations and select the record.
  3. Choose Preview Send/Resend.
  4. Select the TEST tab.
  5. Enter the test mailbox.
  6. Leave Expire token as No for a reusable preview test.
  7. Send the test email.
  8. Check sender, subject, wording, button, mobile display and destination title.
  9. Confirm no live send date was written to Form 21 Field 12.
  10. When ready to test the complete application, perform a live send to a controlled recipient.
  11. Open the invitation link and confirm the destination form is prefilled correctly.
  12. Confirm invited name/email cannot be changed where required.
  13. Submit the destination form.
  14. Confirm its configured confirmation is displayed.
  15. Confirm Form 21 is Used and Fields 13 and 14 are populated.
  16. Confirm the pass email is received once.
  17. Confirm the email pass shows the correct holder, reference, season, detail, status, dates and directions.
  18. Test Apple Wallet and Google Wallet separately.
  19. If applicable, scan and manually enter the reference in Ticket Check-In TEST mode.
  20. Only after all checks pass should a real batch be sent.

13. Live-send rules

  • Use Invitation Management preview before every live batch.
  • Live Send/Resend rotates the secure token and renews effective expiry.
  • An earlier secure link becomes invalid after resend.
  • Reset creates a new token and returns the invitation to Pending without sending.
  • Cancelled, Expired and Used invitations cannot be claimed.
  • Do not send from both the Form 21 entry screen and Invitation Management during the same operation.
  • Check Form 21 notes and the email log after failures.

14. Final go-live checklist

  • Pass specification recorded.
  • Destination form and exact field IDs confirmed.
  • Destination confirmation tested.
  • Destination pass notification contains {cafc_wallet_email_pass}.
  • Notification routing/conditional logic prevents duplicate issue.
  • Form 19 definition created and Field 33 equals Yes.
  • Form 19 source form and all mapped field IDs verified.
  • Wallet validity, required status, colours, artwork and directions verified.
  • Form 23 template created with invitation type, destination, subject, content and button.
  • New invitation type appears correctly in Invitation Management.
  • Generic invitation code supports the destination form.
  • Check-in and reports support added where required.
  • Single invitation created without automatically sending.
  • TEST email passed.
  • Controlled live invitation and application passed.
  • Form 21 lifecycle changed correctly to Used.
  • Pass email arrived once.
  • Email pass, Apple Wallet and Google Wallet passed.
  • Turnstile test passed where applicable.
  • Documentation and master context updated with the new pass mappings.

15. Current authoritative dependencies used for this guide

  • CAFC Pass Invitation Management v1.6.6.
  • CAFC Generic Pass Invitation System v1.0.10.
  • CAFC Gravity Forms Wallet Pass System v2.8.8.
  • CAFC Ticket Check-In v2.3.31 where turnstile support is required.
  • CAFC Checkin Reports v1.2.4 where reporting support is required.

Revise this guide whenever a form ID, field ID, shortcode, page path, lifecycle rule or authoritative snippet changes.