RedPlanetHQ / RedPlanetHQ/core

New Integration: Kiwi.com

Open
#484 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement good first issue integration new-feature new-integration
Dominant language
TypeScript
Stars
2k
Forks
194
Avg merge
12m
Merged PRs (30d)
2

Description

Description

Add Kiwi.com integration to sync flight searches, bookings, itineraries, and travel data into CORE via the Tequila API.

Reference Implementations

Existing Integrations (use as templates)
  • integrations/cal_com/ - Similar booking/scheduling system
  • integrations/linear/ - Project management integration
  • integrations/slack/ - For reference
Required Files Structure
integrations/kiwi/
├── src/
│   ├── index.ts          # Main entry, API key spec
│   ├── schedule.ts       # Sync logic
│   ├── utils.ts          # Kiwi.com Tequila API utilities
│   ├── account-create.ts # API key setup
│   └── create-activity.ts # Activity formatting
├── package.json
├── tsup.config.ts
└── README.md

Kiwi.com Tequila API Integration

Authentication Setup
  • Use API Key authentication via the Tequila portal
  • API key passed as apikey header
  • Free registration at tequila.kiwi.com
Key Endpoints
  • GET /v2/search - Search for flights (one-way/return) with params: fly_from, fly_to, dateFrom, dateTo
  • GET /locations/query - Location API for searching regions, cities, airports
  • GET /v2/search/nomad - NOMAD API for multi-city itineraries with flexible ordering
  • GET /v2/search/multicity - Multicity API for sequential city searches
  • POST /v2/booking/check_flights - Verify flight prices and availability
  • POST /v2/booking/save_booking - Create and manage bookings
  • GET /v2/booking/{booking_id} - Retrieve booking details

Events to Track

  1. Flight Searches - Search queries, results, and price tracking
  2. Bookings - New bookings, booking modifications, cancellations
  3. Itinerary Updates - Multi-city trip planning, route changes
  4. Price Alerts - Price changes for tracked routes

Implementation Tasks

  • Set up basic integration structure following integrations/github/src/index.ts pattern
  • Implement API key authentication flow in account-create.ts
  • Create API utilities in utils.ts for Tequila API endpoints
  • Implement sync logic in schedule.ts for bookings and search history
  • Convert travel events to CORE activity format
  • Add error handling and rate limiting
  • Create integration documentation
  • Add to integrations/README.md

Technical Notes

  • Base URL: https://tequila-api.kiwi.com
  • The Tequila API supports multiple search types: one-way, return, NOMAD (flexible multi-city), and multicity (sequential)
  • Location API supports searching by region, city, or airport code
  • Booking API requires a two-step process: check_flights then save_booking
  • An unofficial Node.js SDK exists: @ohm-vision/kiwi-tequila-api

Resources

Labels

enhancement, integration, new-feature

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading integrations/cal_com/, integrations/linear/, integrations/slack/, and the integrations/github/src/index.ts pattern. Implement the listed integrations/kiwi/ files around Tequila authentication, search and booking endpoints, then update integrations/README.md and verify that the requested flight, booking, itinerary, and price-alert activity is represented.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.