PHPackages                             gurwinderantal/crs - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. gurwinderantal/crs

ActiveLibrary[HTTP &amp; Networking](/categories/http)

gurwinderantal/crs
==================

A PHP library to connect to SynXis/Windsurfer CRS.

1221PHP

Since Aug 7Pushed 7y ago1 watchersCompare

[ Source](https://github.com/gurwinderantal/crs)[ Packagist](https://packagist.org/packages/gurwinderantal/crs)[ RSS](/packages/gurwinderantal-crs/feed)WikiDiscussions master Synced 2w ago

READMEChangelogDependenciesVersions (1)Used By (0)

CRS PHP Connector
=================

[](#crs-php-connector)

This package provides methods to connect to SynXis and Windsurfer central reservation systems (CRS) by means of a SOAP API. It is currently under development and not ready for use just yet.

Getting Started
---------------

[](#getting-started)

### Prerequisites

[](#prerequisites)

This package depends on certain operators that are only available in **PHP 7.0 or later**.

It also uses PHP's SOAP extension to connect to SOAP APIs. Please ensure that you have the **PHP SOAP** extension installed.

You can look for the SOAP extension in your phpinfo to see if it is already installed.

```
$ php -i | grep -i soap

```

If you don't see it, install it as follows (Ubuntu/Debian):

```
$ sudo apt-get install php-soap

```

A server restart may be required after installation.

### Installation

[](#installation)

```
composer require gurwinderantal/crs

```

### Usage

[](#usage)

This library is currently able to connect to SynXis and Windsurfer central reservation systems.

Build an array with all the credentials provided by your CRS provider. This will be used in the SOAP request header.

```
$credentials = [
    'username'   => 'MyUsername',
    'password'   => 'MyPassword',
];

```

The `username` and `password` keys *must* be present in your credential array, or else trying to instantiate a connector class will throw an exception. Other keys (such as `systemId`) are optional but may lead to incorrect results. Follow your CRS provider's documentation carefully.

Instantiate a connector class for the CRS you want:

```
$wsdl = 'https://example.path/to/Service.asmx?WSDL';
$synxis_connector = new SynxisConnector($wsdl, $credentials);
$windsurfer_connector = new WindsurferConnector($wsdl, $credentials);

```

Call the required method:

```
$response = $connector->getFunctions();

```

Available methods are:

1. **getFunctions**: Gets a list of available methods for the CRS service.
2. **checkAvailability**: Checks availability based on the parameters provided. All parameters must be put in a single array. The array keys must match the SOAP request's XML request exactly. Refer to your service's WSDL for available attributes. For example: ```
    $params = [
        'ID'           => 'xx',
        'ID_Context'   => 'Open Hospitality',
        'Code'         => 'xxxx',
        'RatePlanCode' => 'MYRATECODE',
        'HotelCode'    => 'MYHOTELCODE',
        'Start'        => '2018-06-03',
        'End'          => '2018-06-07',
        'Quantity'     => 1,
        'Count'        => [
            'Child' => 0,
            'Adult' => 2,
        ],
    ];

    ```

    If multiple elements with the same attributes are allowed (such as `count` in the above example), make it an array with different keys. A list of expected keys will be provided in the documentation once there is a stable release for this package.
3. **createReservation**
4. **modifyReservation**
5. **cancelReservation**

Response objects in most cases will be returned as a single object containing attributes, arrays or references to other objects. The response object will be structured as per the response XML of the corresponding SOAP request. For example, to get the name of the hotel you requested availability for:

```
$hotelName = $response->RoomStays->RoomStay->BasicPropertyInfo->HotelName;

```

###  Health Score

22

—

LowBetter than 21% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 65.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/26553730?v=4)[Gurwinder](/maintainers/gurwinderantal)[@gurwinderantal](https://github.com/gurwinderantal)

---

Top Contributors

[![gurwinderantal](https://avatars.githubusercontent.com/u/26553730?v=4)](https://github.com/gurwinderantal "gurwinderantal (74 commits)")[![khiminrm-lemberg](https://avatars.githubusercontent.com/u/27729821?v=4)](https://github.com/khiminrm-lemberg "khiminrm-lemberg (39 commits)")

---

Tags

composercrsphp7synxiswindsurfer

### Embed Badge

![Health badge](/badges/gurwinderantal-crs/health.svg)

```
[![Health](https://phpackages.com/badges/gurwinderantal-crs/health.svg)](https://phpackages.com/packages/gurwinderantal-crs)
```

###  Alternatives

[php-http/cache-plugin

PSR-6 Cache plugin for HTTPlug

25025.5M80](/packages/php-http-cache-plugin)[illuminate/http

The Illuminate Http package.

11937.2M6.6k](/packages/illuminate-http)[rdkafka/rdkafka

A PHP extension for Kafka

2.2k20.0k1](/packages/rdkafka-rdkafka)[httpsoft/http-message

Strict and fast implementation of PSR-7 and PSR-17

87930.4k113](/packages/httpsoft-http-message)[mezzio/mezzio-router

Router subcomponent for Mezzio

265.3M84](/packages/mezzio-mezzio-router)[serpapi/google-search-results-php

Get Google, Bing, Baidu, Ebay, Yahoo, Yandex, Home depot, Naver, Apple, Duckduckgo, Youtube search results via SerpApi.com

69122.6k](/packages/serpapi-google-search-results-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
