Commit df915a8d authored by David Ezell's avatar David Ezell

Merge candidate for POS / Back Office dictionary submissions

parent edb1122c
This is the API Data Dictionary (“Dictionary”), jointly owned by the IFSF (www.ifsf.org) and Conexxus (www.conexxus.org), and shared in order to assist in the use of our international standards.
Welcome to the **API Data Dictionary** (“Dictionary”), jointly owned by the IFSF (www.ifsf.org) and Conexxus (www.conexxus.org), and shared in order to assist in the use of our international standards.
The Dictionary contains individual elements and objects, defined as collections of 2 or more data elements/properties. Individual elements and objects within the dictionary are open to the public and everybody is allowed to use them. For example, we expect many users will find the Dictionary helpful to understand fuel retailing and to define further innovative and collaborative APIs.
This version is a DRAFT and is for discussion only. It is improper to attempt to use the definitions herein in live applications or to cite this version other than as a work in progress.
The Dictionary is licensed under the Creative Commons Attribution 4.0 International Public License (“Public License”), which can be read in full in the Section 0.1 License. For the purpose of clarity, under this Public License, IFSF and Conexxus jointly shall hold the copyright on the Directory and act as Co-Licensors. The License granted by the IFSF and Conexxus applies to the Dictionary, including the owners’ Sui Generis Database Rights (“Database Rights” i.e., rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world). Under the License, users are free to use the Dictionary to create Adapted Material, where all such material is subject to the copyright and Database Rights that are derived from or based upon the Dictionary. Co-Licensors hereby grant a user a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Dictionary to: (a) reproduce and share the Dictionary, in whole or in part, without removing any copyright notice; and (b) produce, reproduce, and share its Adapted Material. Please be aware, however, that if you intend to translate, alter, arrange, transform, or otherwise modify the Dictionary, you must obtain written permission in advance from the Co-Licensors.
This Dictionary is created specifically for use in petroleum and convenience retail. The definitions in the Dictionary have been in wide use for almost two decades.
The APIs, which use these elements and objects, are owned and hosted on the standard bodies’ web sites (www.ifsf.org and www.conexxus.org) where membership is necessary to gain access.
Ultimately, the dictionary will contain the following directories:
- schemas: this directory contains the business domain items (elements, types, objects).
- traits: contains definitions useful across the set of all APIs, but outside the business domain.
- utilities: contains definitions useful for messaging, but outside the business domain.
- examples: contains example files conforming to various definitions.
Members of the public are requested to inform us of missing data elements and objects at the following: ltoth@conexxus.org and projectsmanager@ifsf.org. Similarly, corrections, additions, improvements, and clarifications of the existing elements and objects are welcome. All proposed changes will be reviewed by work groups within Conexxus and IFSF, and accepted (or comit'ed using GIT repository terminology) into the dictionary. Changes and additions are reviewed to assure consistency throughout the dictionary and to avoid duplications of the same name being used for the identical element or object.
\ No newline at end of file
In version 0.1, only the "schema" directory is eligible for review.
The Dictionary is made up of 3 kinds of entries:
- Types: these entries provide restraints on number, string, and date types in JSON. A special subgroup, "Base Types," are non-industry specific, but aid in keeping definitions of other types systematically aligned. Types are analogous to XML Schema Simple Type definitions.
- Elements: these entries bind a property name to a type. Elements are especially useful for helping to assure that names for things are used consistently in the specifications. Elements normally appear in lists defined as "allOf:", "anyOf:", or "oneOf:". Elements are analogous to XML Schema Element Declarations.
- Objects: these entries group property name / type pairs into a set that can be reused. Objects are analogous to XML Schema Complex Type Definitions.
The Dictionary is licensed under the Creative Commons Attribution 4.0 International Public License (“Public License”), which can be read in full in the Section 0.1 License. For the purpose of clarity, under this Public License, IFSF and Conexxus jointly shall hold the copyright on the Dictionary and act as Co-Licensors. The License granted by the IFSF and Conexxus applies to the Dictionary, including the owners’ Sui Generis Database Rights (“Database Rights” i.e., rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world). Under the License, users are free to use the Dictionary to create Adapted Material, where all such material is subject to the copyright and Database Rights that are derived from or based upon the Dictionary. Co-Licensors hereby grant a user a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Dictionary to: (a) reproduce and share the Dictionary, in whole or in part, without removing any copyright notice; and (b) produce, reproduce, and share its Adapted Material. Please be aware, however, that if you intend to translate, alter, arrange, transform, or otherwise modify the Dictionary, you must obtain written permission in advance from the Co-Licensors.
The APIs (not enumerated here), which use the types, elements, and objects described, are owned and hosted on "gitlab.openretailing.org" where membership may be necessary to gain access to any specific API definitions, simulators, or other materials.
Members of the public are requested to inform us of missing data elements and objects at the following: support@openretailing.org. Similarly, requests for corrections, additions, improvements, and clarifications of the existing elements and objects are welcome. All proposed changes will be reviewed by work groups within Conexxus and IFSF, and potentially be accepted into the Data Dictionary. Changes and additions are reviewed to assure consistency throughout the dictionary and to avoid duplications of the same name being used for the identical element or object.
\ No newline at end of file
openapi: 3.0.1
info:
title: Conexxus Data Dictionary for Base Types
version: v0.1.1
description: This dictionary will become the basis for the Conexxus proposals for the data joint IFSF/ Conexxus data dictionary.
termsOfService: 'http://www.openretailing.org/termsOfServices/APITermsOfService1.0.html'
contact:
name: POS Activity Reporting API Support Team
url: 'http://www.openretailing.org/support'
email: support@openretailing.org
license:
name: Joint Conexxus and IFSF API standard Licence
url: 'http://www.openretailing.org/licenses/APILicense1.0.html'
paths: {}
components:
schemas:
id16BaseType:
description: 16 character ID
maxLength: 16
minLength: 1
type: string
id16NBaseType:
description: 16 digit numeric ID
type: string
maxLength: 16
minLength: 1
pattern: "^[0-9]{1,16}$"
id2BaseType:
description: 2 character ID
maxLength: 2
minLength: 1
type: string
id4BaseType:
description: 4 character ID
maxLength: 4
minLength: 1
type: string
id40BaseType:
description: 40 character ID
maxLength: 40
minLength: 1
type: string
id4NBaseType:
description: 4 digit numeric ID
maxLength: 4
minLength: 1
type: string
pattern: "^[0-9]{1,4}$"
id8BaseType:
description: 8 character ID
maxLength: 8
minLength: 1
type: string
id80BaseType:
description: 80 character ID
maxLength: 80
minLength: 1
type: string
id8NBaseType:
description: 8 digit numeric ID
maxLength: 8
minLength: 1
type: string
pattern: "^[0-9]{8}$"
decimalValue12BaseType:
description: 12,5 decimal value
maximum: 999999999999
minimum: -999999999999
type: number
decimalValue16BaseType:
description: 16,5 decimal value
maximum: 10000000000000000
minimum: -10000000000000000
type: number
decimalValue8BaseType:
description: 8,5 decimal value
maximum: 99999999
minimum: -99999999
type: number
descriptionIDBaseType:
maxLength: 8
type: string
number16BaseType:
description: 16 digit numeric value
maximum: 10000000000000000
minimum: 0
type: integer
number2BaseType:
description: 2 digit numeric value
maximum: 99
minimum: 0
type: integer
number3BaseType:
description: 3 digit numeric value
maximum: 999
minimum: 0
type: integer
number4BaseType:
description: 4 digit numeric value
maximum: 9999
minimum: 0
type: integer
number8BaseType:
description: 8 digit numeric value
maximum: 99999999
minimum: 0
type: integer
description10BaseType:
description: 10 character description.
maxLength: 10
type: string
description16BaseType:
description: 16 character description.
maxLength: 16
type: string
description24BaseType:
description: 24 character description.
maxLength: 24
type: string
description255BaseType:
description: 255 character description.
maxLength: 255
type: string
description4BaseType:
description: 4 character description.
maxLength: 4
type: string
description40BaseType:
description: 40 character description.
maxLength: 40
type: string
description48BaseType:
description: 48 character description.
maxLength: 48
type: string
description8BaseType:
description: 8 character description.
maxLength: 8
type: string
number10BaseType:
type: number
maximum: 9999999999
minimum: -9999999999
durationBaseType:
type: string
maxLength: 20
pattern: "^P([0-9]+Y)?([0-9]+M)?([0-9]+D)?(T([0-9]+H)?([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?)?$"
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
node types-generate.js ./conexxus-proposed/baseTypes.yaml targetDir --rmTarget
node types-generate.js ./conexxus-proposed/dataTypes.yaml targetDir
node types-generate.js ./conexxus-proposed/objects.yaml targetDir
node types-generate.js ./conexxus-proposed/elements.yaml targetDir
cp ../dictionary/schemas/currencyEENUMType.yaml targetDir
node typesIndex-generate.js targetDir
npm install rimraf
npm install js-yaml
npm install deepcopy
../esprima/bin/esparse.js
\ No newline at end of file
../esprima/bin/esvalidate.js
\ No newline at end of file
../js-yaml/bin/js-yaml.js
\ No newline at end of file
../rimraf/bin.js
\ No newline at end of file
1.0.10 / 2018-02-15
------------------
- Use .concat instead of + for arrays, #122.
1.0.9 / 2016-09-29
------------------
- Rerelease after 1.0.8 - deps cleanup.
1.0.8 / 2016-09-29
------------------
- Maintenance (deps bump, fix node 6.5+ tests, coverage report).
1.0.7 / 2016-03-17
------------------
- Teach `addArgument` to accept string arg names. #97, @tomxtobin.
1.0.6 / 2016-02-06
------------------
- Maintenance: moved to eslint & updated CS.
1.0.5 / 2016-02-05
------------------
- Removed lodash dependency to significantly reduce install size.
Thanks to @mourner.
1.0.4 / 2016-01-17
------------------
- Maintenance: lodash update to 4.0.0.
1.0.3 / 2015-10-27
------------------
- Fix parse `=` in args: `--examplepath="C:\myfolder\env=x64"`. #84, @CatWithApple.
1.0.2 / 2015-03-22
------------------
- Relaxed lodash version dependency.
1.0.1 / 2015-02-20
------------------
- Changed dependencies to be compatible with ancient nodejs.
1.0.0 / 2015-02-19
------------------
- Maintenance release.
- Replaced `underscore` with `lodash`.
- Bumped version to 1.0.0 to better reflect semver meaning.
- HISTORY.md -> CHANGELOG.md
0.1.16 / 2013-12-01
-------------------
- Maintenance release. Updated dependencies and docs.
0.1.15 / 2013-05-13
-------------------
- Fixed #55, @trebor89
0.1.14 / 2013-05-12
-------------------
- Fixed #62, @maxtaco
0.1.13 / 2013-04-08
-------------------
- Added `.npmignore` to reduce package size
0.1.12 / 2013-02-10
-------------------
- Fixed conflictHandler (#46), @hpaulj
0.1.11 / 2013-02-07
-------------------
- Multiple bugfixes, @hpaulj
- Added 70+ tests (ported from python), @hpaulj
- Added conflictHandler, @applepicke
- Added fromfilePrefixChar, @hpaulj
0.1.10 / 2012-12-30
-------------------
- Added [mutual exclusion](http://docs.python.org/dev/library/argparse.html#mutual-exclusion)
support, thanks to @hpaulj
- Fixed options check for `storeConst` & `appendConst` actions, thanks to @hpaulj
0.1.9 / 2012-12-27
------------------
- Fixed option dest interferens with other options (issue #23), thanks to @hpaulj
- Fixed default value behavior with `*` positionals, thanks to @hpaulj
- Improve `getDefault()` behavior, thanks to @hpaulj
- Imrove negative argument parsing, thanks to @hpaulj
0.1.8 / 2012-12-01
------------------
- Fixed parser parents (issue #19), thanks to @hpaulj
- Fixed negative argument parse (issue #20), thanks to @hpaulj
0.1.7 / 2012-10-14
------------------
- Fixed 'choices' argument parse (issue #16)
- Fixed stderr output (issue #15)
0.1.6 / 2012-09-09
------------------
- Fixed check for conflict of options (thanks to @tomxtobin)
0.1.5 / 2012-09-03
------------------
- Fix parser #setDefaults method (thanks to @tomxtobin)
0.1.4 / 2012-07-30
------------------
- Fixed pseudo-argument support (thanks to @CGamesPlay)
- Fixed addHelp default (should be true), if not set (thanks to @benblank)
0.1.3 / 2012-06-27
------------------
- Fixed formatter api name: Formatter -> HelpFormatter
0.1.2 / 2012-05-29
------------------
- Added basic tests
- Removed excess whitespace in help
- Fixed error reporting, when parcer with subcommands
called with empty arguments
0.1.1 / 2012-05-23
------------------
- Fixed line wrapping in help formatter
- Added better error reporting on invalid arguments
0.1.0 / 2012-05-16
------------------
- First release.
(The MIT License)
Copyright (C) 2012 by Vitaly Puzrin
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE