SEO.JSONLD.Flight (SEO v0.3.0-rc.0)

View Source

An airline flight.

Helper for building a Schema.org Flight JSON-LD structure.

Summary

Types

t()

A JSON-LD map ready to be nested or rendered. String-keyed, always includes "@type" set to "Flight", plus any camelCased field keys the caller provided (see build/1). "@context" is added at render time by SEO.JSONLD.meta/1 on the top-level node only.

Functions

Build a Flight JSON-LD map.

Types

attrs()

@type attrs() ::
  %{
    optional(:aircraft) => String.t() | SEO.JSONLD.Vehicle.t() | map(),
    optional(:arrival_airport) => SEO.JSONLD.Airport.t() | map(),
    optional(:arrival_gate) => String.t(),
    optional(:arrival_terminal) => String.t(),
    optional(:boarding_policy) =>
      :group_boarding_policy | :zone_boarding_policy,
    optional(:carrier) => SEO.JSONLD.Organization.t() | map(),
    optional(:departure_airport) => SEO.JSONLD.Airport.t() | map(),
    optional(:departure_gate) => String.t(),
    optional(:departure_terminal) => String.t(),
    optional(:estimated_flight_duration) => Duration.t() | String.t(),
    optional(:flight_distance) => String.t() | map(),
    optional(:flight_number) => String.t(),
    optional(:meal_service) => String.t(),
    optional(:seller) =>
      SEO.JSONLD.Person.t() | map() | SEO.JSONLD.Organization.t(),
    optional(:web_checkin_time) =>
      DateTime.t() | NaiveDateTime.t() | String.t(),
    optional(:arrival_time) =>
      DateTime.t() | NaiveDateTime.t() | String.t() | Time.t(),
    optional(:departure_time) =>
      DateTime.t() | NaiveDateTime.t() | String.t() | Time.t(),
    optional(:itinerary) =>
      SEO.JSONLD.Place.t() | map() | SEO.JSONLD.ItemList.t(),
    optional(:offers) => SEO.JSONLD.Offer.t() | map() | SEO.JSONLD.Demand.t(),
    optional(:part_of_trip) => SEO.JSONLD.Trip.t() | map(),
    optional(:provider) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:sub_trip) => SEO.JSONLD.Trip.t() | map(),
    optional(:trip_origin) => SEO.JSONLD.Place.t() | map(),
    optional(:additional_type) => String.t() | URI.t(),
    optional(:alternate_name) => String.t(),
    optional(:description) => SEO.JSONLD.TextObject.t() | map() | String.t(),
    optional(:disambiguating_description) => String.t(),
    optional(:identifier) =>
      String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(),
    optional(:image) =>
      URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(),
    optional(:main_entity_of_page) =>
      SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
    optional(:name) => String.t(),
    optional(:owner) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:potential_action) => SEO.JSONLD.Action.t() | map(),
    optional(:same_as) => URI.t() | String.t(),
    optional(:subject_of) =>
      SEO.JSONLD.Event.t() | map() | SEO.JSONLD.CreativeWork.t(),
    optional(:url) => URI.t() | String.t()
  }
  | [
      aircraft: String.t() | SEO.JSONLD.Vehicle.t() | map(),
      arrival_airport: SEO.JSONLD.Airport.t() | map(),
      arrival_gate: String.t(),
      arrival_terminal: String.t(),
      boarding_policy: :group_boarding_policy | :zone_boarding_policy,
      carrier: SEO.JSONLD.Organization.t() | map(),
      departure_airport: SEO.JSONLD.Airport.t() | map(),
      departure_gate: String.t(),
      departure_terminal: String.t(),
      estimated_flight_duration: Duration.t() | String.t(),
      flight_distance: String.t() | map(),
      flight_number: String.t(),
      meal_service: String.t(),
      seller: SEO.JSONLD.Person.t() | map() | SEO.JSONLD.Organization.t(),
      web_checkin_time: DateTime.t() | NaiveDateTime.t() | String.t(),
      arrival_time: DateTime.t() | NaiveDateTime.t() | String.t() | Time.t(),
      departure_time: DateTime.t() | NaiveDateTime.t() | String.t() | Time.t(),
      itinerary: SEO.JSONLD.Place.t() | map() | SEO.JSONLD.ItemList.t(),
      offers: SEO.JSONLD.Offer.t() | map() | SEO.JSONLD.Demand.t(),
      part_of_trip: SEO.JSONLD.Trip.t() | map(),
      provider: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      sub_trip: SEO.JSONLD.Trip.t() | map(),
      trip_origin: SEO.JSONLD.Place.t() | map(),
      additional_type: String.t() | URI.t(),
      alternate_name: String.t(),
      description: SEO.JSONLD.TextObject.t() | map() | String.t(),
      disambiguating_description: String.t(),
      identifier: String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(),
      image: URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(),
      main_entity_of_page:
        SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
      name: String.t(),
      owner: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      potential_action: SEO.JSONLD.Action.t() | map(),
      same_as: URI.t() | String.t(),
      subject_of: SEO.JSONLD.Event.t() | map() | SEO.JSONLD.CreativeWork.t(),
      url: URI.t() | String.t()
    ]

t()

@type t() :: %{required(String.t()) => term()}

A JSON-LD map ready to be nested or rendered. String-keyed, always includes "@type" set to "Flight", plus any camelCased field keys the caller provided (see build/1). "@context" is added at render time by SEO.JSONLD.meta/1 on the top-level node only.

Functions

build(attrs)

@spec build(attrs()) :: t()

Build a Flight JSON-LD map.

Fields

  • :aircraft - The kind of aircraft (e.g., "Boeing 747").
  • :arrival_airport - The airport where the flight terminates.
  • :arrival_gate - Identifier of the flight's arrival gate.
  • :arrival_terminal - Identifier of the flight's arrival terminal.
  • :boarding_policy - The type of boarding policy used by the airline (e.g. zone-based or group-based). One of: :group_boarding_policy, :zone_boarding_policy.
  • :carrier - 'carrier' is an out-dated term indicating the 'provider' for parcel delivery and flights.
  • :departure_airport - The airport where the flight originates.
  • :departure_gate - Identifier of the flight's departure gate.
  • :departure_terminal - Identifier of the flight's departure terminal.
  • :estimated_flight_duration - The estimated time the flight will take.
  • :flight_distance - The distance of the flight.
  • :flight_number - The unique identifier for a flight including the airline IATA code. For example, if describing United flight 110, where the IATA code for United is 'UA', the flightNumber is 'UA110'.
  • :meal_service - Description of the meals that will be provided or available for purchase.
  • :seller - An entity which offers (sells / leases / lends / loans) the services / goods. A seller may also be a provider.
  • :web_checkin_time - The time when a passenger can check into the flight online.

Inherited properties

Additional properties are available through the inheritance chain. See each ancestor's docs for its properties: