Fly Frugal · JSON-LD Context

Flyfrugal Fyi Context

JSON-LD context defining the semantic vocabulary for Flyfrugal Fyi from Fly Frugal.

3 Classes 32 Properties 4 Namespaces
View Context View on GitHub

Namespaces

schema: https://schema.org/
xsd: http://www.w3.org/2001/XMLSchema#
dcterms: http://purl.org/dc/terms/
flyfrugal: https://flyfrugal.fyi/schema#

Classes

ItineraryPreview FlightDeal Error

Properties

Property Type Container
slug string
country_name string
tagline string
days_count integer
preview_json
cover_image_url string
first_day_image_url string
current_revision string
price_cents integer
currency string
updated_at string
pdf_ready boolean
origin string
destination_airport string
label string
country string
departure_date date
return_date date
nights integer
price decimal
airlines string
longest_layover_minutes integer
google_price_signal string
google_usual_low decimal
google_usual_high decimal
google_savings decimal
google_signal_checked_at string
latest_checked_at string
fresh_today boolean
observed_today boolean
observation_count integer
error string

JSON-LD Document

Raw ↑
{
  "@context": {
    "@vocab": "https://flyfrugal.fyi/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "flyfrugal": "https://flyfrugal.fyi/schema#",
    "ItineraryPreview": "flyfrugal:ItineraryPreview",
    "slug": {
      "@id": "flyfrugal:slug",
      "@type": "xsd:string"
    },
    "country_name": {
      "@id": "flyfrugal:country_name",
      "@type": "xsd:string"
    },
    "tagline": {
      "@id": "flyfrugal:tagline",
      "@type": "xsd:string"
    },
    "days_count": {
      "@id": "flyfrugal:days_count",
      "@type": "xsd:integer"
    },
    "preview_json": {
      "@id": "flyfrugal:preview_json"
    },
    "cover_image_url": {
      "@id": "flyfrugal:cover_image_url",
      "@type": "xsd:string"
    },
    "first_day_image_url": {
      "@id": "flyfrugal:first_day_image_url",
      "@type": "xsd:string"
    },
    "current_revision": {
      "@id": "flyfrugal:current_revision",
      "@type": "xsd:string"
    },
    "price_cents": {
      "@id": "flyfrugal:price_cents",
      "@type": "xsd:integer"
    },
    "currency": {
      "@id": "flyfrugal:currency",
      "@type": "xsd:string"
    },
    "updated_at": {
      "@id": "flyfrugal:updated_at",
      "@type": "xsd:string"
    },
    "pdf_ready": {
      "@id": "flyfrugal:pdf_ready",
      "@type": "xsd:boolean"
    },
    "FlightDeal": "flyfrugal:FlightDeal",
    "origin": {
      "@id": "flyfrugal:origin",
      "@type": "xsd:string"
    },
    "destination_airport": {
      "@id": "flyfrugal:destination_airport",
      "@type": "xsd:string"
    },
    "label": {
      "@id": "flyfrugal:label",
      "@type": "xsd:string"
    },
    "country": {
      "@id": "flyfrugal:country",
      "@type": "xsd:string"
    },
    "departure_date": {
      "@id": "flyfrugal:departure_date",
      "@type": "xsd:date"
    },
    "return_date": {
      "@id": "flyfrugal:return_date",
      "@type": "xsd:date"
    },
    "nights": {
      "@id": "flyfrugal:nights",
      "@type": "xsd:integer"
    },
    "price": {
      "@id": "flyfrugal:price",
      "@type": "xsd:decimal"
    },
    "airlines": {
      "@id": "flyfrugal:airlines",
      "@type": "xsd:string"
    },
    "longest_layover_minutes": {
      "@id": "flyfrugal:longest_layover_minutes",
      "@type": "xsd:integer"
    },
    "google_price_signal": {
      "@id": "flyfrugal:google_price_signal",
      "@type": "xsd:string"
    },
    "google_usual_low": {
      "@id": "flyfrugal:google_usual_low",
      "@type": "xsd:decimal"
    },
    "google_usual_high": {
      "@id": "flyfrugal:google_usual_high",
      "@type": "xsd:decimal"
    },
    "google_savings": {
      "@id": "flyfrugal:google_savings",
      "@type": "xsd:decimal"
    },
    "google_signal_checked_at": {
      "@id": "flyfrugal:google_signal_checked_at",
      "@type": "xsd:string"
    },
    "latest_checked_at": {
      "@id": "flyfrugal:latest_checked_at",
      "@type": "xsd:string"
    },
    "fresh_today": {
      "@id": "flyfrugal:fresh_today",
      "@type": "xsd:boolean"
    },
    "observed_today": {
      "@id": "flyfrugal:observed_today",
      "@type": "xsd:boolean"
    },
    "observation_count": {
      "@id": "flyfrugal:observation_count",
      "@type": "xsd:integer"
    },
    "Error": "flyfrugal:Error",
    "error": {
      "@id": "flyfrugal:error",
      "@type": "xsd:string"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "Fly Frugal API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects Fly Frugal's own API contract declares: one class per component schema, one property per declared field, typed from the contract. Derived by script (derive-json-ld.py, 2026-11-08) from openapi/flyfrugal-fyi-openapi.yaml, openapi/openapi.yaml.",
  "dcterms:created": "2026-11-08",
  "dcterms:source": [
    "openapi/flyfrugal-fyi-openapi.yaml",
    "openapi/openapi.yaml"
  ]
}