# FAQ

### Getting Started

<details>

<summary>How long does pmsXchange integration take?</summary>

Approximately 60 days from initiation to production.

This includes development, testing, certification and pilot phases. For more details review our [Integration Process](broken://pages/RAgwk1sEthWhrn360fiq) guide.

</details>

<details>

<summary>What are the mandatory components to certify in pmsXchange?</summary>

**Required:**

* Rooms and Rates
* Availability
* Reservations (PUSH or PULL)

**Recommended:**

* Restrictions and Rates (PDP or OBP)
* Modifications and Cancellations

**Optional:**

* Reservation Upload, Reservation Import, Payment Transaction Record

</details>

<details>

<summary>What is the difference between Reservations PUSH, PULL, Upload and Import?</summary>

**PUSH (recommended)**: SiteMinder sends reservations to your PMS endpoint in real-time as bookings occur.

**PULL**: Your PMS polls SiteMinder every 2-5 minutes to retrieve new reservations.

**Upload**: Your PMS sends reservations (walk-ins, direct bookings, CRS) to SiteMinder.

**Import**: One-time bulk retrieval of all active reservations during initial PMS setup.

You must certify either PUSH or PULL. Upload and Import are optional add-ons.

</details>

### Authentication

<details>

<summary>What is the difference between PMS-level and hotel-level authentication?</summary>

**PMS-level**: Single credentials for all properties

* Required for REST endpoints (Rooms and Rates)
* Recommended for all integrations
* Use HotelCode to identify each property

**Hotel-level**: Individual credentials per property

* Only available for SOAP/XML messages
* Legacy approach maintained for backward compatibility

</details>

<details>

<summary>What is the difference between HotelCode and Username?</summary>

**HotelCode**: Identifies the specific property in each request

**Username**: Authentication credential used in both SOAP (Security Header) and REST (Basic Auth)

For PMS-level authentication, use the same Username across all properties, with HotelCode identifying each property.

</details>

### Core Concepts

<details>

<summary>What is a delta update?</summary>

Send only the data that changed since your last update.

Delta updates are required in production for all ARI components (Availability, Restrictions, Rates). Only include changed values for specific dates and room/rate combinations - never resend unchanged data.

Full flushes are only permitted during initial setup or when requested by SiteMinder support.

</details>

<details>

<summary>What is the difference between InvTypeCode and RoomTypeCode?</summary>

Both identify the same room type, just used in different message types:

* **InvTypeCode**: Used in inventory updates (availability, restrictions, rates)
* **RoomTypeCode**: Used in reservation messages

Use the `roomTypeCode` from the `room-rates` endpoint for both.

</details>

<details>

<summary>Does pmsXchange support release period?</summary>

No, there is no native release-period field, so a PMS wanting the same functional outcome must send Stop Sell for the release-window dates instead of a dedicated release-period value.

</details>

### Technical Requirements

<details>

<summary>What is HTTP Error 405?</summary>

This error occurs when sending regular HTTP requests (e.g., from a browser) to a SOAP endpoint.

Test connectivity using `OTA_PingRQ` instead of browser requests to verify the service is up and running.

</details>

<details>

<summary>What is TLS Error: Authentication failed because the remote party has closed the transport stream?</summary>

Your system is using an outdated TLS protocol.

Ensure you're using TLS 1.2 or higher. TLS 1.0, TLS 1.1, and all SSL versions are no longer supported due to PCI compliance requirements.

</details>

### Error Handling

<details>

<summary>If I receive an Error back from pmsXchange, will any valid parts of my message be processed?</summary>

No. All messages are atomic - either the entire message succeeds or the entire message fails.

If you receive an Error response, none of the data in that message was processed. Fix the error and resend the complete message.

</details>

<details>

<summary>Why can't I see my ARI changes reflected on SiteMinder Platform even though I receive a successful response?</summary>

Success confirms valid XML and authentication, not that your codes are mapped.

**Common cause:** `InvTypeCode` or `RatePlanCode` not mapped in SiteMinder Platform (Distribution > Connectivities > {PMS Name} > Rooms and Rates Mapping).

Verify mapped codes using the `room-rates` endpoint.

</details>

### Architecture

<details>

<summary>Can SiteMinder sync availability, restrictions, or rates back to my PMS?</summary>

Not currently. pmsXchange uses a PUSH model where your PMS sends all ARI data to SiteMinder.

**Coming soon:** Restrictions and rates will support bidirectional sync, allowing SiteMinder to push changes back to your PMS. Availability will remain PMS-managed only.

</details>

{% hint style="success" icon="sparkles" %}

## Still have questions?

Use the <i class="fa-gitbook-assistant">:gitbook-assistant:</i> **Ask** button at the top of the page to chat with our AI assistant — it can help you navigate the guide, understand requirements, and troubleshoot issues.

If you need more support, visit [Integration Support](/integration-support/integration-support.md).
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.siteminder.com/pmsxchange-api/additional-resources/faq.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
