Data standards are the rules by which data are described and recorded. In order to share, exchange, and understand data, we must standardize the format as well as the meaning.
Using standards makes using things easier. Standards provide data integrity, accuracy and consistency, clarify ambiguous meanings, minimize redundant data, and document business rules. The data becomes usable to more than just the project or person that created the data, because you know the data will be in an expected format and you know what is represented by the data.
EveryMundo develops its own technology and integrates with international airlines around the world who use different technologies. EveryMundo’s internal departments can create superior products through efficient collaboration by speaking the same language - data standards. It is best practice to leverage existing data standards where applicable. EveryMundo created its own standards based on NDC (New Distribution Capability) and Schema.org.
NDC is a travel industry-supported program launched by IATA for the development and market adoption of a new, XML-based data transmission standard (NDC Standard). The NDC Standard enhances the capability of communications between airlines and travel agents.
Schema.org is a collaborative, community activity with a mission to create, maintain, and promote schemas for structured data on the Internet, on web pages, in email messages, and beyond. Founded by Google, Microsoft, Yahoo and Yandex, Schema.org vocabularies are developed by an open community process.
- Review IATA NDC documentation
- http://startndc.iata.org/education.htm
- http://www.iata.org/whatwedo/airline-distribution/ndc/Documents/ndc-implementation-guide.pdf
- How this applies to ancillary products delivered by third party suppliers (e.g. a nonairline controlled lounge), or for non-flight related products such as packaging a flight with a hotel or car, is outside the scope of NDC. The Master dataLayer includes a structure supporting vacation packages.
- Use schema.org as the basis for variable definition; schema.org vocabulary was founded by major companies - Google, Microsoft, Yandex, Yahoo
- Inherit data structure from schema.org:
- property
- propertyType
- Note: "@type" used for illustration purposes and will not be used in real data
- variable
- Inherit data structure from schema.org:
It takes max. 1h to complete the course and teaches the basics of the data standards, which are also described below. https://everymundo-university.teachable.com/p/emdatastandards
https://everymundo.github.io/emDataStandards/documentation/build/
Note: The following command assumes that you have committed already all your changes in master. For Windows, run the command in git bash.
bash ./publish-gh-pages.sh
- Follow the Google Java Style Guide
- Lower camel case
- No space or underscore in field
- Example: airportIataCode
- Only use field names without the parent if unambiguous by itself. For example: It is acceptable to use siteEdition instead of pageSiteEdition
"page": {
"siteEdition": "en-US"
}
If the field name is being used in multiple properties, combine parent property and field name capitalizing the first letter of the field name, e.g. airlineIataCode
"airline":{
"name": "Xiamen Air"
}
"city": {
"name": "San Francisco"
}
- Variable output follows ISO (International Organization for Standardization)
- Example: ISO 639-1 language codes
- Variable output follows industry standards
- Populate variable with null if not available
- User upper case and underscore for defined list of output values, otherwise use upper camel case: fareClass (ECONOMY, BUSINESS, FIRST), journeyType, flightType, routeType
- Use comma (",") to separate list items when together in a string. Use | as a fall back.
Introduced CODEOWNERS: Pull requests to the master branch now automatically require at least three approved reviews by EM Code Owners
Notes:
- In JSON, numbers do not require formatting rules, unless there is a need to be very strict, e.g. miles can only be an integer.
- Tracking:
- Due to character limits in Google Analytics event tracking, tracking.schema.json documents acceptable exceptions to emDataStandards
Doca A CLI tool that scaffolds API documentation based on JSON HyperSchemas.
This project is licensed under the MIT License - see the LICENSE.md file for details