Skip to content

MeetingPackage Distribution API (1.0.0)

The MeetingPackage Distribution API enables partners to search availability, create and manage bookings, issue RFPs, and receive real-time updates from MeetingPackage.

Download OpenAPI description
Overview
Languages
Servers
Mock server
https://developers.meetingpackage.com/_mock/openapi/distro-openapi
Production
https://api.meetingpackage.co
Sandbox
https://sandbox.meetingpackage.co

Configuration

Operations related to system configuration, including fetching the list of all supported venues, and setting up event notification webhooks.

Operations

Bookings

Operations related to orders/bookings, including viewing, creating, modifying and cancelling.

Operations

RFP

Operations related to RFPs (Requests For Proposal). Note RFPs are also called leads, i.e. group sales leads.

Operations

Send RFP (lead data)

Request

Submit RFP (Request For Proposal), also called a lead (group sales lead).

Security
ApiKeyAuth
Bodyapplication/jsonrequired
leadReferencestring

Optional partner reference that can be echoed back. If not provided, MeetingPackage will generate one internally.

venuesArray of objects(LeadVenueTarget)non-emptyrequired

List of venue targets referenced by partner-supplied venue identifier.

venues[].​idstringrequired

Stable partner-supplied venue identifier (not a MeetingPackage venue ID). Mapped internally via partner configuration.

accountsobject(LeadAccounts)

Details of the end customer's company and/or the forwarding agency.

accounts.​companyAccountAccountDetails (object) or null

Company account details (or null when not provided).

One of:

Company account details (or null when not provided).

accounts.​companyAccount.​namestringrequired

Legal or trading name. Stable value that may be stored and reused for deduplication.

accounts.​companyAccount.​emailstring(email)

General booking email.

accounts.​companyAccount.​phonestring

Phone number (E.164 preferred but not required).

accounts.​companyAccount.​addressPostalAddress (object) or null

Postal address (or null when not provided).

One of:

Postal address (or null when not provided).

accounts.​agencyAccountAccountDetails (object) or null

Agency account details (or null when not provided).

One of:

Agency account details (or null when not provided).

accounts.​agencyAccount.​namestringrequired

Legal or trading name. Stable value that may be stored and reused for deduplication.

accounts.​agencyAccount.​emailstring(email)

General booking email.

accounts.​agencyAccount.​phonestring

Phone number (E.164 preferred but not required).

accounts.​agencyAccount.​addressPostalAddress (object) or null

Postal address (or null when not provided).

One of:

Postal address (or null when not provided).

contactsobject(LeadContacts)required

Primary human contacts associated with the company and/or agency accounts. Conditional requirements (not enforced by schema): - If companyAccount is provided, companyContact is required. - If agencyAccount is provided, agencyContact is required. - If neither account is provided, companyContact is required.

contacts.​companyContactContactDetails (object) or null

Company contact details (or null when not provided).

One of:

Company contact details (or null when not provided).

contacts.​companyContact.​firstNamestringrequired

First name of the on-site contact.

contacts.​companyContact.​lastNamestringrequired

Last name of the on-site contact.

contacts.​companyContact.​contactEmailstring(email)required

Email address for the contact.

contacts.​companyContact.​contactPhonestring

Defaults to empty string when unavailable.

contacts.​agencyContactContactDetails (object) or null

Agency contact details (or null when not provided).

One of:

Agency contact details (or null when not provided).

contacts.​agencyContact.​firstNamestringrequired

First name of the on-site contact.

contacts.​agencyContact.​lastNamestringrequired

Last name of the on-site contact.

contacts.​agencyContact.​contactEmailstring(email)required

Email address for the contact.

contacts.​agencyContact.​contactPhonestring

Defaults to empty string when unavailable.

groupRequestobject(GroupRequest)required
groupRequest.​eventDetailsobject(EventDetails)required
groupRequest.​eventDetails.​startDatestring(date)required

ISO date of the first event day.

