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

Last change on this file since 10724 was 10720, checked in by uli, 11 years ago

First try to put transaction definition into words.

File size: 4.3 KB
Line 
1
2.. |n0| replace:: n\ :sub:`0`
3.. |m0| replace:: m\ :sub:`0`
4
5.. _label-data-entities:
6
7Data Entities
8=============
9
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`.
13
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
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
29.. _label-account:
30
31Account
32-------
33
34A customer account contains the assets/debts of a :ref:`customer
35<label-customer>`. It is *not* a system account (see
36:ref:`label-login-credentials` for that) but a virtual financial
37account kept by the system. Basically it tells, how much money a
38certain :ref:`customer <label-customer>` owes or is eligible for. Each
39account is connected to exactly one customer.
40
41Connected to: :ref:`label-customer` (1:1), :ref:`label-payment` (1:n),
42:ref:`label-consumption` (1:n)
43
44Used in the following use cases: :ref:`label-uc-account-add`
45
46
47.. _label-contact-address:
48
49Contact Address
50---------------
51
52A postal address.
53
54Connected to: :ref:`label-contact-data` (n:1)
55
56Used in the following use cases:
57
58
59.. _label-contact-data:
60
61Contact Data
62------------
63
64The data neccessary to contact some customer, staff person or similar
65entity. Contact data might contain several addresses, phone numbers,
66emails, etc.
67
68Connected to: :ref:`label-customer` (1:1),
69:ref:`label-contact-address` (1:|n0|), :ref:`label-contact-email` (1:|n0|)
70
71Used in the following use cases:
72
73
74.. _label-contact-email:
75
76Contact Email
77-------------
78
79An email address with optional additional clear name. For email
80addresses we store some timestamp that indicates when the respective
81email address was last checked successfully (thus marking it a 'valid'
82one).
83
84Connected to: :ref:`label-contact-data` (|n0|:1)
85
86Used in the following use cases:
87
88
89.. _label-contact-phone:
90
91Contact Phone
92-------------
93
94A phone number.
95
96Connected to: :ref:`label-contact-data` (|n0|:1)
97
98Used in the following use cases:
99
100
101.. _label-contract:
102
103Contract
104--------
105
106.. _label-contract-types:
107
108Contract Types
109--------------
110
111.. _label-contract-termination:
112
113Contract Termination
114--------------------
115
116.. _label-consumption:
117
118Consumption
119-----------
120
121.. _label-customer:
122
123Customer
124--------
125
126Beneficiary of a contract
127
128.. _label-login-credentials:
129
130Login Credentials
131-----------------
132
133.. _label-meter:
134
135Meter
136-----
137
138.. _label-meter-status:
139
140Meter Status
141------------
142
143.. _label-meter-value:
144
145Meter Value
146-----------
147
148.. _label-meter-reader:
149
150Meter Reader
151------------
152
153.. _label-payment:
154
155Payment
156-------
157
158.. _label-point-of-consumption:
159
160Point of Consumption
161--------------------
162
163.. _label-report:
164
165Report
166------
167
168
169.. _label-service:
170
171Service
172-------
173
174
175.. _label-timestamp:
176
177Timestamp
178---------
179
180
181.. _label-transaction:
182
183Transaction
184-----------
185
186A transaction is some business-relevant action taken. A transaction
187means basically, that something happened, that leads to increased or
188decreased customer accounts. Normally this is something like a
189payment, some service order or similar.
190
191Transactions do always belong to one certain customer account. They
192also contain some amount of money which is thereby transfered to or
193from a customer's account. They also always reference a service which
194is consumed or purchased by the respective customer.
195
196.. todo:: this is an initial draft, by no means the final version
197
198Connected to: :ref:`label-account` (|n0|:1), :ref:`label-service` (1:1)
199
200Used in the following use cases:
201
202
203.. [#] Relation types: (1:1): One-to-one, (1:n): One-to-many, (n:1):
204       many-to-one, (n:m): many-to-many. ``n`` and ``m`` mean some
205       value ``1..n``. To indicate zero or more (``0..n``) relations,
206       we use |n0| and |m0| respectively.
Note: See TracBrowser for help on using the repository browser.