-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathindex.ad
95 lines (54 loc) · 2.42 KB
/
index.ad
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
:toc: left
:doctype: book
:source-highlighter: pygments
:pygments-style: rainbow_dash
:icons: font
:revealjsdir: https://cdnjs.cloudflare.com/ajax/libs/reveal.js/3.8.0
= OpenTHC API
The OpenTHC API Specification is not an API for a specific system, rather it is an approach towards a *common* API for the cannabis industry.
This document, and it's contents should be viewed as proposed guidelines.
== Overview
There are currently 100s of new software vendors in the cannabis technology space, some with APIs, some without.
Each of these systems, as well as the government software provided by BioTrack, METRC, LeafData, etc, has a unique approach, with unique terminology to the same core data.
This makes interoperability difficult, or at least tedious.
These proposals include a common data model, with provided JSON schema and samples as well as a REST (or JSON-RPC) style API.
These models and interface are hopefully useful for others constructing tools in this space.
We want these standard base data models for objects in the Cannabis Industry to
represent the common data all of our software shares with a common language
and provide a basis for data increased interoperability.
With this foundation maybe we can all move a little faster.
== General
Unless stated otherwise, these things generally hold true:
include::base/terms.ad[]
include::base/format.ad[]
include::base/rest.ad[]
include::auth/index.ad[]
== Core System Data
include::core/company.ad[]
include::core/license.ad[]
include::core/contact.ad[]
== Core Config Data
include::core/product.ad[]
include::core/variety.ad[]
== Inventory - Source Material
include::inventory/source.ad[]
== Plants & Crops
include::plant/index.ad[]
== Inventory - Bulk Material
include::inventory/index.ad[]
include::lab/index.ad[]
include::b2b/index.ad[]
== Retail Sales
include::b2c/index.ad[]
== Adminstration
All the Core data can be manipulated via the API.
=== Permissions
include::core/acl.ad[]
=== Grow Materials
Inputs for grow supplies; adding a bulk item, with cost and the removing portions.
Inputs for grow journals; adding a note and a metric to a plant (or group of plants, but tracked per-plant)
== Customization / Extending
If it's a really good idea please consider a pull request.
Additionally, the JSON can be extended, without affecting the base.
The addition of an **x-[vendor]** attribute to a JSON model should suffice.
This is shown in some of the examples.