@extends('layouts.app') @section('title', 'Integrations') @push('styles') @endpush @section('content') @php $cmDoc = config('channel_manager_integration'); $otas = config('otas', []); @endphp

Software Integrations

Platform-wide Channel Manager API setup for {{ config('app.name') }}

Channel Manager API

@if($channelManager['enabled'] ?? false) Enabled @else Not configured @endif
This configures how {{ config('app.name') }} connects to the Channel Manager on behalf of all hotels. Hotel owners never see these credentials — they only manage rooms, mapping, and availability.

{{ $cmDoc['getting_started']['intro'] }}

@csrf @method('PUT')
API Credentials Platform-wide — stored encrypted
Reservation Webhook (inbound)
Test All APIs
@csrf

Runs every outbound Channel Manager call plus your inbound reservation webhook using saved credentials and sandbox sample data.

@if(!empty($testReport)) @php $summary = $testReport['summary']; @endphp
{{ $summary['passed'] }}/{{ $summary['total'] }} passed @if($summary['failed'] > 0) — {{ $summary['failed'] }} failed @endif
@foreach($testReport['results'] as $row) @endforeach
Status API HTTP Message Response
{{ strtoupper($row['status']) }} {{ $row['method'] }} {{ $row['name'] }} {{ $row['http_code'] ?? '—' }} {{ $row['message'] }} {{ $row['response'] ?? '—' }}
@else

Click Run All Tests to verify connectivity for all endpoints.

@endif
Integration steps
@foreach($cmDoc['getting_started']['steps'] as $step)
{{ $step['number'] }}
{{ $step['title'] }}

{{ $step['body'] }}

@endforeach
API Overview

{{ $cmDoc['overview']['mapping_note'] }}

{{ $cmDoc['overview']['auth_note'] }}

@if(!empty($channelManager['property_details_url']))
Get Mapping Details (example) {{ $channelManager['property_details_url'] }}
@endif
@foreach($cmDoc['overview']['conventions'] as $row) @endforeach
TermDescription
{{ $row['term'] }}{{ $row['description'] }}
@foreach($cmDoc['overview']['meal_plans'] as $plan) @endforeach
CodeNameIncludes
{{ $plan['code'] }}{{ $plan['name'] }}{{ $plan['includes'] }}
@foreach($cmEndpoints as $endpoint) @endforeach
MethodEndpointURL
{{ $endpoint['method'] }} {{ $endpoint['name'] }} @if(!empty($endpoint['inbound'])) Inbound webhook @endif {{ $endpoint['url'] }}
Connected OTAs
@foreach($otas as $ota)
{{ $ota['name'] }} {{ $ota['name'] }}
@endforeach
@endsection @push('scripts') @endpush