Event API (v2)

Download OpenAPI description
Languages
Servers
Staging URL
https://apis.spotnana.com/
Spotnana mock server
https://developer.spotnana.com/_mock/openapi/eventapi/

Events

APIs to create and manage events.

Operations

Update event booking guidelines

Request

Update the booking guidelines for an event. You can update booking guidelines such as maximum number of guests allowed to accompany a traveler, arrival and departure window for the event, payment methods, and allowed travel types.

Path
eventIdstringrequired

Event ID

Example: 6926658168
Bodyapplication/json
bookingGuidelinesArray of AirBookingGuidelineWrapper (object) or HotelBookingGuidelineWrapper (object) or CarBookingGuidelineWrapper (object) or RailBookingGuidelineWrapper (object)(EventBookingGuideline)required

A list of booking guideline for the event.

One of:

Booking details allowed for the event

bookingGuidelines[].​airBookingGuideLineobject(AirBookingGuideline)

Air related guidelines

bookingGuidelines[].​numGuestsAllowedinteger

Number of guests allowed to be booked for this booking

Example: 1
allowedBookingTypesArray of strings(EventAllowedBookingType)

Allowed booking types for the event group

Items Enum"AIR""HOTEL""CAR""RAIL"
paymentMappingsArray of objects(PaymentAccessMapping)

Mappings i.e. access level, travel type information etc.

eventTypestring(EventType)

Type of an event

Enum"GENERIC""PROGRAM""PROGRAM_SESSION""PROGRAM_TRIP"
curl -i -X POST \
  https://apis.spotnana.com/v2/events/6926658168/edit-booking-guidelines \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "bookingGuidelines": [
      {
        "numGuestsAllowed": 1,
        "airBookingGuideLine": {
          "allowedAirports": [
            {
              "airportCode": "WRA",
              "airportName": "Warder Airport",
              "cityName": "Werder",
              "countryName": "Ethiopia",
              "countryCode": "ET",
              "zoneName": "Africa/Addis_Ababa",
              "stateCode": "CA"
            }
          ],
          "arrivalBookingWindow": {
            "startDateTime": {
              "iso8601": "2017-07-21T17:32"
            },
            "endDateTime": {
              "iso8601": "2017-07-21T17:32"
            }
          },
          "departureBookingWindow": {
            "startDateTime": {
              "iso8601": "2017-07-21T17:32"
            },
            "endDateTime": {
              "iso8601": "2017-07-21T17:32"
            }
          },
          "allowedFlightGuidelines": [
            {
              "allowedFlightType": "ROUND_TRIP",
              "numberOfLegs": 2
            }
          ]
        }
      }
    ],
    "allowedBookingTypes": [
      "AIR"
    ],
    "paymentMappings": [
      {
        "id": "f49d00fe-1eda-4304-ba79-a980f565281d",
        "accessTypeAttributes": {
          "travelTypeFilter": {
            "travelTypes": [
              {
                "travelType": "AIR",
                "isRequired": true,
                "allowPostPaidBookings": false,
                "metadata": {
                  "vendors": []
                }
              }
            ]
          }
        }
      }
    ],
    "eventType": "GENERIC"
  }'

Responses

OK

Bodyapplication/json
idstring
Response
application/json
{ "id": "string" }

Set traveler RSVP

Request

Update the RSVP status and the RSVP response for a traveler.

Path
eventIdstringrequired

Event ID

Example: 6926658168
travelerIdstring(uuid)required

Traveler User ID

Example: f49d00fe-1eda-4304-ba79-a980f565281d
Bodyapplication/json
typestring(EventType)

Type of an event

Enum"GENERIC""PROGRAM""PROGRAM_SESSION""PROGRAM_TRIP"
eventRsvpStatestring(EventRsvpState)

Allowed event rsvp states for a user

Enum"ADDED""INVITED""INVITE_ACCEPTED""INVITE_DECLINED""REMOVED"
eventRsvpResponseobject(EventRsvpResponse)

Event rsvp response

curl -i -X POST \
  https://apis.spotnana.com/v2/events/6926658168/travelers/f49d00fe-1eda-4304-ba79-a980f565281d/rsvp \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "type": "GENERIC",
    "eventRsvpState": "ADDED",
    "eventRsvpResponse": {
      "air": {
        "notNeeded": true
      },
      "hotel": {
        "notNeeded": true
      },
      "car": {
        "notNeeded": true
      },
      "rail": {
        "notNeeded": true
      }
    }
  }'

Responses

OK

Response
No content

Get traveler RSVP

Request

Get the RSVP status and the RSVP response for a traveler.

Path
eventIdstringrequired

Event ID

Example: 6926658168
travelerIdstring(uuid)required

Traveler User ID

Example: f49d00fe-1eda-4304-ba79-a980f565281d
curl -i -X GET \
  https://apis.spotnana.com/v2/events/6926658168/travelers/f49d00fe-1eda-4304-ba79-a980f565281d/rsvp \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
userIdobject(UserId)

User identifier

eventRsvpStatestring(EventRsvpState)

Allowed event rsvp states for a user

Enum"ADDED""INVITED""INVITE_ACCEPTED""INVITE_DECLINED""REMOVED"
eventRsvpResponseobject(EventRsvpResponse)

Event rsvp response

invitedAtobject(DateTimeOffset)

ISO8601 UTC Date Time

airBookingStatusstring(BookingStatusType)

Booking status of the travel.

Enum"BOOKED""NOT_BOOKED""OPTED_OUT"
railBookingStatusstring(BookingStatusType)

Booking status of the travel.

Enum"BOOKED""NOT_BOOKED""OPTED_OUT"
carBookingStatusstring(BookingStatusType)

Booking status of the travel.

Enum"BOOKED""NOT_BOOKED""OPTED_OUT"
hotelBookingStatusstring(BookingStatusType)

Booking status of the travel.

Enum"BOOKED""NOT_BOOKED""OPTED_OUT"
Response
application/json
{ "userId": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08" }, "eventRsvpState": "ADDED", "eventRsvpResponse": { "air": {}, "hotel": {}, "car": {}, "rail": {} }, "invitedAt": { "iso8601": "2017-07-21T17:32Z" }, "airBookingStatus": "BOOKED", "railBookingStatus": "BOOKED", "carBookingStatus": "BOOKED", "hotelBookingStatus": "BOOKED" }