Skip to main content

Function registrations

A function is a type of agenda item that you can use to organize and manage activities such as workshops or meals within your event. To learn more about functions, please consult the official documentation over at https://eahelp.eventsair.com/home/functions.

Guests management in functions

The EventsAir system offers multiple options to manage guests for functions during the registration process. These options include:

  1. Do not collect guest names.
  2. Record guest name, title and organization.
  3. Create or match guest contact records.

For more details about these options, please look at the official help page at https://eahelp.eventsair.com/home/guest-name-management-options.

To support these options, the Function type exposes a guestType field indicating the guest management option that applies:

OptionguestType field value
Do not collect guest namesNAMES_DO_NOT_NEED_TO_BE_RECORDED
Record guest name, title and organizationRECORD_BASIC_NAME_DETAILS_ONLY
Create or match guest contact recordsMAP_TO_CONTACT

Guests representation in function registrations

The FunctionRegistration type defines a guests field that represents the guests registered for the function. Each option will result in different values and shapes for this field.

The following sections will show examples of the expected response to the query below:

query FunctionRegistrationDifferentGuestTypes {
event(id: "00000000-0000-0000-0000-000000000000") {
functionRegistrations {
function {
guestType
}
guests {
contact {
... on Contact {
__typename
id
lastName
}

... on FunctionGuestDetails {
__typename
firstName
lastName
}
}
}
}
}
}

Do not collect guest names

When guest names are not recorded, the guests field will return an empty array.

{
"data": {
"event": {
"functionRegistrations": [
{
"function": {
"guestType": "NAMES_DO_NOT_NEED_TO_BE_RECORDED"
},
"guests": []
}
]
}
}
}

Record guest name, title and organization

For the option where basic details are recorded for guests, the guest.contacts field will return a collection of FunctionGuestDetails.

{
"data": {
"event": {
"functionRegistrations": [
{
"function": {
"guestType": "RECORD_BASIC_NAME_DETAILS_ONLY"
},
"guests": [
{
"contact": {
"__typename": "FunctionGuestDetails",
"firstName": "Rebecca",
"lastName": "Jones"
}
},
{
"contact": {
"__typename": "FunctionGuestDetails",
"firstName": "Alicia",
"lastName": "Yamamoto"
}
}
]
}
]
}
}
}

Create or match guest contact records

When guests are created or matched against contact records, the guests.contacts field will return an array of Contact:

{
"data": {
"event": {
"functionRegistrations": [
{
"function": {
"guestType": "MAP_TO_CONTACT"
},
"guests": [
{
"contact": {
"__typename": "Contact",
"id": "1fe56b0d-e79b-4343-a181-8403b9115c1b",
"lastName": "Jones"
}
},
{
"contact": {
"__typename": "Contact",
"id": "cbfd7116-b304-4bd4-8303-b74685f890af",
"lastName": "Yamamoto"
}
}
]
}
]
}
}
}

Create or update function registrations

When creating or updating function registrations, the data related to guests will depend on the guest management option associated with the target function.

OptionCreation mutation nameUpdate mutation name
Do not collect guest namescreateFunctionRegistrationupdateFunctionRegistration
Record guest name, title and organizationcreateFunctionRegistrationWithBasicGuestsupdateFunctionRegistrationWithBasicGuests
Create or match guest contact recordscreateFunctionRegistrationWithContactGuestsupdateFunctionRegistrationWithContactGuests

If the invoked mutation doesn't match the function guest type, an error will be returned indicating which mutation should be used.

Do not collect guest names

No guests are specified in the input:

mutation createFunctionRegistrationWithNoGuests {
createFunctionRegistration(
input: {
eventId: "00000000-0000-0000-0000-000000000000"
functionFeeTypeId: "00000000-0000-0000-0000-000000000000"
contactId: "00000000-0000-0000-0000-000000000000"
paymentDetails: { paymentStatus: PURCHASE }
}
) {
functionRegistration {
id
}
}
}

Record guest name, title and organization

The input contains basic information about the guests, represented by the CreateBasicFunctionGuestInput input type:

mutation createFunctionRegistrationWithBasicGuests {
createFunctionRegistrationWithBasicGuests(
input: {
eventId: "00000000-0000-0000-0000-000000000000"
functionFeeTypeId: "00000000-0000-0000-0000-000000000000"
contactId: "00000000-0000-0000-0000-000000000000"
guests: [{ lastName: "Cantrell", firstName: "Danny" }, { email: "roger.hanson@eventsair.com" }]
paymentDetails: { paymentStatus: PURCHASE }
}
) {
functionRegistration {
id
guests {
contact {
... on FunctionGuestDetails {
lastName
firstName
email
}
}
}
}
}
}

Create or match guest contact records

In this case, the guests must reference IDs of existing contacts in the system through the CreateContactFunctionGuestInput type:

mutation createFunctionRegistrationWithContactGuests {
createFunctionRegistrationWithContactGuests(
input: {
eventId: "00000000-0000-0000-0000-000000000000"
functionFeeTypeId: "00000000-0000-0000-0000-000000000000"
contactId: "00000000-0000-0000-0000-000000000000"
guests: [{ contactId: "123079cf-0ab3-4a23-8a85-7dd4270e34ac" }, { contactId: "d4ed4536-1804-4cd2-b763-3e4c84dd45f2" }]
paymentDetails: { paymentStatus: PURCHASE }
}
) {
functionRegistration {
id
guests {
contact {
... on Contact {
id
lastName
firstName
}
}
}
}
}
}