PHPackages                             invia/channelmanagerinterface - 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. [API Development](/categories/api)
4. /
5. invia/channelmanagerinterface

ActiveLibrary[API Development](/categories/api)

invia/channelmanagerinterface
=============================

Interface classes and objects for the Invia channel manager interface

0.13.0(7y ago)06802MITPHPPHP &gt;=7.2

Since Oct 20Pushed 7y ago1 watchersCompare

[ Source](https://github.com/invia-de/channelmanagerinterface)[ Packagist](https://packagist.org/packages/invia/channelmanagerinterface)[ RSS](/packages/invia-channelmanagerinterface/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependencies (2)Versions (22)Used By (2)

ChannelManager Interface
========================

[](#channelmanager-interface)

This library provides the interfaces and classes for the ChannelManager Interface of the company Invia to write your own adapters. To do this, the adapter must implement the supplied adapter interface.

AdapterInterface
----------------

[](#adapterinterface)

The following methods must be implemented:

### getAdapterKey

[](#getadapterkey)

Each adapter requires a unique key to load it later and assign it to one (or more) channel manager(s).

### getUrlPath

[](#geturlpath)

Each adapter will be accessible on a special endpoint in the ChannelManager Interface. To do this, the adapter must define the last part of the url.

### setRequest(Request request)

[](#setrequestrequest-request)

The request received at the endpoint of the channel manager interface is passed to the adapter using this method.

### getCredentials

[](#getcredentials)

With the getCredentials method, the adapter must read and return the credentials from the request.

### handleRequest(FacadeInterface facade)

[](#handlerequestfacadeinterface-facade)

If the credentials have been accepted by the ChannelManager Interface, the handleRequest method is called on the adapter and must process the request. The adapter can access the possible methods of the ChannelManager Interface via the given facade.

### handleException(CMIException exception)

[](#handleexceptioncmiexception-exception)

If an exception is thrown (by the ChannelManager Interface or an adapter), this method has to handle this exception and creating valid response.

BookingNotifyInterface
----------------------

[](#bookingnotifyinterface)

The adapter can also implement the BookingNotifyInterface. A Channel Manager can be informed about a new booking by a customer.

### bookingNotify(Booking booking)

[](#bookingnotifybooking-booking)

The booking object contains all the necessary information that is collected during a booking.

TwigInterface
-------------

[](#twiginterface)

If you require Twig to render a response, the adapter can implement the TwigInterface.

### setTwig(Twig\\Environment twig)

[](#settwigtwigenvironment-twig)

A method which set the Twig environment direct before the handleRequest method is called.

FacadeInterface
---------------

[](#facadeinterface)

### getHotel(HotelRequest hotelRequest)

[](#gethotelhotelrequest-hotelrequest)

Get Hotel with basic information.

### getRooms(RoomRequest roomRequest)

[](#getroomsroomrequest-roomrequest)

A query of all rooms for the requested hotel.

### getRatePlans(RatePlanRequest ratePlanRequest)

[](#getrateplansrateplanrequest-rateplanrequest)

A query of all rate plans for the requested hotel.

### getBookings(BookingRequest bookingRequest)

[](#getbookingsbookingrequest-bookingrequest)

A query for bookings using parameters that can be combined in different ways.

### getRates(RateRequest rateRequest)

[](#getratesraterequest-raterequest)

A query for rates in a given date range.

### saveRates(RateSaveRequest rateSaveRequest)

[](#saveratesratesaverequest-ratesaverequest)

Add/update multiple rates in a given date range. The added/updated rates will be returned.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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.

###  Release Activity

Cadence

Every ~19 days

Recently: every ~53 days

Total

21

Last Release

2737d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b4961e41d185a4e3a368c8f22a1a95a3e5b3dd3fd3e6fb34add53970658f9bb7?d=identicon)[torsten-burschka-invia](/maintainers/torsten-burschka-invia)

---

Top Contributors

[![torsten-burschka-invia](https://avatars.githubusercontent.com/u/33024261?v=4)](https://github.com/torsten-burschka-invia "torsten-burschka-invia (104 commits)")

### Embed Badge

![Health badge](/badges/invia-channelmanagerinterface/health.svg)

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

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[statamic/cms

The Statamic CMS Core Package

4.8k3.2M720](/packages/statamic-cms)[mjaschen/collmex

Collmex PHP SDK

2080.7k](/packages/mjaschen-collmex)[mapado/rest-client-sdk

Rest Client SDK for hydra API

1125.9k2](/packages/mapado-rest-client-sdk)[dragon-code/laravel-json-response

Automatically always return a response in JSON format

1118.6k1](/packages/dragon-code-laravel-json-response)

PHPackages © 2026

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