Documentation

Everything you need to
build with Ananas GDS

Ananas GDS is the B2B data distribution layer for the tourism industry. Connect hotels, tour operators, and travel agents through a single platform that handles fact sheets, stop sales, allotments, photos, and surveys — no email chains, no manual PDFs, no guesswork.

Explore the Docs

Find what you need

Browse by topic — from initial setup and authentication through to API integration and billing.

🏨
Getting Started

Register your account, create properties, and connect your first partner in under 15 minutes.

🔐
Authentication

Session-based login, API token management, sub-user roles, and access control security model.

📋
Fact Sheets

Property data distribution across 12+ fact categories — from general info to room types and facilities.

📅
Stop Sale

Availability calendar, allotment management, event states, and real-time partner notifications.

🤝
Partners

Contract lifecycle, connection management, data-sharing permissions, and the partner marketplace.

✈️
Tour Operators

TO dashboard, hotel and room name mapping, override facts, and consuming partner data via API.

🧾
Invoicing

B2B invoice creation, line items, status lifecycle, and PDF export for accommodation and TO accounts.

💳
Payments

Stripe subscriptions, available plans, billing cycles, feature access, and webhook events.

🔧
Developer Tools

API tokens, per-token analytics, usage statistics, webhook integrations, and the API explorer.

For Accommodation Providers

Hotels, resorts, and apartments

Accommodation providers use Ananas GDS to publish structured property data to their entire tour operator network from a single control point — eliminating manual PDF updates, outdated Excel sheets, and repetitive email requests.

📊 Structured Fact Sheets

Manage property data across 12+ categories: general info, location, facilities, room types, board types, services, policies, contacts, and more. Publish once, distribute everywhere.

🖼️ Photo Management

Upload high-resolution photos, organise into categories, and publish a gallery that tour operators can access directly via API or download as a structured photo set.

📅 Stop Sale Calendar

Block dates, set allotment limits, and manage room-level availability in a calendar interface. Changes push immediately to all connected partners via the API.

🤝 Partner Contracts

Connect with tour operators through contract-based partnerships. Define exactly which properties and data categories each partner can access before distributing anything.

🧾 B2B Invoicing

Issue and track invoices directly through the platform. Maintain a clear financial record with your distribution partners without leaving the dashboard.

👥 Sub-User Management

Invite team members — Front Office, Revenue Manager, PR — and assign granular permissions per role and per property. Full audit trail of all changes.

Hotel quickstart guide →

For Tour Operators & Travel Agents

Tour operators, DMCs, and cruise lines

Tour operators connect to accommodation partners through Ananas GDS and consume live, structured data via API — no more waiting for updated PDFs, chasing property contacts, or reconciling mismatched room names in spreadsheets.

🔗 API Data Access

Pull partner hotel data via authenticated API tokens. Facts, photos, stop sale, and surveys all available as structured JSON — ready to feed directly into your booking engine or CMS.

🗺️ Name Mapping

Map hotel names, room types, and board codes to your internal catalogue identifiers. Maintain a clean translation layer between partner naming conventions and your own system.

✏️ Override Facts

Override specific fact sheet fields for your own catalogue without affecting the source data at the hotel. Your overrides are stored per-partner and returned only on your API calls.

🚫 Stop Sale Updates

Receive real-time availability and stop sale data for connected properties. Query per property, per date range, or consume webhook events as calendar state changes.

Tour operator guide →

For Developers

Start with the API in minutes

The Ananas GDS REST API uses token-based authentication. Every API call is scoped to a specific partner token, giving you access only to the data that has been explicitly shared with you through an active partner contract.

Note

API tokens are created and managed in the Developer Tools section of your dashboard. Each token is linked to a specific partner contract and can be revoked at any time without affecting other tokens.

Fetch a hotel fact sheet using your partner API token:

HTTP
GET /api/v1/facts/{token}/
Authorization: Token <your-api-token>
Accept: application/json

A successful response returns a structured JSON object containing all published fact sheet sections for the property the token is scoped to:

JSON
{
  "property": {
    "name": "Grand Hotel Palermo",
    "type": "Hotel",
    "country": "IT",
    "city": "Palermo",
    "stars": 5
  },
  "general": { ... },
  "rooms": [ ... ],
  "facilities": { ... },
  "stop_sale": {
    "status": "open",
    "blocked_dates": []
  }
}
Full API Reference → Create an API Token
Method Endpoint Description Status
GET /api/v1/facts/{token}/ Full fact sheet for a property Active
GET /api/v1/photos/{token}/ Photo gallery with CDN URLs Active
GET /api/v1/stopsale/{token}/ Availability calendar and allotments Active
GET /api/v1/surveys/{token}/ Survey responses for a property Active
GET /api/v1/contracts/ List active partner contracts Active
GET /api/v1/invoices/ B2B invoice list and detail Beta

Platform Architecture

How Ananas GDS is built

Understanding the stack helps when debugging integrations or building on top of the API.

Backend

  • Django 5.2 + DRF — REST API, serializers, token auth
  • MariaDB — primary relational store (utf8mb4)
  • Celery — async tasks: analytics rollups, email delivery
  • Djoser — authentication endpoints (customised)
  • Stripe — subscription billing and webhook handling

Frontend

  • Vue 3 + script setup — single-page application
  • Vuetify 3 — UI component library
  • Pinia — state management (stores per module)
  • ApexCharts — analytics and usage charts
  • Stripe.js — front-end billing integration
⚠️

Test Environment

A staging environment is available at testingarea.hotelfacts.net. Use it to validate API integrations before pointing your system at the production instance at app.ananas-gds.com.