groupRequest.​eventDetails.​endDatestring(date)required

ISO date of the last event day.

groupRequest.​eventDetails.​dateFlexibilitystringrequired

Date flexibility for the event.

Enum"strict""flexible"
groupRequest.​eventDetails.​bookingTypeintegerrequired

Booking type ID (see Get all venue configurations).

groupRequest.​eventDetails.​bookingNamestringrequired

Event or opportunity name/title.

groupRequest.​eventDetails.​attendeesinteger(int32)required

Total expected attendees.

groupRequest.​opportunityobject(Opportunity)required
groupRequest.​opportunity.​marketSegmentinteger(int64)required

Market segment ID (see Get all venue configurations).

groupRequest.​opportunity.​commissionPercentagenumber[ 0 .. 100 ]

Value between 0 and 100. Used to indicate agency commission when a booking is made through an agency.

groupRequest.​bedroomsBedroomsRequirements (object) or null

Accommodation requirements keyed by free-text room type name. May be null; treated the same as an empty object.

One of:

Object keyed by free-text room type name. Each value is an array of day entries.

groupRequest.​bedrooms.​property name*Array of objects(BedroomDayEntry)additional property
groupRequest.​meetingRoomsMeetingRoomsRequirements (object) or null

Meeting room requirements keyed by free-text room name. May be null; treated the same as an empty object.

One of:

Object keyed by free-text meeting room name. Each value is an array of day slots.

groupRequest.​meetingRooms.​property name*Array of objects(MeetingRoomDayEntry)additional property
groupRequest.​fAndBFoodAndBeverageRequirements (object) or null

Catering requirements keyed by free-text item name. May be null; treated the same as an empty object.

One of:

Object keyed by free-text catering item name. Each value is an array of day entries.

groupRequest.​fAndB.​property name*Array of objects(FoodAndBeverageDayEntry)additional property
groupRequest.​equipmentEquipmentRequirements (object) or null

Equipment requirements keyed by free-text equipment name. May be null; treated the same as an empty object.

One of:

Object keyed by free-text equipment name. Each value is an array of entries.

groupRequest.​equipment.​property name*Array of objects(EquipmentDayEntry)additional property
groupRequest.​internalNotestring

Free-text note included with the group request for venue reference. Plain text only.

groupRequest.​languageCodestring

ISO language tag.

Default "en-GB"
groupRequest.​provisionalHoldDatestring or null

ISO 8601 date when a provisional hold should expire.

One of:

ISO 8601 date when a provisional hold should expire.

string(date)
groupRequest.​fAndBMinimumSpendnumber or null

Numeric minimum spend requirement in cents.

One of:

Numeric minimum spend requirement in cents.

