GoSkyHy Connectivity Partner Program
Everything hostel partners and channel manager engineering teams need to connect, sync, and go live on GoSkyHy.
Overview
What GoSkyHy is and how channel managers connect to it
GoSkyHy is a hostel booking platform — like Hostelworld or Booking.com, but built specifically for the hostel community. Travelers discover and book hostels through GoSkyHy's app and website.
Channel managers connect to GoSkyHy as a distribution channel. GoSkyHy publishes one API. Your channel manager integrates to it. Once connected, availability, rates, and bookings flow automatically between your channel manager and GoSkyHy — just like they do with Booking.com or Hostelworld.
ARI sync
Your CM pushes availability, rates, and restrictions to GoSkyHy. One API call handles all three.
Reservation delivery
GoSkyHy pushes new bookings to your CM. Your CM pushes bookings from other OTAs to GoSkyHy.
Modifications + cancellations
Changes and cancellations flow both directions so every channel stays in sync.
Nightly reconciliation
GoSkyHy runs a nightly diff to catch any drift between systems. Discrepancies are flagged and resolved automatically.
Supported Channel Managers
13 platforms, prioritized by partner demand
Hostel-native (best fit)
| Channel Manager | Strength | Popular In |
|---|---|---|
| Beds24 | Built for hostels. Native dorm beds, per-bed pricing. | Europe, Southeast Asia, Latin America |
| Cloudbeds | Large installed base, click-to-connect via OAuth, native dorm support. | Global (Americas, SEA) |
| Hotelogix | Strong hostel support with bed-level inventory tracking. | Asia-Pacific |
| Little Hotelier | Part of SiteMinder network. Dorm beds, per-person pricing. | Global |
| Rentlio | Hostel-first design with full bed-level inventory. | Europe (Balkans, Mediterranean) |
Hotel-focused (works with translation)
| Channel Manager | Notes |
|---|---|
| SiteMinder | Largest global reach. Handles hostels but designed for hotels. |
| STAAH | Strong in Asia-Pacific. Standard hostel support via room-type model. |
| eviivo | UK/European small accommodation. Partial hostel support. |
| RoomRaccoon | South African/European market. Limited hostel features. |
Vacation rental focused (supported if requested)
| Channel Manager | Notes |
|---|---|
| Guesty | Vacation rental model. No native dorm support — beds map as separate listings. |
| Lodgify | Vacation rental focused. No dorm or bed-level concept. |
| MyAllocator | Now part of Cloudbeds — use Cloudbeds integration instead. |
How Integration Works
Seven stages from first contact to live bookings
Partner request
A hostel signs up on GoSkyHy and tells us which CM they use. That request is recorded and adds to the demand signal for your platform.
Vendor outreach
GoSkyHy contacts your business development team to begin the integration conversation. We share our API spec and discuss the technical scope.
Partnership agreement
Both sides sign a technical agreement covering data flows, security standards, and any commercial terms.
Your team integrates
Your engineering team builds to GoSkyHy's published API — the same connectivity model as Booking.com or Hostelworld. We provide sandbox access, test properties, and support.
Certification
GoSkyHy runs a certification suite against your integration — verifying ARI sync, reservation delivery, conflict handling, and error recovery.
Hostel connection
Hostel partners find GoSkyHy in your channel list, click Connect, and map their rooms. The partner does this from your dashboard — no GoSkyHy engineering involved.
Live sync
Beds, prices, and bookings flow automatically. When a guest books on GoSkyHy, your CM updates all other channels. When a guest books elsewhere, GoSkyHy sees it too.
For Hostel Owners
What you need to do — and nothing more
One-time setup
Sign up on the partner portal
Enter your business name, email, and password. Verify your email.
Add your hostel
Property name, location, type, and a cover photo.
Set up rooms and beds
Add each room (e.g. "6-Bed Mixed Dorm") and the individual beds within it. This tells GoSkyHy exactly what you have.
Set prices and availability
Use the calendar to set which beds are available on which dates and at what price.
Tell us your channel manager
Pick it from the dropdown or type the name. If your CM is already live, you can connect immediately. If not, your request helps us prioritize it.
After connecting your CM
- You don't need to update GoSkyHy separately. Changes in your CM flow to GoSkyHy automatically.
- Bookings made on GoSkyHy flow back to your CM. Your other channels see the updated availability instantly.
- Merchandise is completely separate. T-shirts, stickers, and merch are managed only in GoSkyHy. Your CM never touches merchandise.
- Check sync status anytime. Your dashboard shows when the last sync happened, whether it succeeded, and any conflicts.
For CM Engineering Teams
Technical architecture and integration model
GoSkyHy models hostels at bed-level granularity. A 6-bed mixed dorm has 6 individually bookable units, each with its own availability and price. If your platform supports bed-level inventory, this maps directly. If your platform is room-centric, GoSkyHy handles the translation — push room-level counts and GoSkyHy distributes across beds.
Data model
Hostel (property)
└─ HostelRoom (room type)
├─ category: DORM_MIXED | DORM_FEMALE | DORM_MALE |
│ PRIVATE_ENSUITE | PRIVATE_SHARED_BATH |
│ FAMILY | CAPSULE
├─ maxOccupancy: number
├─ externalId ← YOUR room-type ID (set during mapping)
│
├─ HostelRatePlan (pricing configuration)
│ ├─ name, code, isDefault
│ ├─ externalId ← YOUR rate plan ID
│ └─ derivedFrom (linked rates), minStay, maxStay
│
└─ HostelBed (sellable unit)
├─ label, type (BUNK_TOP, SINGLE, DOUBLE, etc.)
├─ externalId ← YOUR bed/unit ID
│
└─ HostelBedInventory (per-bed, per-date)
├─ date, status, priceCents, currency
├─ minStay, maxStay, stopSell
└─ updatedFrom: PORTAL | CM_BEDS24 | CM_CLOUDBEDS | ...Conflict resolution
What you need to build
| Capability | Direction | Required |
|---|---|---|
| Push ARI updates (availability + rates + restrictions) | Your CM → GoSkyHy | Required |
| Receive reservation notifications | GoSkyHy → Your CM | Required |
| Push reservations from other OTAs | Your CM → GoSkyHy | Required |
| Handle modifications and cancellations | Both directions | Required |
| Rate plan support | Both directions | If supported |
| Bed-level granularity | Both directions | If supported |
| CTA/CTD/StopSell restrictions | Your CM → GoSkyHy | If supported |
API Reference
Two endpoints. That's it.
GoSkyHy keeps the API surface minimal. Rather than separate endpoints for availability, rates, and restrictions, everything goes through two calls — one for ARI updates and one for reservations. Fewer calls, fewer failure modes, simpler integration.
Endpoint 1: ARI Update (availability + rates + restrictions)
POST /api/v1/channel/ari
Content-Type: application/json
Authorization: Bearer {your_api_key}
X-Idempotency-Key: {unique_id}
{
"propertyExternalId": "prop_12345",
"updates": [
{
"roomExternalId": "room_101",
"date": "2026-05-15",
"available": true,
"count": 4,
"priceCents": 2500,
"currency": "USD",
"ratePlanExternalId": "rp_standard",
"closedToArrival": false,
"closedToDeparture": false,
"minStay": null,
"maxStay": null,
"stopSell": false
}
]
}{
"status": "accepted",
"processed": 1,
"conflicts": 0
}{
"status": "partial",
"processed": 0,
"conflicts": 1,
"conflictDetails": [
{
"roomExternalId": "room_101",
"date": "2026-05-15",
"reason": "PORTAL_EDIT_NEWER",
"portalVersion": 7,
"yourVersion": 5
}
]
}Endpoint 2: Reservation (new, modified, or cancelled)
POST /api/v1/channel/reservation
Content-Type: application/json
Authorization: Bearer {your_api_key}
X-Idempotency-Key: {unique_id}
{
"propertyExternalId": "prop_12345",
"action": "new",
"reservation": {
"externalReservationId": "BK-2026-78901",
"guestName": "Alex Rivera",
"guestEmail": "alex@example.com",
"checkIn": "2026-05-15",
"checkOut": "2026-05-18",
"roomExternalId": "room_101",
"bedExternalIds": ["bed_A1"],
"guestCount": 1,
"totalPriceCents": 7500,
"currency": "USD",
"source": "booking.com"
}
}POST /api/v1/channel/reservation
Authorization: Bearer {your_api_key}
X-Idempotency-Key: {unique_id}
{
"propertyExternalId": "prop_12345",
"action": "cancel",
"reservation": {
"externalReservationId": "BK-2026-78901",
"reason": "Guest requested cancellation"
}
}POST /api/v1/channel/reservation
Authorization: Bearer {your_api_key}
X-Idempotency-Key: {unique_id}
{
"propertyExternalId": "prop_12345",
"action": "modify",
"reservation": {
"externalReservationId": "BK-2026-78901",
"newCheckIn": "2026-05-16",
"newCheckOut": "2026-05-19"
}
}What GoSkyHy sends to your CM (outbound)
When a guest books on GoSkyHy, we call your reservation webhook with the booking details. You provide the webhook URL during setup. The payload shape mirrors the inbound format so your team only learns one schema.
| Event | When | What GoSkyHy sends |
|---|---|---|
| New booking | Guest pays on GoSkyHy | Full reservation (guest, dates, room, price) |
| Cancellation | Partner or guest cancels | Reservation ID + reason |
| Modification | Guest changes dates/room | Reservation ID + changed fields |
| ARI correction | Portal edit wins over CM push | Corrected ARI values (so your CM stays aligned) |
Data Flows
How data moves between systems, step by step
Guest GoSkyHy Your CM Other OTAs
│ │ │ │
│ Book bed A1 │ │ │
│ May 15-18, $75 │ │ │
│───────────────────>│ │ │
│ │ │ │
│ │ Mark bed A1 BOOKED │ │
│ │ (internal write) │ │
│ │ │ │
│ │ POST reservation │ │
│ │ to your webhook │ │
│ │───────────────────>│ │
│ │ │ │
│ │ { received: ok } │ │
│ │<───────────────────│ │
│ │ │ │
│ │ │ Reduce avail on │
│ │ │ all channels │
│ │ │───────────────────>│
│ │ │ │
│ Booking confirmed │ │ │
│<───────────────────│ │ │Guest Booking.com Your CM GoSkyHy
│ │ │ │
│ Book room 101 │ │ │
│───────────────────>│ │ │
│ │ Notification │ │
│ │───────────────────>│ │
│ │ │ │
│ │ │ POST /api/v1/ │
│ │ │ channel/reservation│
│ │ │───────────────────>│
│ │ │ │
│ │ │ { accepted } │
│ │ │<───────────────────│
│ │ │ │Partner Your CM GoSkyHy
│ │ │
│ Change price │ │
│ bed A1 → $30 │ │
│───────────────────>│ │
│ │ │
│ │ POST /api/v1/ │
│ │ channel/ari │
│ │───────────────────>│
│ │ │
│ │ { accepted, │
│ │ processed: 6 } │
│ │<───────────────────│Partner GoSkyHy Your CM
│ │ │
│ Set price $35 │ │
│ (portal edit) │ │
│───────────────────>│ │
│ │ │
│ │ Write $35, │
│ │ version=8, │
│ │ source=PORTAL │
│ │ │
│ │ │ POST /api/v1/
│ │ │ channel/ari
│ │ │ (price=$30, v=5)
│ │ │──────────────────>│
│ │ │ │
│ │ v8 > v5 → reject │ │
│ │ → log conflict │ │
│ │ │ │
│ │ { partial, │ │
│ │ conflicts: 1 } │ │
│ │───────────────────>│ │
│ │ │ │
│ │ Push $35 back to │ │
│ │ your CM (corrective│ │
│ │ ARI push) │ │
│ │───────────────────>│ │Error Handling
Every error has a code, a message, and a fix
Authentication errors
| HTTP | Code | Cause | Fix |
|---|---|---|---|
| 401 | INVALID_API_KEY | API key not recognized or revoked | Re-issue from partner dashboard |
| 401 | TOKEN_EXPIRED | OAuth token expired | Refresh using refresh token endpoint |
| 401 | CONNECTION_REVOKED | Partner disconnected your CM | Partner must reconnect |
Validation errors
| HTTP | Code | Cause | Fix |
|---|---|---|---|
| 400 | INVALID_PAYLOAD | JSON parse failure or missing fields | Check request body against schema |
| 400 | UNKNOWN_PROPERTY | Property not found or not connected | Verify property is mapped |
| 400 | UNKNOWN_ROOM | Room external ID not mapped | Run room mapping first |
| 400 | INVALID_DATE_RANGE | checkIn >= checkOut or past dates | Check date logic |
| 400 | BATCH_TOO_LARGE | More than 500 updates | Split into multiple requests |
| 422 | RESERVATION_CONFLICT | Bed already booked for those dates | Check availability before sending |
Server errors
| HTTP | Code | Fix |
|---|---|---|
| 429 | RATE_LIMITED | Back off per Retry-After header |
| 500 | INTERNAL_ERROR | Retry with backoff; GoSkyHy is alerted automatically |
| 503 | SERVICE_UNAVAILABLE | Retry after Retry-After header value |
Rate limits
| Limit | Value |
|---|---|
| Requests per minute per connection | 120 |
| Max payload size | 1 MB |
| Max updates per ARI batch | 500 |
| Response time target | < 2 seconds (p95) |
Sandbox & Testing
Test the full flow before going live
After the partnership agreement is signed, GoSkyHy provides a sandbox environment with a pre-configured test hostel, API credentials, and a webhook receiver. Your team runs the certification scenarios against the sandbox before touching production.
Test property layout
GoSkyHy Sandbox Lodge
├── "6-Bed Mixed Dorm" (DORM_MIXED, max 6)
│ ├── Bed A1 (BUNK_TOP) ├── Bed A4 (BUNK_BOTTOM)
│ ├── Bed A2 (BUNK_BOTTOM) ├── Bed A5 (SINGLE)
│ └── Bed A3 (BUNK_TOP) └── Bed A6 (SINGLE)
│
├── "4-Bed Female Dorm" (DORM_FEMALE, max 4)
│ ├── Bed B1 (BUNK_TOP) ├── Bed B3 (BUNK_TOP)
│ └── Bed B2 (BUNK_BOTTOM) └── Bed B4 (BUNK_BOTTOM)
│
├── "Private Double" (PRIVATE_ENSUITE, max 2)
│ └── Bed C1 (DOUBLE)
│
└── "Family Room" (FAMILY, max 4)
├── Bed D1 (QUEEN)
└── Bed D2 (BUNK_TOP + BUNK_BOTTOM)
Rate Plans: Standard (STD), Non-Refundable (NR), Weekly (WK)Certification scenarios
| # | Scenario | What we verify |
|---|---|---|
| 1 | Room mapping | All rooms and beds correctly mapped |
| 2 | ARI push | Availability, rates, and restrictions accepted |
| 3 | Inbound reservation | GoSkyHy ingests booking and marks beds BOOKED |
| 4 | Outbound reservation | Your CM accepts GoSkyHy booking with valid ID |
| 5 | Cancellation (both ways) | Inventory released correctly in both systems |
| 6 | Modification | Date/room changes reflected in both systems |
| 7 | Conflict resolution | Portal edit wins; corrective push sent to CM |
| 8 | Idempotency | Duplicate requests don't create duplicate data |
| 9 | Error handling | Your CM handles 4xx/5xx responses gracefully |
| 10 | Reconciliation | Nightly diff catches and resolves drift |
Go-Live Checklist
From certification to live bookings
| # | Step | Owner |
|---|---|---|
| 1 | All certification scenarios pass in sandbox | GoSkyHy + CM |
| 2 | Production API credentials issued | Both |
| 3 | Production webhook URLs registered | Both |
| 4 | One real hostel connected as beta | Partner + GoSkyHy |
| 5 | 48-hour monitoring period — zero critical errors | GoSkyHy |
| 6 | Reconciliation runs clean for 3 consecutive nights | GoSkyHy |
| 7 | Partner confirms data matches their CM dashboard | Partner |
| 8 | Integration marked LIVE — all hostels can connect | GoSkyHy |
Ready to integrate?
Whether you're a hostel looking to list or a CM team ready to connect, we'd love to hear from you.