fidor_schema 0.8.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,27 +2,51 @@
2
2
  "$schema" : "http://json-schema.org/draft-04/schema#",
3
3
  "type" : "object",
4
4
  "title" : "customer",
5
- "description" : "",
6
- "required" : ["email", "first_name", "last_name", "gender", "title", "nick"],
5
+ "description" : "A customer object",
6
+ "required" : [
7
+ "email", "password", "adr_mobile"
8
+ ],
7
9
  "properties" : {
8
10
  "id" : {
9
11
  "$ref" : "./base_types/base_types.json#definitions/id"
10
12
  },
11
13
  "email" : {
12
- "$ref" : "./base_types/base_types.json#definitions/email",
13
- "readOnly" : true
14
+ "$ref" : "./base_types/base_types.json#definitions/email"
14
15
  },
15
16
  "first_name" : {
16
17
  "description" : "The given name of the customer",
17
18
  "type" : "string",
18
- "maxLength" : 30,
19
- "readOnly" : true
19
+ "maxLength" : 30
20
+ },
21
+ "additional_first_name" : {
22
+ "description" : "The additional given name of the customer",
23
+ "type" : "string",
24
+ "maxLength" : 30
20
25
  },
21
26
  "last_name" : {
22
27
  "description" : "The family name of the customer",
23
28
  "type" : "string",
24
- "maxLength" : 30,
25
- "readOnly" : true
29
+ "maxLength" : 30
30
+ },
31
+ "maiden_name" : {
32
+ "description" : "Name at birth, maiden name.",
33
+ "type" : "string",
34
+ "maxLength" : 30
35
+ },
36
+ "password" : {
37
+ "description" : "Password for accessing your account later. You can use lower and upper case letters, digits and special characters",
38
+ "type" : ["string", "null"],
39
+ "minLength" : 6,
40
+ "maxLength" : 128,
41
+ "pattern" : "^[0-9a-zA-Z!\"#$%&'()*+,-=./:;?@\\[\\]<>^_`{|}~]+$"
42
+ },
43
+ "legal" : {
44
+ "description" : "Legal requirements that have to be accepted",
45
+ "type" : "array",
46
+ "items" : {
47
+ "type" : "object",
48
+ "$ref" : "./legal.json#"
49
+ }
26
50
  },
27
51
  "gender" : {
28
52
  "description" : "The gender of the customer",
@@ -30,87 +54,93 @@
30
54
  "m",
31
55
  "f"
32
56
  ],
33
- "type" : "string",
34
- "readOnly" : true
57
+ "type" : "string"
35
58
  },
36
59
  "title" : {
37
- "description" : "Salutation e.g Mr. or Ms./Mrs.",
38
- "type" : "string",
39
- "maxLength" : 30,
40
- "readOnly" : true
60
+ "description" : "Salutation: 1 - Mr., 2 - Ms., 3 - Mr. Dr., 4 - Ms. Dr.",
61
+ "enum" : [
62
+ 1,
63
+ 2,
64
+ 3,
65
+ 4
66
+ ],
67
+ "type" : "integer"
41
68
  },
42
69
  "nick" : {
43
70
  "description" : "Nickname used in community.",
44
71
  "type" : "string",
45
72
  "maxLength" : 40,
46
- "minLength" : 2,
47
- "readOnly" : true
73
+ "minLength" : 2
48
74
  },
