ReferenceMessaging

messageThreads query

Retrieves historical message threads, which enables partners to build conversation history. Note the following:

  • You can retrieve message threads by property for 30-day date ranges (based on creation date), up to a year in the past.
  • You can limit the number of message threads returned.
  • You can limit the number of messages returned for each message thread.
  • By default, message threads are returned in ascending order (from oldest to newest) based on the creation date.

Syntax

1query {
2 property(id: String!, idSource: IdSource) {
3 messageThreads(
4 limit: Int = 10,
5 cursor: String,
9 }
10}

Example

The GraphQL explorer is provided for the example below. Use this interactive explorer to get comfortable with the sample query.

  • A test property ID is passed into the explorer for use by the query; its test data is returned.
  • Click Run Query to execute the query in the explorer on the page. You can modify the query to retrieve the desired fields, and the explorer provides a list of fields when you start typing.
  • Click API Explorer to launch the full explorer in another tab/window, which provides syntax highlighting, schema introspection, real-time error highlighting, and auto-completion, among other things.

Message threads by property

API Explorer Alt content

Response

Arguments

NameDescription

id

Required.

Expedia ID (EID) or supplier ID (external ID in the partner's system) of the property.

If specifying the supplier ID for a Vrbo property, specify the ID in this format: systemId/advertiserId/listingExternalId.

  • For direct PM integrations, the value of systemId is “PM”.
  • For PMS integrations, this value represents the PMS originating the request.

If you are unsure of your system ID, contact your Engagement Manager or Technical Relationship Manager.

Type: String

idSource

Source system of the ID. EXPEDIA is the default value.

Type: IdSource

Types


Name
Type
Boolean
Boolean

The Boolean scalar type represents true or false.

DateTime
DateTime

Scalar that represents a date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the date-time format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.

DateTimeRangeFilterInput
InputObject

Date and time range.

FieldDescription
fromNot nullable.

Beginning date of the date range.

Type: DateTime
operator

Whether the dates are inclusive or exclusive of the to/from dates.

Type: RangeOperator
toNot nullable.

Ending date of the date range.

Type: DateTime
ID
ID

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

IdSource
Enum

Source of a given ID.

NameDescription
EXPEDIA

Expedia is the source of the ID.

SUPPLIER

Connectivity provider or lodging partner is the source of the ID. This value is not supported for use in promotions.

VRBO

Unsupported.

Int
Int

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

LocalDate
LocalDate

A type representing a date in ISO 8601 format: YYYY-MM-DD (such as 2007-12-03).

MessageReviewStatus
Enum

Status values of a message as it goes through moderation.

NameDescription
IN_REVIEW
ACCEPTED
BLOCKED
MessageThread
Object

Message thread details, including IDs, creation time, messages, and reservation information.

FieldDescription
bookingInquiry

Booking inquiry associated with the message thread. null is returned for non-Vrbo properties.

Type: MessageThreadBookingInquiry
creationDateTimeUtc

Message creation date time in ISO format (yyyy-MM-dd'T'HH:mm:ss.SSSZ) and UTC timezone.

Type: DateTime
idNot nullable.

Message thread ID.

Type: ID
messagesNot nullable.

List of messages in the message thread. You can specify these arguments:

  • limit (type: Int), which enables you to limit the number of messages retrieved (up to 50).
  • cursor (type: String), which is the cursor value for this edge.
  • orderBy (type: MessageThreadMessagesOrderByInput), which provides the sort order of results. If not specified, messages are sorted in ascending order (from oldest to newest) based on the creation date.
Type: MessageThreadMessagesResponse
primaryTraveler

Primary guest's name.

Type: MessageThreadTraveler
propertyNot nullable.

Representation of a physical property, including its message threads and messages.

Type: Property
reservationSummary

Information about the reservation after it is made. This will be null until the reservation is made.

Type: MessageThreadReservationSummary
MessageThreadAttachment
Object

Attachment details.

FieldDescription
idNot nullable.

Attachment ID.

Type: ID
nameNot nullable.

Attachment file name.

Type: String
uploadDateTimeUtcNot nullable.

Date and time when the file was uploaded in ISO format (yyyy-MM-dd'T'HH:mm:ss.SSSZ) and UTC timezone.

Type: DateTime
urlNot nullable.

Attachment location.

Type: Url
MessageThreadBookingInquiry
Object

Booking inquiry information. These details are not available for non-Vrbo properties.

FieldDescription
adultCountNot nullable.

Number of adults included in the reservation.

Type: Int
checkInDate

Requested check-in date in the booking inquiry.

Type: LocalDate
checkOutDate

Requested checkout date in the booking inquiry.

Type: LocalDate
childCountNot nullable.

Number of children included in the reservation.

Type: Int
hasPetsNot nullable.

Whether pets are included in the reservation.

Type: Boolean
idNot nullable.

Booking inquiry ID. We recommend that you store this ID to reconcile the message thread with the inquiry ID provided in the booking request.

Type: ID
MessageThreadLocalizedString
Object

Localized message text.

FieldDescription
valueNot nullable.

Localized message text.

Type: String
MessageThreadMessage
Object

Message details.

FieldDescription
attachmentsNot nullable.

List of attachments associated with this message

Type: Array of non nullable MessageThreadAttachment
body

Localized message body.

Type: MessageThreadLocalizedString
creationDateTimeUtc

Date and time when the message was created in ISO format (yyyy-MM-dd'T'HH:mm:ss.SSSZ) and UTC timezone.

Type: DateTime
fromRole

Role of the participant who has inserted the message.

Type: MessageThreadParticipantRole
idNot nullable.

Message ID in our system.

Type: ID
messageThreadNot nullable.

Associated message thread for the message.

Type: MessageThread
reviewStatus

Status of a message that indicates its review status as it goes through moderation (to identify phishing messages).

Type: MessageReviewStatus
type

Message type. Refer to Message types for a list of values.

Type: String
MessageThreadMessagesOrderByInput
InputObject

Sort order of results. If not specified, messages are sorted in ascending order (from oldest to newest) based on the creation date.

FieldDescription
field

Value on which to base the sort.

Type: MessageThreadMessagesSortField
order

Order of sort.

Type: SortOrder
MessageThreadMessagesResponse
Object

Messages and metadata about messages in the message thread.

FieldDescription
cursor

Next page cursor in the list; empty if no more pages are available.

Type: String
elementsNot nullable.

List of messages.

Type: Array of non nullable MessageThreadMessage
totalCountNot nullable.

Total number of messages returned that meet the filter criteria.

Type: Int
MessageThreadMessagesSortField
Enum
NameDescription
CREATION_DATE_TIME_UTC
MessageThreadParticipantRole
Enum

Role of the participant who has inserted the message.

NameDescription
TRAVELER
SUPPLIER
MessageThreadReservationSummary
Object

Information about the reservation associated with the message. These details are not available until the reservation is made.

FieldDescription
adultCountNot nullable.

Number of adults included in the reservation.

Type: Int
alternativeIdsNot nullable.

Partner's (supplier) ID for the reservation.

Type: ReservationAlternativeIds
checkInDateNot nullable.

Reservation check-in date.

Type: LocalDate
checkOutDateNot nullable.

Reservation checkout date.

Type: LocalDate
childCountNot nullable.

Number of children included in the reservation.

Type: Int
idNot nullable.

For properties onboarded onto Expedia, this is the Expedia reservation ID. For properties onboarded onto Vrbo, this is the Vrbo internal reservation UUID.

Type: ID
petCountNot nullable.

Number of pets included in the reservation. This is supported for Vrbo properties only.

Type: Int
MessageThreadsResponse
Object

Message threads retrieved for a property.

FieldDescription
cursor

Next page cursor in the list; empty if no more pages are available.

Type: String
elementsNot nullable.

List of message threads.

Type: Array of non nullable MessageThread
totalCountNot nullable.

Total number of message threads returned that meet the filter criteria.

Type: Int
MessageThreadTraveler
Object

Primary guest's name.

FieldDescription
firstName

Guest's first (given) name.

Type: String
lastName

Guest's last name (surname).

Type: String
Property
Object

Representation of a physical property, including its units, reservations, and promotions.

FieldDescription
messageThreadsNot nullable.

List of message threads for a property. You can specify these arguments:

  • limit (type: Int), which specifies the number of message threads to retrieve (up to 10).
  • cursor (type: String), which is the cursor value for the page of results to retrieve.
  • filters (type: PropertyMessageThreadsFiltersInput!), which specifies the creation date range to use to filter results.
  • orderBy (type: ReviewsOrderBy), which provides the sort order of results. If not specified, message threads are sorted in ascending order (from oldest to newest) based on the creation date.
Type: MessageThreadsResponse
PropertyMessageThreadsFiltersInput
InputObject

Creation date range to use to filter results.

FieldDescription
creationDateTimeNot nullable.

Date range to use when filter results.

Type: DateTimeRangeFilterInput
PropertyMessageThreadsOrderByInput
InputObject

Sort order of results. If not specified, message threads are sorted in ascending order (from oldest to newest) based on the creation date.

FieldDescription
field

Value on which to base the sort.

Type: PropertyMessageThreadsSortField
order

Order of sort.

Type: SortOrder
PropertyMessageThreadsSortField
Enum
NameDescription
CREATION_DATE_TIME_UTC
RangeOperator
Enum

"Values that indicate whether the specified dates are inclusive or exclusive.

NameDescription
INCLUSIVE

Includes messages or message threads that occurred on the specified dates in the results.

EXCLUSIVE

Excludes messages or message threads that occurred on the specified dates in the results.

ReservationAlternativeIds
Object

Partner's (supplier) IDs for the reservation.

FieldDescription
supplierIdNot nullable.

For properties onboarded onto Expedia, this is the partner’s confirmation ID for the booking.

For properties onboarded onto Vrbo, this is the partner’s supplier ID. This ID may be prefixed with “HA-” to indicate a platform reservation. Two scenarios account for this:

  • If the lodging partner was a former platform PM and has upcoming reservations that were made prior to their conversion to integrated lodging partner.
  • The lodging partner uses using a third-party calendar sync application, such as Hospitable, which may create platform bookings. To resolve this, the partner must disable the third-party application.
Type: ID
SortOrder
Enum

How to sort results.

NameDescription
ASC

Sort results in ascending order (oldest to newest).

DESC

Sort results in descending order (newest to oldest).

String
String

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Url
Url

Scalar type whose value conforms to the standard URL format as specified in RFC3986 specification.