Skip to content

lyledavids/airberlin_lab_2016

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 

Repository files navigation

airberlin_lab_2016

Official Support Repo with Docs, FAQs and Issues around the airberlin Lab 2016 powered by XapiX.io. Also pelase join our Slack Channel and feel free to shoot us an Email.

This site is for all kind of questions and feedback around the online hackathon to be found on devpost and all other aspects of the underlying innovation program.

Prototype your value proposition towards airberlin's network of 30 million customers worldwide. Use airberlin's Lab to recombine data/services into customer-centric APP's. Design your APP's to meet real needs, solve painpoints and lower friction.

Use the for external developers usually locked up airberlin API (SOAP, RPC) the most comfortable way through XapiX.io (REST, Hypermedia) with preconfigured authentication. Just fill out a one step wizard and all available resources will be imported for you to start hacking! Use Swagger UI or our very own Web Console to right away peak into data and build awesome projects.

airberlin Booking Flow

Video: Quick Setup Guide (~7 mins)

From Devpost to a booking at airberlin in a few minutes. We'll guide you from the Devpost hackathon page via XapiX sign up and hackathon wizard all the way through the few and easy API interactions necessary to make a real booking on the airberlin test system. Enjoy!


Please know that the UUIDs generated on LIVE request's substructures are usually temporary. They are a compromise to enable somewhat resourceful hypermedia interaction with airberlin's SOAP RPC-style API.

  1. Index Availabilities filtered by departure, destination, date and passengers
  2. Choose desired flight combination
  3. Extract desired flight segment's: "internal booking no", "flight date" and "fare base code"
  4. Booking
  5. Step by step noting down IDs (Use UUIDs! When no ID is submitted, server will generate one for you) - Create Booked Flight Segments - Create Passengers - Create Customer Address - Create Credit Card - Create Booking by: providing all previous resource IDs, leaving "booking number" empty as it will be generated by airberlin

Disclaimer

  • XapiX.io is software in BETA. Please be patient and report issues. Our team is nice and fixes issues quick.
  • You are accessing the test system of airberlin. No real world bookings, no charges.
  • Level of data security within the lab is low. Please don't store secrets in here, especially:
  • DO NOT(!) store real world credit cards, addresses or personalized data.

airberlin - missing resources?

Video: Workshop (~20 mins)

Quick intro into the hackathon tools. Learn the easiest ways to access airberlin data. See in a live demo how to use the hackathon wizard, mocking techniques and provide feedback to airberlin. Also core concepts of the XapiX platform UI are introduced.


On XapiX platform:

  1. Create / Model a Resource Class as YOU need it for your application.
  2. Use Mocking feature to generate data for your Resource Class
  3. Program against this data structure. We'll see and give you credit in judging!
  4. Tell us! File an Issue or use Feedback feature in top right corner in the XapiX platform

We will discuss your suggestion with airberlin as soon as possible and may provide you a real endpoint with real data from airberlin systems. This is the feedback cycle between developers and API maintainers we aim to embrace.

XapiX.io

XapiX.io is a platform to build adapters to APIs or any other web interface. We normalize every kind of data source to a RESTful hypermedia format with all common features. For your convenience, we: manage authentication, minimize complexity resulting from heterogenousity, provide easy going mockup feature, provide direct feedback channel to provider API architects.

XapiX.io 101

When signed in, find the educational mode switch in the upper right corner. Turning this one will show all available documentation info panels in place. Just try it!

Annotated videos for most common workflows are provided on our YouTube channel

Theres is also a XapiX.io BETA themed Wiki at a seperate GitHub Repo. It is frequentlyy updated, but usually a bit behind.

XapiX.io Terminology

(influenced by json:api and RESTful API terminology)

Default across entire platform is snake case. Better support for camel case is in progress.

"Resources" within this document refers to XapiX’ main resources:

  • "Web Interfaces"
  • "Resource Class"
  • "Mappings"
  • "Microservices"

"XapiX Platform":

  • "Resource Management"
    • GUI: XapiX Web GUI
    • API: Partner Company and Developer interface
  • “Data Delivery API”
    • Runs all Client APIs

"Client API":

  • bound to one "Project" and associated resources
  • resulting REST interface according to "Resource Classes" configuration
  • content and services according to Web Interfaces and Mappings

"Project":

  • manage Users, resources, plan, "Client API" access + authentication
  • when a User creates a "Project" it is an "owning Project"
  • every created resource belongs to one "owning Project"
  • only within their "owning Project" resources can be updated, deleted
  • every "Project" by default is private, but can be made publicly importable
  • if an "owning Project" is not publicly importable:
    • all resources have just one "consuming Project" that is the "owning Project"
  • else if an "owning Project" is publicly importable:
    • all resources have many "consuming Projects"
    • all "consuming Projects" may consume all of the "owning Project's" resources

“Web Interfaces”:

  • "Web Data Source" (formerly Input Endpoint)
    • Examples:
      • 3rd party API endpoint
      • cloud data base
      • publicly accessible file on the web
      • private file uploaded to XapiX stored on S3
    • data types: JSON, XML, CSV, SOAP service, DB table or view, etc.
    • config fields to retrieve a collection of data records / a single data record
    • fetches a "data sample" when saved with valid configuration
  • "Web Data Target" - soon to come

"Resource Class" (formerly Output Endpoint)

  • has 1 to 5 "Actions" out of:
    • "index" retrieves a (filtered, paginated) collection of "Resource Objects"
    • "show" retrieves a single "Resource Object" by it's ID
    • "create" takes a single "Resource Object"
    • "update" takes a single modified "Resource Object" to replace the one with the given ID
    • "delete" a single "Resource Object" by it's ID
  • has 1..n attributes of plain data types (string, integer, boolean, nil)
  • has 0..n "Resource Relationships"
    • "to_one" aka "belongs_to" says one "Resource Object" of this kind is related / belongs to one other "Resource Object"
    • "to_many" says one "Resource Object" of this kind is related to many other "Resource Objects". Or many other "Resource Objects" belong to one "Resource Object" of this kind.
  • has 0..n "Sub Structures"
    • nested record collections in a "Web Data Source's" response
    • treated mostly like "Resource Relationships" only they are passed through without changes, so they are not of a "Resource Class" and violate "json:api"

"Mappings":

  • "Source Mapping" (formerly Endpoint Mapping)
    • has 1 "Web Data Source" as mapping source. Keys of "data sample" are mappable items
    • has 1 "Resource Class" as mapping target. Attributes are mappable items
    • 0..n "data sample" keys may be mapped into one attribute. “Mapping formula” in a domain specific language (DSL) is attached to do data transformations
  • "Target Mapping"
    • has 1 "Web Data Target" as mapping target. Parameters are mappable items
    • has 1 "Resource Class" as mapping target. Attributes are mappable items
    • “Mapping formula” on the ”Web Data Target”

"Microservice”:

  • Code function for side effects executing logic remotely
  • Bound to 0..n “Resource Class” “Actions”
  • Examples:
    • Synchronize 3rd party API
    • Send an email

About

Official Support Repo with Docs, FAQs and Issues for Air Berlin Lab 2016 powered by XapiX.io

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published