Skip to main content

AI Tours & Activities API

Technical Docs Intent Matching Conversion Scoring Itinerary-Aware Ranking
Operated by Spyface Tech Company, LLC • 30 N Gould St Ste N, Sheridan, WY 82801 USA • Support: hello@spyface.com

What this API actually solves

Tours & activities are not inventory problems. They are timing + intent + fatigue problems. Users abandon not because “nothing is available”, but because activities conflict with flights, hotels, energy level, or expectations.

The AI Tours & Activities API computes when, what, and why to show an activity — based on itinerary context, traveler intent, and conversion probability.

Primary outputs

  • Intent match score (experience fit)
  • Time-feasibility (arrival, fatigue, buffers)
  • Conversion probability per activity
  • Refund & no-show risk
  • Ranked list with explanation codes

1) Overview

An activity shown at the wrong time has a 0% chance of conversion. Spyface treats activities as schedule-bound experiences with probability of fit, not static products.

2) Use Cases

OTA / Destination Platforms

  • Increase attach rate post-flight or post-hotel booking
  • Reduce refund & no-show rates
  • Explain recommendations (“Why this tour now?”)

Medical Tourism

  • Recovery-safe experiences only
  • Fatigue & mobility-aware ranking
  • Exclude activities conflicting with treatment windows

3) Quickstart

  1. POST available activities to /v1/activities/ingest
  2. POST traveler + itinerary context to /v1/activities/rank
  3. Render results using rank + explanation codes

4) Endpoints

MethodEndpointPurpose
POST/v1/activities/ingestNormalize activity inventory
POST/v1/activities/intentInfer traveler intent vector
POST/v1/activities/feasibilityCheck timing & fatigue feasibility
POST/v1/activities/rankRank activities by objective function
POST/v1/eventsSend outcomes (click, book, refund)

5) Intent Modeling (No Buzzwords)

Intent is inferred from observable signals, not text prompts.

  • Trip type (business, leisure, recovery)
  • Duration & pace (short stay vs slow travel)
  • Previous bookings (culture, food, adventure)
  • Filters & scroll behavior

6) Time & Fatigue Constraints

Spyface enforces hard feasibility checks:

  • Arrival buffers (flight/rail delays)
  • Hotel check-in / check-out windows
  • Daily fatigue budget (hours + intensity)

7) Ranking Objective


score(activity) =
  w1 * intent_match
+ w2 * conversion_probability
- w3 * fatigue_penalty
- w4 * refund_risk
- w5 * timing_conflict_penalty

8) Sample Schema

{
  "activity_id":"act_7781",
  "category":"CULTURE",
  "duration_minutes":120,
  "intensity":"LOW",
  "start_times":["10:00","14:00"],
  "price":{"total":45,"currency":"USD"},
  "policies":{"refund":"24H_BEFORE"},
  "location":{"lat":41.01,"lng":28.97}
}

9) Code Example (Node.js)


const res = await fetch("https://api.spyface.com/v1/activities/rank", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.SPYFACE_API_KEY}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    request_id:"req_act_001",
    traveler:{intent:"culture", pace:"slow"},
    itinerary:{arrival:"2026-03-12T09:30", hotel_checkin:"14:00"},
    activities: activities
  })
});
const data = await res.json();
console.log(data.results[0]);

10) Operational Advantage

Why this beats competitors

  • Most platforms rank by popularity → Spyface ranks by feasibility
  • Most ignore refunds → Spyface predicts them
  • Most don’t explain → Spyface is auditable