49
- "maiden_name" : {
50
- "description" : "Name at birth, maiden name.",
51
- "type" : "string",
52
- "maxLength" : 30,
53
- "readOnly" : true
75
+ "occupation" : {
76
+ "description" : "Customer's current occupation: 1 - employee, 2 - executive, 3 - self-employed, 4 - freelancer, 5 - student, 6 - trainee, 7 - retired, 8 - privatier, 9 - unemployed",
77
+ "enum" : [
78
+ 1,
79
+ 2,
80
+ 3,
81
+ 4,
82
+ 5,
83
+ 6,
84
+ 7,
85
+ 8,
86
+ 9
87
+ ],
88
+ "type" : "integer"
54
89
  },
55
90
  "adr_street" : {
56
91
  "description" : "Address street",
57
92
  "type" : "string",
58
- "maxLength" : 100,
59
- "readOnly" : true
93
+ "maxLength" : 100
60
94
  },
61
95
  "adr_street_number" : {
62
96
  "description" : "Address street number",
63
97
  "type" : "string",
64
- "maxLength" : 10,
65
- "readOnly" : true
98
+ "maxLength" : 10
66
99
  },
67
100
  "adr_post_code" : {
68
101
  "description" : "Address post code",
69
102
  "type" : "string",
70
- "maxLength" : 10,
71
- "readOnly" : true
103
+ "maxLength" : 10
72
104
  },
73
105
  "adr_city" : {
74
106
  "description" : "Address City",
75
107
  "type" : "string",
76
- "maxLength" : 100,
77
- "readOnly" : true
108
+ "maxLength" : 100
78
109
  },
79
110
  "adr_country" : {
80
111
  "description" : "Address Country",
81
112
  "type" : "string",
82
- "maxLength" : 100,
83
- "readOnly" : true
113
+ "maxLength" : 100
84
114
  },
85
115
  "adr_phone" : {
86
116
  "description" : "Phone home",
87
117
  "type" : "string",
88
- "maxLength" : 30,
89
- "readOnly" : true
118
+ "maxLength" : 30
90
119
  },
91
120
  "adr_mobile" : {
92
121
  "description" : "Phone mobile",
93
122
  "type" : "string",
94
- "maxLength" : 30,
95
- "readOnly" : true
123
+ "maxLength" : 30
96
124
  },
97
125
  "adr_fax" : {
98
126
  "description" : "Phone fax",
99
127
  "type" : "string",
100
- "maxLength" : 30,
101
- "readOnly" : true
128
+ "maxLength" : 30
102
129
  },
103
130
  "adr_businessphone" : {
104
131
  "description" : "Phone business",
105
132
  "type" : "string",
106
- "maxLength" : 30,
107
- "readOnly" : true
133
+ "maxLength" : 30
108
134
  },
109
135
  "birthday" : {
110
136
  "description" : "Date of birth",
111
137
  "type" : "string",
112
- "format" : "date-time",
113
- "readOnly" : true
138
+ "format" : "date-time"
139
+ },
140
+ "birthplace" : {
141
+ "description" : "Place of birth",
142
+ "type" : "string",
143
+ "maxLength" : 100
114
144
  },
115
145
  "is_verified" : {
116
146
  "description" : "Indicates whether KYC has been performed.",
@@ -118,8 +148,7 @@
118
148
  "readOnly" : true
119
149
  },
120
150
  "nationality" : {
121
- "$ref" : "./base_types/base_types.json#definitions/country",
122
- "readOnly" : true
151
+ "$ref" : "./base_types/base_types.json#definitions/country"
123
152
  },
124
153
  "marital_status" : {
125
154
  "description" : "1: single, 2: married, 3: widowed, 4: divorced, 5: seperated, 6: de facto",
@@ -131,8 +160,7 @@
131
160
  5,
132
161
  6
133
162
  ],
134
- "type" : "integer",
135
- "readOnly" : true
163
+ "type" : "integer"
136
164
  },
137
165
  "religion" : {
138
166
  "description" : "Denomination for tax reasons. 0: no information, 1: no denomination, 2: Protestant, 3: Roman-Catholic, 4-18: Other denominations",
@@ -156,24 +184,28 @@
156
184
  17,
157
185
  18
158
186
  ],
159
- "type" : "integer",
160
- "readOnly" : true
187
+ "type" : "integer"
161
188
  },
162
189
  "id_card_registration_city" : {
163
190
  "description" : "City where the id card is registered.",
164
- "type" : "string",
165
- "readOnly" : true
191
+ "type" : ["string", "null"]
166
192
  },
167
193
  "id_card_number" : {
168
194
  "description" : "ID card number",
169
- "type" : "string",
170
- "readOnly" : true
195
+ "type" : ["string", "null"]
171
196
  },
172
197
  "id_card_valid_until" : {
173
198
  "description" : "Expiration date of id card",
174
199
  "format" : "date-time",
175
- "type" : "string",
176
- "readOnly" : true
200
+ "type" : ["string", "null"]
201
+ },
202
+ "newsletter" : {
203
+ "description" : "Indicates whether customer has agreed to receiving newsletter or not",
204
+ "type" : "boolean"
205
+ },
206
+ "affiliate_uid" : {
207
+ "description" : "Indicates the attachment of the customer to a certain affiliate",
208
+ "type" : ["string", "null"]
177
209
  },
178
210
  "created_at" : {
179
211
  "$ref" : "./base_types/base_types.json#definitions/created_at"
@@ -194,6 +226,22 @@
194
226
  {
195
227
  "rel" : "accounts",
196
228
  "href" : "customers/{id}/accounts"
229
+ },
230
+ {
231
+ "rel" : "confirmations",
232
+ "href" : "customers/{id}/confirmations"
233
+ },
234
+ {
235
+ "rel" : "create",
236
+ "href" : "customers",
237
+ "method" : "POST",
238
+ "description" : "Creates a customer"
239
+ },
240
+ {
241
+ "rel" : "update",
242
+ "href" : "customers/{id}",
243
+ "method" : "PUT",
244
+ "description" : "Updates customer data"
197
245
  }
198
246
  ]
