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:
- Do not collect guest names.
- Record guest name, title and organization.
- 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:
Option | guestType field value |
---|---|
Do not collect guest names | NAMES_DO_NOT_NEED_TO_BE_RECORDED |
Record guest name, title and organization | RECORD_BASIC_NAME_DETAILS_ONLY |
Create or match guest contact records | MAP_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.
Option | Creation mutation name | Update mutation name |
---|---|---|
Do not collect guest names | createFunctionRegistration | updateFunctionRegistration |
Record guest name, title and organization | createFunctionRegistrationWithBasicGuests | updateFunctionRegistrationWithBasicGuests |
Create or match guest contact records | createFunctionRegistrationWithContactGuests | updateFunctionRegistrationWithContactGuests |
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
}
}
}
}
}
}