Discussions
Create Event RegistrationOptions with the API
about 1 year ago by Nicholas B Wimsatt
I'm looking to add a Registration option and pricing through the API. The way I go about it currently is to clone an event that has RegistrationOptions/Functions and then update the pricing using the /api/ItemPrice endpoint.
Below is an example I use to add function code "REG" to the EXAMPEVENT code.
PUT /api/Event/EXAMPEVENT
{
"$type": "Asi.Soa.Events.DataContracts.EventData, Asi.Contracts",
"Location": {
"$type": "Asi.Soa.Membership.DataContracts.LocationPartyAddressData, Asi.Contracts",
"Name": ""
},
"Capacity": 0,
"AddGuests": true,
"RegisterOthers": true,
"AdditionalDescription": "",
"Functions": {
"$type": "Asi.Soa.Events.DataContracts.EventFunctionDataCollection, Asi.Contracts",
"$values": []
},
"RegistrationOptions": {
"$type": "Asi.Soa.Events.DataContracts.OptionEventFunctionDataCollection, Asi.Contracts",
"$values": [
{
"$type": "Asi.Soa.Events.DataContracts.OptionEventFunctionData, Asi.Contracts",
"RelatedFunctions": {
"$type": "Asi.Soa.Events.DataContracts.EventRelatedFunctionDataCollection, Asi.Contracts",
"$values": []
},
"AvailableTo": 3,
"EventFunctionId": "EXAMPEVENT/REG",
"EventFunctionCode": "REG",
"Name": "Registration",
"Description": "",
"IsEventRegistrationOption": true,
"RegistrationType": 3,
"Category": {
"$type": "Asi.Soa.Events.DataContracts.EventFunctionCategoryData, Asi.Contracts",
"EventFunctionCategoryId": "REG",
"Name": "REG"
},
"Status": "",
"SortOrder": 0,
"Location": {
"$type": "Asi.Soa.Membership.DataContracts.LocationPartyAddressData, Asi.Contracts",
"Name": ""
},
"Capacity": 300,
"MaximumQuantityPerRegistrant": 1,
"Item": {
"$type": "Asi.Soa.Commerce.DataContracts.ItemSummaryData, Asi.Contracts",
"Description": "",
"ItemClass": {
"$type": "Asi.Soa.Commerce.DataContracts.ItemClassSummaryData, Asi.Contracts",
"ItemClassId": "MEETING",
"Name": "Event Function"
},
"ItemCode": "EXAMPEVENT/REG",
"ItemId": "EXAMPEVENT/REG",
"Name": "Registration"
},
"ProgramGroups": {
"$type": "Asi.Soa.Events.DataContracts.ProgramGroupDataCollectionCollection, Asi.Contracts",
"$values": [
{
"$type": "Asi.Soa.Events.DataContracts.ProgramGroupDataCollection, Asi.Contracts",
"$values": [
{
"$type": "Asi.Soa.Events.DataContracts.ProgramGroupData, Asi.Contracts",
"ProgramGroupId": "Date Not Specified",
"Name": "Date Not Specified",
"Sort": "9999-01-01"
}
]
},
{
"$type": "Asi.Soa.Events.DataContracts.ProgramGroupDataCollection, Asi.Contracts",
"$values": []
},
{
"$type": "Asi.Soa.Events.DataContracts.ProgramGroupDataCollection, Asi.Contracts",
"$values": []
}
]
},
"ConflictCodes": {
"$type": "System.Collections.ObjectModel.Collection`1[[System.String, mscorlib]], mscorlib",
"$values": []
},
"EventFormSectionId": "",
"FinancialEntityId": "",
"ContinuingEducationCreditInformation": {
"$type": "Asi.Soa.Events.DataContracts.ContinuingEducationCreditInformationDataCollection, Asi.Contracts",
"$values": [
{
"$type": "Asi.Soa.Events.DataContracts.ContinuingEducationCreditInformationData, Asi.Contracts",
"CreditType": ""
}
]
}
}
]
},
"RegistrationClosedMessage": "Registration is closed.",
"ProgramGroupInfo": {
"$type": "Asi.Soa.Events.DataContracts.ProgramGroupInfoDataCollection, Asi.Contracts",
"$values": [
{
"$type": "Asi.Soa.Events.DataContracts.ProgramGroupInfoData, Asi.Contracts",
"ProgramGroupInfoId": "Day",
"Name": "Day",
"ProgramGroups": {
"$type": "Asi.Soa.Events.DataContracts.ProgramGroupDataCollection, Asi.Contracts",
"$values": []
}
},
{
"$type": "Asi.Soa.Events.DataContracts.ProgramGroupInfoData, Asi.Contracts",
"ProgramGroupInfoId": "Category",
"Name": "Category",
"AllowFreeFormValues": true,
"ProgramGroups": {
"$type": "Asi.Soa.Events.DataContracts.ProgramGroupDataCollection, Asi.Contracts",
"$values": []
}
},
{
"$type": "Asi.Soa.Events.DataContracts.ProgramGroupInfoData, Asi.Contracts",
"ProgramGroupInfoId": "Track",
"Name": "Track",
"AllowFreeFormValues": true,
"ProgramGroups": {
"$type": "Asi.Soa.Events.DataContracts.ProgramGroupDataCollection, Asi.Contracts",
"$values": []
}
}
]
},
"EventFormId": "",
"EventFormSectionId": "",
"PublishingInformation": {
"$type": "Asi.Soa.Core.DataContracts.PublishingInformationData, Asi.Contracts",
"StartDate": null,
"ExpirationDate": "2023-11-13T23:59:00",
"Keywords": {
"$type": "System.Collections.ObjectModel.Collection`1[[System.String, mscorlib]], mscorlib",
"$values": []
},
"PublishingState": 0
},
"FinancialEntityId": "GEN",
"NotificationPartyId": "",
"EventId": "EXAMPEVENT",
"EventCode": "EXAMPEVENT",
"Name": "Example Event",
"Description": "This survey course presents the methods and techniques that organizations in our industry use to efficiently and successfully manage processes. Join us as we compare and contrast practices and discuss appropriate circumstances for which to apply each practice.",
"RegistrationType": 3,
"Category": {
"$type": "Asi.Soa.Events.DataContracts.EventCategoryData, Asi.Contracts",
"EventCategoryId": "CH"
},
"ParentIdentity": {
"$type": "Asi.Soa.Core.DataContracts.IdentityData, Asi.Contracts",
"EntityTypeName": "Public",
"IdentityElements": {
"$type": "System.Collections.ObjectModel.Collection`1[[System.String, mscorlib]], mscorlib",
"$values": [
"Public Groups"
]
}
},
"Status": "A",
"DisplayLayouts": {
"$type": "Asi.Soa.Core.DataContracts.DisplayLayoutDataCollection, Asi.Contracts",
"$values": [
{
"$type": "Asi.Soa.Core.DataContracts.DisplayLayoutData, Asi.Contracts",
"LayoutDirectory": "~/EventDetail"
},
{
"$type": "Asi.Soa.Core.DataContracts.DisplayLayoutData, Asi.Contracts",
"LayoutType": 1,
"LayoutDocument": {
"$type": "Asi.Soa.Core.DataContracts.DocumentSummaryData, Asi.Contracts",
"DocumentId": "debfa74b-e29a-496d-ac46-1b033417481a"
}
}
]
},
"StartDateTime": "2023-10-22T00:00:00",
"EndDateTime": "2023-10-22T00:00:00",
"AdditionalAttributes": {
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyDataCollection, Asi.Contracts",
"$values": [
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "fullAddressAttribute",
"Value": {
"$type": "Asi.Soa.Membership.DataContracts.FullAddressData, Asi.Contracts",
"Address": {
"$type": "Asi.Soa.Membership.DataContracts.AddressData, Asi.Contracts",
"AddressLines": {
"$type": "Asi.Soa.Membership.DataContracts.AddressLineDataCollection, Asi.Contracts",
"$values": [
"",
"",
""
]
},
"CityName": "",
"CountryCode": "",
"CountrySubEntityCode": "",
"FullAddress": "",
"PostalCode": ""
},
"CommunicationPreferences": {
"$type": "Asi.Soa.Membership.DataContracts.CommunicationPreferenceDataCollection, Asi.Contracts",
"$values": [
{
"$type": "Asi.Soa.Membership.DataContracts.CommunicationPreferenceData, Asi.Contracts",
"Reason": "mail"
},
{
"$type": "Asi.Soa.Membership.DataContracts.CommunicationPreferenceData, Asi.Contracts",
"Reason": "bill"
},
{
"$type": "Asi.Soa.Membership.DataContracts.CommunicationPreferenceData, Asi.Contracts",
"Reason": "ship"
}
]
},
"DisplayName": ""
}
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "WebEnabled",
"Value": {
"$type": "System.Boolean",
"$value": true
}
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "ViewOnly",
"Value": {
"$type": "System.Boolean",
"$value": false
}
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "MUFPro1",
"Value": ""
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "MUFPro2",
"Value": ""
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "MUFPro3",
"Value": ""
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "MUFPro4",
"Value": ""
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "MUFPro5",
"Value": ""
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "MUFPro6",
"Value": ""
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "MUFPro7",
"Value": ""
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "MUFPro8",
"Value": ""
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "MUFPro9",
"Value": ""
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "MUFPro10",
"Value": ""
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "TAX_AUTHORITY",
"Value": ""
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "TAX_BY_ADDRESS",
"Value": {
"$type": "System.Boolean",
"$value": false
}
},
{
"$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts",
"Name": "VAT_RULE",
"Value": ""
}
]
}
}
In the API result it does show with a successful 200, but if I run a GET call or try to load it up in iMIS it doesn't show. Could there be a missing value?
And if there is an option to add pricing groups to the event registration items I would love to see an example of that as well.