199
247
  }
@@ -0,0 +1,10 @@
1
+ {
2
+ "type" : "object",
3
+ "title" : "Emergency Loan",
4
+ "name" : "emergency_loan",
5
+ "description" : "",
6
+ "properties" : {
7
+
8
+ },
9
+ "links" : []
10
+ }
@@ -133,6 +133,25 @@
133
133
  "rel" : "create",
134
134
  "href" : "internal_transfers",
135
135
  "method" : "POST"
136
+ },
137
+ {
138
+ "rel" : "mtan",
139
+ "href" : "internal_transfers/{id}/mtan",
140
+ "method" : "GET"
141
+ },
142
+ {
143
+ "rel" : "mtan",
144
+ "href" : "internal_transfers/{id}/mtan",
145
+ "title" : "Confirm the transfer with the mtan send to the user",
146
+ "method" : "PUT",
147
+ "properties" : {
148
+ "mtan" : {
149
+ "title" : "The mtan received by the user",
150
+ "required" : true,
151
+ "type" : "string"
152
+ }
153
+ }
154
+
136
155
  }
137
156
  ]
138
157
  }
@@ -0,0 +1,36 @@
1
+ {
2
+ "$schema" : "http://json-schema.org/draft-04/schema#",
3
+ "type" : "object",
4
+ "title" : "legal",
5
+ "description" : "Set of legal requirements a user has to accept",
6
+ "properties" : {
7
+ "own_interest" : {
8
+ "description" : "Indicates whether customer acts in his own interest",
9
+ "enum" : [ true ],
10
+ "type" : "boolean",
11
+ "default" : false
12
+ },
13
+ "tos" : {
14
+ "description" : "Indicates whether customer has agreed to terms of service or not",
15
+ "enum" : [ true ],
16
+ "type" : "boolean",
17
+ "default" : false
18
+ },
19
+ "privacy_policy" : {
20
+ "description" : "Indicates whether customer has agreed to privacy policy or not",
21
+ "enum" : [ true ],
22
+ "type" : "boolean",
23
+ "default" : false
24
+ },
25
+ "us_citizen" : {
26
+ "description" : "Indicates whether the customer is a US citizen or not",
27
+ "type" : "boolean",
28
+ "default" : false
29
+ },
30
+ "us_tax_payer" : {
31
+ "description" : "Indicates whether the customer has to pay taxes in the US",
32
+ "type" : "boolean",
33
+ "default" : false
34
+ }
35
+ }
36
+ }
@@ -8,9 +8,7 @@
8
8
  "$ref" : "./base_types/base_types.json#definitions/id"
9
9
  },
10
10
  "account_id" : {
11
- "description" : "The external account id.",
12
- "type" : "string",
13
- "maxLength" : 8,
11
+ "$ref" : "./base_types/base_types.json#definitions/account_id",
14
12
  "readOnly" : true
15
13
  },
16
14
  "line" : {
@@ -24,7 +22,7 @@
24
22
  "readOnly" : true
25
23
  },
26
24
  "active" : {
27
- "description" : "",
25
+ "description" : "Indicates whether the overdraft is an active one or not",
28
26
  "type" : "boolean",
29
27
  "readOnly" : true
30
28
  },
@@ -43,6 +41,10 @@
43
41
  {
44
42
  "rel" : "self",
45
43
  "href" : "overdrafts/{id}"
44
+ },
45
+ {
46
+ "rel" : "instances",
47
+ "href" : "overdrafts"
46
48
  }
47
49
  ]
48
50
  }