number
curl -i -X POST \
  https://developers.meetingpackage.com/_mock/openapi/distro-openapi/v1/rfp/lead_data \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "leadReference": "string",
    "venues": [
      {
        "id": "string"
      }
    ],
    "accounts": {
      "companyAccount": {
        "name": "string",
        "email": "user@example.com",
        "phone": "string",
        "address": {
          "address": "string",
          "city": "string",
          "postal_code": "string",
          "state": "string",
          "country_code": "st"
        }
      },
      "agencyAccount": {
        "name": "string",
        "email": "user@example.com",
        "phone": "string",
        "address": {
          "address": "string",
          "city": "string",
          "postal_code": "string",
          "state": "string",
          "country_code": "st"
        }
      }
    },
    "contacts": {
      "companyContact": {
        "firstName": "string",
        "lastName": "string",
        "contactEmail": "user@example.com",
        "contactPhone": "string"
      },
      "agencyContact": {
        "firstName": "string",
        "lastName": "string",
        "contactEmail": "user@example.com",
        "contactPhone": "string"
      }
    },
    "groupRequest": {
      "eventDetails": {
        "startDate": "2019-08-24",
        "endDate": "2019-08-24",
        "dateFlexibility": "strict",
        "bookingType": 0,
        "bookingName": "string",
        "attendees": 0
      },
      "opportunity": {
        "marketSegment": 0,
        "commissionPercentage": 100
      },
      "bedrooms": {
        "property1": [
          {
            "day": 1,
            "quantity": 0,
            "breakfast": true,
            "occupancy": "string"
          }
        ],
        "property2": [
          {
            "day": 1,
            "quantity": 0,
            "breakfast": true,
            "occupancy": "string"
          }
        ]
      },
      "meetingRooms": {
        "property1": [
          {
            "day": 1,
            "attendees": 0,
            "startTime": "15:30",
            "endTime": "15:30",
            "layout": "anything_goes"
          }
        ],
        "property2": [
          {
            "day": 1,
            "attendees": 0,
            "startTime": "15:30",
            "endTime": "15:30",
            "layout": "anything_goes"
          }
        ]
      },
      "fAndB": {
        "property1": [
          {
            "day": 1,
            "attendees": 0,
            "startTime": "15:30"
          }
        ],
        "property2": [
          {
            "day": 1,
            "attendees": 0,
            "startTime": "15:30"
          }
        ]
      },
      "equipment": {
        "property1": [
          {
            "day": 1,
            "quantity": 1,
            "startTime": "15:30",
            "endTime": "15:30"
          }
        ],
        "property2": [
          {
            "day": 1,
            "quantity": 1,
            "startTime": "15:30",
            "endTime": "15:30"
          }
        ]
      },
      "internalNote": "string",
      "languageCode": "en-GB",
      "provisionalHoldDate": "2019-08-24",
      "fAndBMinimumSpend": 0
    }
  }'

Responses

Identifiers for the created RFP and for each targeted venue.

Bodyapplication/json
rfp_detailsobjectrequired
rfp_details.​idstringrequired

MeetingPackage unique identifier for the submitted RFP/group request.

Example: "string"
rfp_details.​rfpsArray of objects(RfpVenueEntry)required

One entry per venue targeted by the RFP distribution. Each entry corresponds to the RFP as distributed to a specific venue.

rfp_details.​rfps[].​order_idintegerrequired

Unique (order -> proposal -> booking) identifier. This is a key identifier for downstream events and retrieval endpoints (e.g. webhooks and booking retrieval).

Example: 123456
rfp_details.​rfps[].​mp_venue_idintegerrequired

MeetingPackage unique venue identifier.

Example: 25465
rfp_details.​rfps[].​external_venue_idstring or null

External venue identifier. May be null depending on integration mapping.

Example: "VENUE-HELSINKI-001"
One of:

External venue identifier. May be null depending on integration mapping.

string
Response
application/json
{ "rfp_details": { "id": "string", "rfps": [] } }

Get RFP group orders

Request

Retrieve orders associated with an RFP parent (group) request. Use this after webhook events that reference an RFP ID / group ID, or to list all orders created for an RFP.

Security
ApiKeyAuth
Path
group_idstringrequired

RFP group identifier. This value may appear as group_booking_id or rfp_parent_id in other responses.

Example: string
curl -i -X GET \
  https://developers.meetingpackage.com/_mock/openapi/distro-openapi/v1/rfp/string \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

List of orders associated with the given RFP group.

Bodyapplication/json
ordersArray of objects(RfpOrderSummary)required

One order per venue targeted by the RFP group request.

orders[].​order_idintegerrequired

MeetingPackage unique identifier for the order created for this venue target.

Example: 123456
orders[].​venue_idintegerrequired

MeetingPackage unique identifier of the venue.

Example: 25465
orders[].​external_venue_idstring

External venue identifier (if available).

Example: "VENUE-HELSINKI-001"
orders[].​statusstringrequired

Order/booking status. Values may vary by configuration.

Example: "string"
Response
application/json
{ "orders": [ {} ] }

Webhooks

Event notifications sent by MeetingPackage to partner endpoints. Use these to receive real-time updates rather than polling.

Webhooks