Bug 16330: Add routes to add, update and delete patrons
[koha.git] / api / v1 / swagger / definitions / patron.json
1 {
2   "type": "object",
3   "properties": {
4     "borrowernumber": {
5       "$ref": "../x-primitives.json#/borrowernumber"
6     },
7     "cardnumber": {
8       "$ref": "../x-primitives.json#/cardnumber"
9     },
10     "surname": {
11       "$ref": "../x-primitives.json#/surname"
12     },
13     "firstname": {
14       "$ref": "../x-primitives.json#/firstname"
15     },
16     "title": {
17       "type": ["string", "null"],
18       "description": "patron's title"
19     },
20     "othernames": {
21       "type": ["string", "null"],
22       "description": "any other names associated with the patron"
23     },
24     "initials": {
25       "type": ["string", "null"],
26       "description": "initials of the patron"
27     },
28     "streetnumber": {
29       "type": ["string", "null"],
30       "description": "street number of patron's primary address"
31     },
32     "streettype": {
33       "type": ["string", "null"],
34       "description": "street type of patron's primary address"
35     },
36     "address": {
37       "type": ["string", "null"],
38       "description": "first address line of patron's primary address"
39     },
40     "address2": {
41       "type": ["string", "null"],
42       "description": "second address line of patron's primary address"
43     },
44     "city": {
45       "type": ["string", "null"],
46       "description": "city or town of patron's primary address"
47     },
48     "state": {
49       "type": ["string", "null"],
50       "description": "state or province of patron's primary address"
51     },
52     "zipcode": {
53       "type": ["string", "null"],
54       "description": "zip or postal code of patron's primary address"
55     },
56     "country": {
57       "type": ["string", "null"],
58       "description": "country of patron's primary address"
59     },
60     "email": {
61       "$ref": "../x-primitives.json#/email"
62     },
63     "phone": {
64       "$ref": "../x-primitives.json#/phone"
65     },
66     "mobile": {
67       "type": ["string", "null"],
68       "description": "the other phone number for patron's primary address"
69     },
70     "fax": {
71       "type": ["string", "null"],
72       "description": "fax number for patron's primary address"
73     },
74     "emailpro": {
75       "type": ["string", "null"],
76       "description": "secondary email address for patron's primary address"
77     },
78     "phonepro": {
79       "type": ["string", "null"],
80       "description": "secondary phone number for patron's primary address"
81     },
82     "B_streetnumber": {
83       "type": ["string", "null"],
84       "description": "street number of patron's alternate address"
85     },
86     "B_streettype": {
87       "type": ["string", "null"],
88       "description": "street type of patron's alternate address"
89     },
90     "B_address": {
91       "type": ["string", "null"],
92       "description": "first address line of patron's alternate address"
93     },
94     "B_address2": {
95       "type": ["string", "null"],
96       "description": "second address line of patron's alternate address"
97     },
98     "B_city": {
99       "type": ["string", "null"],
100       "description": "city or town of patron's alternate address"
101     },
102     "B_state": {
103       "type": ["string", "null"],
104       "description": "state or province of patron's alternate address"
105     },
106     "B_zipcode": {
107       "type": ["string", "null"],
108       "description": "zip or postal code of patron's alternate address"
109     },
110     "B_country": {
111       "type": ["string", "null"],
112       "description": "country of patron's alternate address"
113     },
114     "B_email": {
115       "type": ["string", "null"],
116       "description": "email address for patron's alternate address"
117     },
118     "B_phone": {
119       "type": ["string", "null"],
120       "description": "phone number for patron's alternate address"
121     },
122     "dateofbirth": {
123       "type": ["string", "null"],
124       "format": "date",
125       "description": "patron's date of birth"
126     },
127     "branchcode": {
128       "type": "string",
129       "description": "code of patron's home branch"
130     },
131     "categorycode": {
132       "type": "string",
133       "description": "code of patron's category"
134     },
135     "dateenrolled": {
136       "type": ["string", "null"],
137       "format": "date",
138       "description": "date the patron was added to Koha"
139     },
140     "dateexpiry": {
141       "type": ["string", "null"],
142       "format": "date",
143       "description": "date the patron's card is set to expire"
144     },
145     "date_renewed": {
146       "type": ["string", "null"],
147       "description": "date the patron's card was last renewed"
148     },
149     "gonenoaddress": {
150       "type": ["boolean", "null"],
151       "description": "set to 1 if library marked this patron as having an unconfirmed address"
152     },
153     "lost": {
154       "type": ["boolean", "null"],
155       "description": "set to 1 if library marked this patron as having lost his card"
156     },
157     "debarred": {
158       "type": ["string", "null"],
159       "format": "date",
160       "description": "until this date the patron can only check-in"
161     },
162     "debarredcomment": {
163       "type": ["string", "null"],
164       "description": "comment on the stop of the patron"
165     },
166     "contactname": {
167       "type": ["string", "null"],
168       "description": "used for children and professionals to include surname or last name of guarantor or organization name"
169     },
170     "contactfirstname": {
171       "type": ["string", "null"],
172       "description": "used for children to include first name of guarantor"
173     },
174     "contacttitle": {
175       "type": ["string", "null"],
176       "description": "used for children to include title of guarantor"
177     },
178     "guarantorid": {
179       "type": ["integer", "null"],
180       "description": "borrowernumber used for children or professionals to link them to guarantor or organizations"
181     },
182     "borrowernotes": {
183       "type": ["string", "null"],
184       "description": "a note on the patron's account"
185     },
186     "relationship": {
187       "type": ["string", "null"],
188       "description": "used for children to include the relationship to their guarantor"
189     },
190     "sex": {
191       "type": ["string", "null"],
192       "description": "patron's gender"
193     },
194     "password": {
195       "type": ["string", "null"],
196       "description": "patron's encrypted password"
197     },
198     "flags": {
199       "type": ["integer", "null"],
200       "description": "a number associated with the patron's permissions"
201     },
202     "userid": {
203       "type": ["string", "null"],
204       "description": "patron's login"
205     },
206     "opacnote": {
207       "type": ["string", "null"],
208       "description": "a note on the patron's account visible in OPAC and staff client"
209     },
210     "contactnote": {
211       "type": ["string", "null"],
212       "description": "a note related to patron's alternate address"
213     },
214     "sort1": {
215       "type": ["string", "null"],
216       "description": "a field that can be used for any information unique to the library"
217     },
218     "sort2": {
219       "type": ["string", "null"],
220       "description": "a field that can be used for any information unique to the library"
221     },
222     "altcontactfirstname": {
223       "type": ["string", "null"],
224       "description": "first name of alternate contact for the patron"
225     },
226     "altcontactsurname": {
227       "type": ["string", "null"],
228       "description": "surname or last name of the alternate contact for the patron"
229     },
230     "altcontactaddress1": {
231       "type": ["string", "null"],
232       "description": "the first address line for the alternate contact for the patron"
233     },
234     "altcontactaddress2": {
235       "type": ["string", "null"],
236       "description": "the second address line for the alternate contact for the patron"
237     },
238     "altcontactaddress3": {
239       "type": ["string", "null"],
240       "description": "the city for the alternate contact for the patron"
241     },
242     "altcontactstate": {
243       "type": ["string", "null"],
244       "description": "the state for the alternate contact for the patron"
245     },
246     "altcontactzipcode": {
247       "type": ["string", "null"],
248       "description": "the zipcode for the alternate contact for the patron"
249     },
250     "altcontactcountry": {
251       "type": ["string", "null"],
252       "description": "the country for the alternate contact for the patron"
253     },
254     "altcontactphone": {
255       "type": ["string", "null"],
256       "description": "the phone number for the alternate contact for the patron"
257     },
258     "smsalertnumber": {
259       "type": ["string", "null"],
260       "description": "the mobile phone number where the patron would like to receive notices (if SMS turned on)"
261     },
262     "sms_provider_id": {
263       "type": ["integer", "null"],
264       "description": "the provider of the mobile phone number defined in smsalertnumber"
265     },
266     "privacy": {
267       "type": "integer",
268       "description": "patron's privacy settings related to their reading history"
269     },
270     "privacy_guarantor_checkouts": {
271       "type": "integer",
272       "description": "controls if relatives can see this patron's checkouts"
273     },
274     "checkprevcheckout": {
275       "type": "string",
276       "description": "produce a warning for this patron if this item has previously been checked out to this patron if 'yes', not if 'no', defer to category setting if 'inherit'"
277     },
278     "updated_on": {
279       "type": "string",
280       "format": "date-time",
281       "description": "time of last change could be useful for synchronization with external systems (among others)"
282     },
283     "lastseen": {
284       "type": ["string", "null"],
285       "format": "date-time",
286       "description": "last time a patron has been seen (connected at the OPAC or staff interface)"
287     },
288     "lang": {
289       "type": "string",
290       "description": "lang to use to send notices to this patron"
291     },
292     "login_attempts": {
293       "type": ["integer", "null"],
294       "description": "number of failed login attemps"
295     },
296     "overdrive_auth_token": {
297       "type": ["string", "null"],
298       "description": "persist OverDrive auth token"
299     }
300   },
301   "additionalProperties": false,
302   "required": ["surname", "address", "city", "branchcode", "categorycode"]
303 }