ReferenceCompliance

registration query

Retrieves a property’s registration information at the unit level. This is useful in confirming a unit’s (or room type's) information and determining its jurisdiction’s requirements. The API returns the registration information in our system for all active and inactive units on the property.

In this example, compliant shows whether the unit is compliant and why; include this object and its fields to understand the regulatory status of the unit. Note that the complete field is not included because it reports information at a property level and does not provide the true value for some properties.

You can then use the updateUnitRegistration mutation to update registration information for active units only.

Syntax

1query {
2 property(id: String!, idSource: IdSource) {
3 units {
4 registration: Registration
5 }
6 }
7}

Example

The GraphQL explorer is provided for the example below. For more examples, refer to the Introduction.

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.

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
AcknowledgementRecord
Object

Acknowledgement record for a bookable unit.

FieldDescription
acknowledgementType

Type of acknowledgement record.

Type: AcknowledgementType
id

ID of the acknowledgement record.

Type: String
lastUpdated

Date when the acknowledgment record was last updated.

Type: String
AcknowledgementType
Enum

Acknowledgement type values.

NameDescription
PLATFORM
LTR_POLICY
PLATFORM_ACK
PLATFORM_ACK_STATEMENT
PLATFORM_ATTESTATION
PLATFORM_ATTESTATION_LEGAL
PLATFORM_ATTESTATION_LINK
PLATFORM_ATTESTATION_NEVADA
PLATFORM_ATTESTATION_VER
PLATFORM_CERTIFY
PLATFORM_COMPLY
PLATFORM_JAPAN
PLATFORM_LEGAL
PLATFORM_READ
ActiveStatus
Object

Status of the property, including its checkpoints.

FieldDescription
activeNot nullable.

Whether the property is live on Expedia sites.

  • An Expedia property is inactive if one of these conditions is true:

    • Payment issues or overdue invoices
    • Compliance issues due to regulatory or tax mandates
    • Recontracting or change of ownership
    • Incomplete onboarding
    • Renovations
  • A Vrbo property (listing) is inactive if one of these conditions is true:

    • Property manager removed it from distribution
    • Marketplace violation occurred
    • Account is overdue
    • Minimum content is missing
Type: Boolean
statusCheckpointNot nullable.

Top-level property status derived from supporting checkpoints. Use this to determine if the property is inactive for reasons that are not content related.

Type: StatusCheckpoint
ApplicableRegulations
Object

Additional registration information required by some districts.

FieldDescription
key

Identifier for additional information required by the district.

Type: ApplicableRegulationsKey
value

Value of the key required by the district.

Type: String
ApplicableRegulationsKey
Enum

Regulation key values.

NameDescription
LICENSE_DEPARTMENT_NAME

Name of the department in the issuing government body that approved the attribute (registration number).

LICENSE_GOVERNMENT_NAME

Name of the government body that issued the attribute.

LICENSE_HOLDER_NAME

Name of the person (holder) who holds the license, which may be different from the lodging partner.

LICENSE_HOLDER_STREET_ADDRESS_1

Street address of the person (holder) who holds the license, which may be different from the lodging partner.

LICENSE_HOLDER_STREET_ADDRESS_2

Secondary street address of the person (holder) who holds the license, which may be different from the lodging partner.

LICENSE_HOLDER_CITY

City of the person (holder) who holds the license, which may be different from the lodging partner.

LICENSE_HOLDER_PREFECTURE

Prefecture of the person (holder) who holds the license, which may be different from the lodging partner.

LICENSE_HOLDER_COUNTRY

County of the person (holder) who holds the license, which may be different from the lodging partner.

LICENSE_HOLDER_POSTAL

Postal code of the person (holder) who holds the license, which may be different from the lodging partner.

IS_VACATION_RENTAL
REGISTRATION_NUMBER
REGISTRATION_NUMBER_TYPE
AttachmentType
Enum

Exemption category types.

NameDescription
DRIVERS_LICENSE
AttachmentUrl
Object

Registration document information.

FieldDescription
key

Type of document referenced.

Type: AttachmentType
value

URL of the registration document file.

Type: String
Boolean
Boolean

The Boolean scalar type represents true or false.

CheckpointFilterInput
InputObject

Parameters to filter checkpoints.

FieldDescription
result

Fulfillment status.

Type: Array of non nullable ResultFilter
Compliant
Object

Compliance status according to the local jurisdiction's regulatory requirements.

This object returns a non-compliant status for mandatory requirements only. If invalid information is provided for an optional regulatory requirement, or if regulatory information is set in a jurisdiction that does not require regulatory information, status: COMPLIANT will be returned. However, for optional requirements, a warning is returned in the warningStatus field when the data is set (using the updateUnitRegistration mutation).

FieldDescription
reasonNot nullable.

Reason why the unit is in or out of compliance. The label used for the registration number in this string comes from the numberTypeLabel field on the RegistrationNumberRequirement type.

Type: String
statusNot nullable.

Whether the unit is compliant or not.

Type: RegulatoryStatus
ExemptionCategory
Enum

Exemption types.

NameDescription
MAX_NIGHT_CAP
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.

IdNode
Object

Known IDs in the source system.

FieldDescription
id

ID in the source system.

Type: ID
idSourceNot nullable.

Source of the ID.

Type: IdSource
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.

Property
Object

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

FieldDescription
units

Collection of unit configurations available for the property.

Type: Array of Unit
Registration
Object

Government registration information for the unit or room type.

FieldDescription
applicableRegulations

Additional registration information required by certain districts.

Type: Array of non nullable ApplicableRegulations
completeNot nullable.

Checks the consistency of the information in our systems at the property level to determine whether the registration information is sufficient to fulfill the requirements of the property's district. We do not recommend including this field in the query because it does not provide the true value for some properties.

If false is returned for a unit, you can use the Product API to identify active units, though false may be returned for inactive units that have incorrect regulatory information.

Type: Boolean
detailNot nullable.

Detailed registration information for the unit or room type.

Type: RegistrationDetail
district

Geographical jurisdiction identifier. For non-configured districts, this is null.

Type: String
RegistrationDetail
Object

Registration information for the unit or room type.

FieldDescription
acknowledgementRecordsNot nullable.

Acknowledgement records for the bookable unit. These are displayed to the traveler to confirm that they understand the regulatory requirements.

Type: Array of non nullable AcknowledgementRecord
applicableRegulationsNot nullable.

Additional information about the bookable unit required by certain districts.

Type: Array of non nullable ApplicableRegulations
attachmentUrls

Links for registration documentation files (if required).

Type: Array of non nullable AttachmentUrl
compliant

Compliance status according to the local jurisdiction's regulatory requirements.

This object returns a non-compliant status for mandatory requirements only. If invalid information is provided for an optional regulatory requirement, or if regulatory information is set in a jurisdiction that does not require regulatory information, status: COMPLIANT will be returned. However, for optional requirements, a warning is returned in the warningStatus field when the data is set (using the updateUnitRegistration mutation).

Type: Compliant
displayRegistrationNumber

Registration number displayed to the traveler.

Type: String
exemptionCategories

List of exemptions for the property, such as maximum night cap.

Type: Array of non nullable ExemptionCategory
numberOfPhysicalRooms

Number of rooms in the bookable unit.

Type: Int
registrationRecordsNot nullable.

Registration records for the bookable unit filed with the governing jurisdiction.

Type: Array of non nullable RegistrationRecord
regulatoryCategoryNot nullable.

Property classification category as maintained by the governing jurisdiction.

Type: RegulatoryCategory
regulatoryCategoryLabelNot nullable.

Regulatory category in the specified locale.

Type: String
regulatorySubType

Property subtype, such as primary or secondary, or null if not applicable.

Type: String
regulatoryType

Property type, such as residence, condo, boat, etc.

Type: String
unitIdNot nullable.

Expedia ID of the unit or room type.

Note: We strongly recommend that you include this field in your implementation even though it is nullable. This field provides an audit trail for reporting purposes.

Type: ID
RegistrationNumberType
Enum

Types of registration numbers (licenses).

NameDescription
LICENSE_NUMBER
LICENSE_ID
PARTIAL_TAX_ID
REGISTRATION_NUMBER
BUSINESS_LICENSE_NUMBER
OPERATOR_LICENCE_ID
OPERATOR_LICENSE_ID
BUSINESS_TAX_ID
RESORT_TAX_ID
SHORT_TERM_RENTAL_LICENSE
PERMIT_NUMBER
PLANNING_NUMBER
HOTEL_LICENSE
IS_IN_ZONING_PLAN
IS_PROFESSIONAL_HOST
TOURIST_DEVELOPMENT_TAX_ACCOUNT_NUMBER
HOME_SHARING_NUMBER
HOME_SHARING_PERMIT_NUMBER
CERTIFICATE_OF_USE_NUMBER
GENERAL_EXCISE_TAX_ID
TRANSIENT_ACCOMMODATIONS_TAX_ID
REGISTRATION_CERTIFICATE_NUMBER
PROPERTY_REGISTRY_NUMBER
SPECIAL_OPERATION_SIGN
TRANSIENT_REGISTRATION_NUMBER
PROVINCIAL_TOURIST_IDENTIFICATION_CODE
PARCEL_NUMBER_TAX_MAP_KEY
BUSINESS_TAX_RECEIPT_NUMBER
OPERATOR_LICENSE_NUMBER
OPERATOR_PERMIT
OWNER_PERMIT
TAX_IDENTIFICATION_NUMBER
MA_REGISTRATION_CERTIFICATE_NUMBER
BOSTON_REGISTRATION_NUMBER
OWNER_NAME
CADASTRAL_REFERENCE
OWNER_IS_CITIZEN
OWNER_ID
ZIPCODE
HOUSE_NUMBER
IS_CONDITION
ENTITY_TYPE
IS_TRADED
IS_GOVERNMENT_ENTITY
IS_ADDRESS_IN_EU
IS_RESIDENCE_IN_EU
LEGAL_ADDRESS
ISSUED_TAX_ID
PERMANENT_ESTABLISHMENT_COUNTRY
BUSINESS_REGISTRATION_NUMBER
LAND_REGISTRATION_NUMBER
BIRTH_DATE
IS_VAT_REGISTERED
VAT_ID
DATE
CITIZEN_ID
FOREIGN_ID
NEIGHBORHOOD_NAME
NATIONAL_ADDRESS_NUMBER
FLOOR_SYSTEM_NUMBER
JOURNAL_NUMBER
IS_ZONING_LAW_APPLIED
APPLICATION_NUMBER
ISSUANCE_DATE
RegistrationRecord
Object

Registration record for the bookable unit that has been filed with the jurisdiction.

FieldDescription
expiry

Registration record expiration date in this format: yyyy-mm-dd

Type: String
registrationNumberNot nullable.

Registration record ID.

Type: String
registrationNumberType

Type of registration/license.

Type: RegistrationNumberType
registrationNumberTypeLabel

Localized registration number type.

Type: String
RegulatoryCategory
Enum

Category values for regulatory categories. Most of jurisdiction districts only allow for two categories, HOTEL and VACATION_RENTAL, though more values GRAPHQL_VALIDATION_FAILED are provided to satisfy local government requirements.

NameDescription
HOTEL
BED_AND_BREAKFAST
HOTEL_OR_BNB
PRIMARY_HOME
PRIMARY_HOME_WITH_EXCEPTION
SECONDARY_HOME
VACATION_RENTAL
LONG_TERM_ONLY
SHORT_TERM_RENTAL
MINPAKU
SIMPLE_LODGING
EVENT
SPECIAL
NO_LICENSE
HOTEL_RYOKAN
RYOKAN
PRIMARY_OR_SECONDARY
TRANSIENT_OCCUPANCY_RESIDENTIAL_STRUCTURE
MOTEL
HOME_SHARING_NUMBER
VACATION_RENTAL_OTHER
HOSTEL
CAMPING_SITES
RURAL_LODGING
APARTMENT_HOTEL
RegulatoryStatus
Enum

Values for regulatory status.

NameDescription
COMPLIANT

Unit meets all regulatory requirements.

COMPLIANT_ACTION_NEEDED

Unit meets requirements to remain listed but will need to provide additional information (or other action) in order to not be delisted.

NOT_COMPLIANT

Unit does not meet all regulatory requirements and cannot be shown.

NOT_COMPLIANT_ACTION_NEEDED

Unit is not compliant, but enforcement hasn't started yet. Action should be taken for the listing to be compliant after enforcement date.

NOT_ALLOWED

Platform does not allow units in this jurisdiction; no actions from partner can affect status.

NONE

Unit's status cannot be determined.

ResolutionStatus
Enum

Resolution status values, which indicate the API's ability to determine if a checkpoint is fulfilled.

NameDescription
RESOLVED

Checkpoint was successfully evaluated.

UNRESOLVED_PROPERTY_NOT_PROVISIONED

API could not determine a fulfilled value because the property is missing from our internal system. Retry the operation; this is typically caused by a transient internal error. If the error persists, contact your Technical Relationship Manager.

UNRESOLVED_CHECKPOINT_SYSTEM_UNAVAILABLE

API could not determine a fulfilled value because of an internal problem. Retry the operation; this is typically caused by a transient internal error. If the error persists, contact your Technical Relationship Manager.

ResultFilter
Enum

Fulfillment status values.

NameDescription
PASSED

Checkpoint is fulfilled (fulfilled equal to true).

FAILED

Checkpoint is not fulfilled (fulfilled equal to false). This means the content requirement has not been met. Verify that content is included in the Listings integration file for processing.

UNRESOLVED

API could not determine the checkpoint's fulfilled value (resolutionStatus equal to UNRESOLVED_*). Retry the operation; this is typically caused by a transient internal error. If the error persists, contact your Technical Relationship Manager.

StatusCheckpoint
Object

Information about a property's or unit's content requirements (checkpoints).

FieldDescription
checkpointByName

Checkpoint specified by name. This field requires an argument: checkpointByName(name: String!). Refer to the name field below for the list of values that can be used.

Type: StatusCheckpoint
checkpoints

Content requirement (checkpoint) that determines overall status. This field provides an optional argument, checkpoints(filter: CheckpointFilterInput), which enables you to filter the returned checkpoints by result. Refer to the CheckpointFilterInput type for details.

Type: Array of non nullable StatusCheckpoint
foundCount

Number of checkpoint items associated with the property or unit, if quantifiable.

Type: Int
fulfilledNot nullable.

Whether the checkpoint conditions were satisfied. If false, the content requirement has not been met; verify that content is included in the Listings integration file for processing.

Type: Boolean
lastEvaluatedNot nullable.

UTC time when we last evaluated the checkpoint. This can help identify whether the data is stale if you see an unexpected status.

Type: String
maxCount

Maximum threshold allowed for the checkpoint to be satisfied, if applicable.

Type: Int
minCount

Minimum threshold required for the checkpoint to be satisfied, if applicable.

Type: Int
nameNot nullable.

Checkpoint name. For the list of checkpoints that may be returned and those that fulfill minimum content requirements, see Intro to property status.

Type: String
pathNot nullable.

Ordered list of parent checkpoint nodes in the status calculation tree. If you need to reconstruct the tree, discover added context about a checkpoint, or make use of the checkpointByName field, then this information may be useful.

Type: Array of non nullable String
resolutionStatusNot nullable.

Status of the checkpoint retrieval.

Type: ResolutionStatus
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.

Unit
Object

Unit configuration.

FieldDescription
activeStatus

Status of the unit for Vrbo properties only (indicates whether the unit is live or not). To check the status of Expedia properties (rooms), use the Product API as shown in this example.

Type: ActiveStatus
idNot nullable.

Expedia ID of the unit.

Type: ID
ids

Known IDs for the property in the source system(s).

Type: Array of IdNode
registration

Registration information for the unit or room type. You can specify the locale argument to retrieve the results in a specific language; specify the four-letter ISO code for language. Use a four-character code that indicates language and region, such as fr_FR for French in France.

Type: Registration