source: main/eko-disco-specs/trunk/data.rst @ 10736

Last change on this file since 10736 was 10733, checked in by uli, 11 years ago

Remove types which might never become real types in portal.

File size: 5.2 KB
RevLine 
[10719]1
2.. |n0| replace:: n\ :sub:`0`
3.. |m0| replace:: m\ :sub:`0`
4
[10699]5.. _label-data-entities:
6
[10696]7Data Entities
8=============
9
[10699]10These are the data entities the new system is supposed to model. Each
11of these entities should be addable, editable, and removable as
12covered in more detail in :ref:`label-use-cases`.
[10696]13
[10699]14For each entity we give a short description to tell what it means,
15what its purpose is and in what regards (and how) it should be handled
16by the system. Again the more detailed actions on these entities
17provided by the system are described in the :ref:`label-use-cases`
18section.
19
20The data entities are sorted alphabetically, not by importance or
21similar. Used description terms should link to other respective
22entities/terms where possible.
23
[10701]24Each data entitiy description provides a list of use cases and other
25data entities connected. Connections to other data entities contain a
26relationship telling how many instances of the described entity are
27connected to how many instances of the related entity [#]_.
28
[10699]29
[10717]30.. _label-contact-address:
31
32Contact Address
33---------------
34
35A postal address.
36
37Connected to: :ref:`label-contact-data` (n:1)
38
[10701]39Used in the following use cases:
40
[10716]41
[10699]42.. _label-contact-data:
43
[10701]44Contact Data
45------------
[10699]46
[10732]47The data neccessary to contact some :ref:`label-customer`, staff
48person or similar entity. Contact data might contain several
49addresses, phone numbers, emails, etc.
[10699]50
[10717]51Connected to: :ref:`label-customer` (1:1),
[10732]52:ref:`label-contact-address` (1:|n0|), :ref:`label-contact-email`
53(1:|n0|), :ref:`label-contact-phone` (1:|n0|)
[10716]54
55Used in the following use cases:
56
57
[10719]58.. _label-contact-email:
59
60Contact Email
61-------------
62
63An email address with optional additional clear name. For email
64addresses we store some timestamp that indicates when the respective
65email address was last checked successfully (thus marking it a 'valid'
66one).
67
68Connected to: :ref:`label-contact-data` (|n0|:1)
69
70Used in the following use cases:
71
72
73.. _label-contact-phone:
74
75Contact Phone
76-------------
77
78A phone number.
79
80Connected to: :ref:`label-contact-data` (|n0|:1)
81
82Used in the following use cases:
83
84
[10699]85.. _label-contract:
86
[10701]87Contract
88--------
[10699]89
[10730]90A contract is created whenever a :ref:`label-customer` orders some
91:ref:`label-service` from the system. It is always connected to a
92:ref:`label-customer` and a :ref:`label-service` .
[10729]93
94A contract is not necessarily written on paper and signed by
95people. Instead it is an abstraction used inside the system.
96
[10730]97It is always created from a :ref:`label-service` , which tells about
98the basic data, with additional parameters set that depend on the type
99of :ref:`label-service` ordered.
[10729]100
[10732]101Contracts can trigger :ref:`label-transaction`\ s. For instance if some
102:ref:`label-customer` orders a service. When the service charges
103become due, a respective :ref:`label-transaction` is triggered.
104
[10730]105Contracts can have multiple :ref:`label-contract-addon`.
[10729]106
[10730]107Connected to: :ref:`label-service` (|n0|:1), :ref:`label-customer` (|n0|:1),
[10732]108:ref:`label-contract-addon` (1:|n0|), :ref:`label-transaction` (|n0|, |m0|)
[10729]109
110Used in the following use cases:
111
112
[10730]113.. _label-contract-addon:
114
115Contract Addon
116--------------
117
118Kind of 'sub contract' that always belongs to some already existing
[10732]119:ref:`label-contract` but comes with an own set of
120parameters. Contract addons are created by :ref:`label-contract`\ s.
[10730]121
122Connected to: :ref:`label-contract` (|n0|:1)
123
124
[10699]125.. _label-customer:
126
[10701]127Customer
128--------
[10696]129
[10701]130Beneficiary of a contract
131
[10733]132
[10699]133.. _label-login-credentials:
134
[10701]135Login Credentials
136-----------------
[10699]137
[10733]138
[10699]139.. _label-meter:
140
[10701]141Meter
142-----
[10696]143
[10733]144
[10699]145.. _label-meter-status:
146
[10701]147Meter Status
148------------
[10696]149
[10733]150
[10699]151.. _label-meter-value:
[10696]152
[10701]153Meter Value
154-----------
[10696]155
[10733]156
[10699]157.. _label-meter-reader:
[10696]158
[10701]159Meter Reader
160------------
[10696]161
162
[10701]163.. _label-point-of-consumption:
164
165Point of Consumption
166--------------------
167
[10733]168
[10699]169.. _label-report:
[10696]170
[10701]171Report
172------
[10699]173
[10720]174
175.. _label-service:
176
177Service
178-------
179
[10732]180The system will provide different services to
181:ref:`label-customer`\ s. These can have arbitrary forms, including
182one-time services (like installation of meters) and open-ended
183long-time services (like delivering power based on contract). Services
184are managable by staff like goods offered in a shop.
[10720]185
[10729]186Services define the conditions under which they can be ordered by
[10732]187:ref:`label-customer`\ s, including prices, runtimes, etc.
[10729]188
[10732]189Services also serve as factories for :ref:`label-contract`\ s.
[10729]190
[10732]191Connected to: :ref:`label-contract` (1:|n0|),
[10730]192
[10729]193Used in the following use cases:
194
195
196
[10699]197.. _label-timestamp:
198
[10701]199Timestamp
200---------
201
[10720]202
203.. _label-transaction:
204
205Transaction
206-----------
207
208A transaction is some business-relevant action taken. A transaction
209means basically, that something happened, that leads to increased or
210decreased customer accounts. Normally this is something like a
211payment, some service order or similar.
212
213Transactions do always belong to one certain customer account. They
214also contain some amount of money which is thereby transfered to or
215from a customer's account. They also always reference a service which
[10730]216is consumed, purchased, or (pre-)paid by the respective customer.
[10720]217
[10729]218Connected to: :ref:`label-customer` (1:|n0|), :ref:`label-service`
219(|n0|:1)
[10720]220
221Used in the following use cases:
222
223
[10701]224.. [#] Relation types: (1:1): One-to-one, (1:n): One-to-many, (n:1):
[10719]225       many-to-one, (n:m): many-to-many. ``n`` and ``m`` mean some
226       value ``1..n``. To indicate zero or more (``0..n``) relations,
227       we use |n0| and |m0| respectively.
Note: See TracBrowser for help on using the repository browser.