Overview

Ananas GDS distributes data in multiple industry-standard formats to maximise compatibility with tour operator systems, channel managers, PMS platforms, and accounting software. The format is selected at the API key level or specified as a query parameter on export requests.

FormatCodeBest for
REST JSONjsonModern integrations, web apps, custom backends.
OTA XMLxml_otaGDS connections, legacy travel systems (OpenTravel 2003B standard).
OCTO JSONoctoTours and activities operators using the OCTO standard.
CSVcsvSpreadsheet import, data analysis, general bulk export.
Xero CSVxeroInvoice export for Xero accounting software.
QuickBooks IIFquickbooksInvoice export for QuickBooks Desktop/Online.

REST JSON (Default)

The default format for all v1 API endpoints. Responses follow a consistent structure with snake_case field names. All timestamps are ISO 8601 in UTC.

Fact Sheet JSON Response (excerpt)
{
  "property_id": 42,
  "hotel_name": "Grand Palace Hotel",
  "stars": 5,
  "rooms": 120,
  "main_info": {
    "check_in": "14:00",
    "check_out": "11:00",
    "pets_allowed": false,
    "languages": ["en", "de", "ar"]
  },
  "photos": [
    {
      "id": 1,
      "url": "https://ik.imagekit.io/ananas/photo_1.jpg",
      "category": "exterior",
      "caption": "Main entrance"
    }
  ],
  "stop_sales": {
    "2026-07-15": { "status": 1, "allotment": 5 },
    "2026-07-16": { "status": 0, "allotment": 10 }
  }
}

OTA XML

Conforms to the OpenTravel Alliance 2003B schema. Used for GDS integration via Amadeus, Sabre, and Travelport connections. Property data maps to OTA_HotelDescriptiveContentRS; availability maps to OTA_HotelAvailRS.

OTA XML Fact Sheet Response (excerpt)
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelDescriptiveContentRS
  xmlns="http://www.opentravel.org/OTA/2003/05"
  Version="1.0">
  <HotelDescriptiveContents>
    <HotelDescriptiveContent
      HotelName="Grand Palace Hotel"
      HotelCityCode="DXB"
      HotelCode="GDS-42">
      <HotelInfo>
        <Descriptions>
          <MultimediaDescriptions>
            <MultimediaDescription>
              <TextItems>
                <TextItem Language="en">
                  <Description>5-star luxury hotel...</Description>
                </TextItem>
              </TextItems>
            </MultimediaDescription>
          </MultimediaDescriptions>
        </Descriptions>
      </HotelInfo>
    </HotelDescriptiveContent>
  </HotelDescriptiveContents>
</OTA_HotelDescriptiveContentRS>

OCTO JSON

The Open Connectivity for Tours & Experiences standard. Primarily used by tour operator platforms integrating activity and tour data. The OCTO exporter maps Ananas GDS property and availability data to OCTO Supplier, Product, and Availability objects.

OCTO Availability Response (excerpt)
{
  "id": "avail-2026-07-15",
  "localDateTimeStart": "2026-07-15T00:00:00+00:00",
  "localDateTimeEnd": "2026-07-15T23:59:59+00:00",
  "status": "AVAILABLE",
  "vacancies": 10,
  "capacity": 10,
  "pricingFrom": []
}

CSV Export

CSV exports are available for facts, photos metadata, stop sale calendars, and invoices. Each scope has its own column schema. CSV files use UTF-8 encoding with BOM for Excel compatibility and comma delimiters.

Facts CSV Columns

property_id, hotel_name, stars, rooms, check_in, check_out, address, country, city, phone, email, website, last_updated.

Stop Sale CSV Columns

property_id, hotel_name, date, status_code, status_label, allotment, room_type, source.

Invoices CSV Columns

invoice_number, direction, from_company, to_company, subject, amount, currency, status, issue_date, due_date, paid_at.

Accounting Formats

Invoice data can be exported in formats compatible with popular accounting packages. These exports are available via the Export Center in Developer Tools.

FormatDescription
Xero CSVContact, Description, Quantity, Unit Amount, Account Code, Tax Type — maps directly to Xero's invoice import template.
QuickBooks IIFIntuit Interchange Format. Compatible with QuickBooks Desktop 2020+ and QuickBooks Online via third-party IIF importers.

Requesting a Format

For the v1 public API, format is determined by the API key configuration. For bulk exports via the Export Center, specify format in the export creation request body:

Create Export Request
POST /api/dev/integrations/exports/create/
Authorization: Token <token>
Content-Type: application/json

{
  "format": "xml_ota",
  "scope": "facts",
  "filters": {
    "property_ids": [42, 43],
    "updated_after": "2026-01-01"
  }
}