@@ -0,0 +1,131 @@
1
+ {
2
+ "$schema" : "http://json-schema.org/draft-04/schema#",
3
+ "type" : "object",
4
+ "title" : "preauth",
5
+ "description" : "A preauth is created when you, for example, send money to a not existing fidor account or use a mastercard",
6
+ "properties" : {
7
+ "id" : {
8
+ "$ref" : "./base_types/base_types.json#definitions/id"
9
+ },
10
+ "account_id" : {
11
+ "$ref" : "./base_types/base_types.json#definitions/account_id",
12
+ "readOnly" : true
13
+ },
14
+ "amount" : {
15
+ "description" : "Preauthorized amount of money",
16
+ "$ref" : "./base_types/base_types.json#definitions/amount",
17
+ "readOnly" : true
18
+ },
19
+ "currency" : {
20
+ "$ref" : "./base_types/base_types.json#definitions/currency",
21
+ "readOnly" : true
22
+ },
23
+ "preauth_type" : {
24
+ "$ref" : "./base_types/base_types.json#definitions/preauth_type",
25
+ "readOnly" : true
26
+ },
27
+ "preauth_type_details" : {
28
+ "description" : "Details specific to this preauth type are collected here.",
29
+ "readOnly" : true,
30
+ "type" : "object",
31
+ "oneOf" : [
32
+ {
33
+ "title": "credit_card_details",
34
+ "$ref" : "./preauth_type_details/credit_card_details.json#"
35
+ },
36
+ {
37
+ "title": "internal_transfer_details",
38
+ "$ref" : "./preauth_type_details/internal_transfer_details.json#"
39
+ },
40
+ {
41
+ "title": "capital_bond_details",
42
+ "$ref" : "./preauth_type_details/capital_bond_details.json#"
43
+ },
44
+ {
45
+ "title": "currency_order_details",
46
+ "$ref" : "./preauth_type_details/currency_order_details.json#"
47
+ },
48
+ {
49
+ "title": "gmt_details",
50
+ "$ref" : "./preauth_type_details/gmt_details.json#"
51
+ },
52
+ {
53
+ "title": "ripple_details",
54
+ "$ref" : "./preauth_type_details/ripple_details.json#"
55
+ }
56
+ ]
57
+ },
58
+ "expires_at" : {
59
+ "description" : "Date of the preauthorization expiration. ISO 8601 Date-Time",
60
+ "format" : "date-time",
61
+ "type" : "string",
62
+ "readOnly" : true
63
+ },
64
+ "created_at" : {
65
+ "$ref" : "./base_types/base_types.json#definitions/created_at"
66
+ },
67
+ "updated_at" : {
68
+ "$ref" : "./base_types/base_types.json#definitions/updated_at"
69
+ }
70
+ },
71
+ "links" : [
72
+ {
73
+ "rel" : "self",
74
+ "href" : "preauths/{id}"
75
+ },
76
+ {
77
+ "rel" : "instances",
78
+ "href" : "preauths",
79
+ "properties" : {
80
+ "filter[account_ids]" : {
81
+ "title" : "Find preauths belonging to the given account ids. Single id or multiple ids comma-separated.",
82
+ "format" : "integer",
83
+ "type" : "string"
84
+ },
85
+ "filter[created_at_from]" : {
86
+ "title" : "Creation date filter from >= date",
87
+ "format" : "date-time",
88
+ "type" : "string"
89
+ },
90
+ "filter[created_at_to]" : {
91
+ "title" : "Creation date filter to <= date",
92
+ "format" : "date-time",
93
+ "type" : "string"
94
+ },
95
+ "filter[expiration_date_from]" : {
96
+ "title" : "Date filter from >= date. ISO 8601 Date",
97
+ "format" : "date-time",
98
+ "type" : "string"
99
+ },
100
+ "filter[expiration_date_to]" : {
101
+ "title" : "Date filter to <= date. ISO 8601 Date",
102
+ "format" : "date-time",
103
+ "type" : "string"
104
+ },
105
+ "filter[preauth_types]" : {
106
+ "$ref" : "./base_types/base_types.json#definitions/preauth_type",
107
+ "title" : "By preauth types"
108
+ },
109
+ "page" : {
110
+ "title" : "Page",
111
+ "description" : "In paginated results set the page to look for",
112
+ "type" : "integer"
113
+ },
114
+ "per_page" : {
115
+ "title" : "Per page",
116
+ "description" : "Results per page. Default is 10, max is 100",
117
+ "type" : "integer"
118
+ },
119
+ "sort" : {
120
+ "title" : "Sort",
121
+ "enum" : [
122
+ "ASC",
123
+ "DESC"
124
+ ],
125
+ "description" : "Sort the results in ASC or DESC",
126
+ "type" : "string"
127
+ }
128
+ }
129
+ }
130
+ ]
131
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "$schema" : "http://json-schema.org/draft-04/schema#",
3
+ "type" : "object",
4
+ "title" : "capital_bond_details",
5
+ "description" : "Capital bond related preauthorization details",
6
+ "properties" : {
7
+ }
8
+ }
@@ -0,0 +1,50 @@
1
+ {
2
+ "$schema" : "http://json-schema.org/draft-04/schema#",
3
+ "type" : "object",
4
+ "title" : "credit_card_details",
5
+ "description" : "Credit card related preauthorization details",
6
+ "properties" : {
7
+ "cc_merchant_name" : {
8
+ "description" : "CreditCard merchant initiating the transaction",
9
+ "type" : "string",
10
+ "maxLength" : 255,
11
+ "readOnly" : true
12
+ },
13
+ "cc_merchant_category" : {
14
+ "description" : "Category given by the merchant",
15
+ "type" : "string",
16
+ "maxLength" : 255,
17
+ "readOnly" : true
18
+ },
19
+ "cc_type" : {
20
+ "description" : "CreditCard type",
21
+ "type" : "string",
22
+ "maxLength" : 255,
23
+ "readOnly" : true
24
+ },
25
+ "cc_category" : {
26
+ "description" : "CreditCard category",
27
+ "type" : "string",
28
+ "maxLength" : 255,
29
+ "readOnly" : true
30
+ },
31
+ "cc_sequence" : {
32
+ "description" : "CreditCard sequence identifier, identical for all related transactions",
33
+ "type" : "string",
34
+ "maxLength" : 255,
35
+ "readOnly" : true
36
+ },
37
+ "pos_code" : {
38
+ "description" : "Code for point of service where card was used",
39
+ "type" : "string",
40
+ "maxLength" : 3,
41
+ "readOnly" : true
42
+ },
43
+ "financial_network_code" : {
44
+ "description" : "",
45
+ "type" : "string",
46
+ "maxLength" : 5,
47
+ "readOnly" : true
48
+ }
49
+ }
50
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "$schema" : "http://json-schema.org/draft-04/schema#",
3
+ "type" : "object",
4
+ "title" : "capital_bond_details",
5
+ "description" : "Currency order related preauthorization details",
6
+ "properties" : {
7
+ }
8
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "$schema" : "http://json-schema.org/draft-04/schema#",
3
+ "type" : "object",
4
+ "title" : "gmt_details",
5
+ "description" : "Global money transfer related preauthorization details",
6
+ "properties" : {
7
+ "destination_country" : {
8
+ "$ref" : "../base_types/base_types.json#definitions/country",
9
+ "readOnly" : true
10
+ },
11
+ "destination_currency" : {
12
+ "$ref" : "../base_types/base_types.json#definitions/currency",
13
+ "readOnly" : true
14
+ },
15
+ "amount_in_destination_currency" : {
16
+ "description" : "Amount transferred in the destination currency",
17
+ "$ref" : "../base_types/base_types.json#definitions/amount",
18
+ "readOnly" : true
19
+ },
20
+ "exchange_rate" : {
21
+ "description" : "Exchange rate valid at the time the transfer has been performed",
22
+ "type" : "number",
23
+ "readOnly" : true
24
+ },
25
+ "fee_transaction_id" : {
26
+ "description" : "A unique identifier of the fee transaction that belongs to the gmt transaction",
27
+ "type" : "string",
28
+ "readOnly" : true
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "$schema" : "http://json-schema.org/draft-04/schema#",
3
+ "type" : "object",
4
+ "title" : "internal_transfer_details",
5
+ "description" : "Fidor internal transfer related preauthorization details",
6
+ "properties" : {
7
+ "remote_account_id" : {
8
+ "$ref" : "../base_types/base_types.json#definitions/account_id",
9
+ "readOnly" : true
10
+ },
11
+ "internal_transfer_id" : {
12
+ "description" : "Id of transfer if transaction/preauth was created by a transfer. Refunded transactions have no id",
13
+ "readOnly" : true,
14
+ "type" : "string"
15
+ },
16
+ "remote_bic" : {
17
+ "description" : "BIC of the transfer sender",
18
+ "readOnly" : true,
19
+ "type" : "string"
20
+ },
21
+ "remote_iban" : {
22
+ "description" : "IBAN of the transfer sender",
23
+ "readOnly" : true,
24
+ "type" : "string"
25
+ },
26
+ "remote_name" : {
27
+ "description" : "Full name of the transfer sender",
28
+ "readOnly" : true,
29
+ "type" : "string"
30
+ },
31
+ "remote_nick" : {
32
+ "description" : "Community nickname of the transfer sender",
33
+ "readOnly" : true,
34
+ "type" : "string"
35
+ },
36
+ "remote_subject" : {
37
+ "description" : "Subject of the transaction",
38
+ "readOnly" : true,
39
+ "type" : "string"
40
+ }
41
+ }
42
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "$schema" : "http://json-schema.org/draft-04/schema#",
3
+ "type" : "object",
4
+ "title" : "ripple_details",
5
+ "description" : "Ripple transfer related preauthorization details",
6
+ "properties" : {
7
+ }
8
+ }