View | Details | Raw Unified | Return to bug 16826
Collapse All | Expand All

(-)a/api/v1/swagger/definitions.json (+9 lines)
Lines 1-4 Link Here
1
{
1
{
2
  "availability": {
3
    "$ref": "definitions/availability.json"
4
  },
5
  "availability/biblio": {
6
    "$ref": "definitions/availability/biblio.json"
7
  },
8
  "availability/item": {
9
    "$ref": "definitions/availability/item.json"
10
  },
2
  "city": {
11
  "city": {
3
    "$ref": "definitions/city.json"
12
    "$ref": "definitions/city.json"
4
  },
13
  },
(-)a/api/v1/swagger/definitions/availability.json (+18 lines)
Line 0 Link Here
1
{
2
  "type": "object",
3
  "properties": {
4
    "available": {
5
      "type": "boolean",
6
      "description": "Availability status"
7
    },
8
    "confirmations": {
9
      "$ref": "./availability/reason.json"
10
    },
11
    "notes": {
12
      "$ref": "./availability/reason.json"
13
    },
14
    "unavailabilities": {
15
      "$ref": "./availability/reason.json"
16
    }
17
  }
18
}
(-)a/api/v1/swagger/definitions/availability/biblio.json (+19 lines)
Line 0 Link Here
1
{
2
  "type": "object",
3
  "properties": {
4
    "biblionumber": {
5
      "type": "integer",
6
      "description": "Internal biblio identifier"
7
    },
8
    "availability": {
9
      "$ref": "../availability.json"
10
    },
11
    "item_availabilities": {
12
      "description": "Availability of each item in this biblio",
13
      "type": ["array", "null"],
14
      "items": {
15
        "$ref": "../availability/item.json"
16
      }
17
    }
18
  }
19
}
(-)a/api/v1/swagger/definitions/availability/item.json (+52 lines)
Line 0 Link Here
1
{
2
  "type": "object",
3
  "properties": {
4
    "availability": {
5
      "$ref": "../availability.json"
6
    },
7
    "barcode": {
8
      "type": ["string", "null"],
9
      "description": "item barcode"
10
    },
11
    "biblioitemnumber": {
12
      "type": "integer",
13
      "description": "internally assigned biblio item identifier"
14
    },
15
    "biblionumber": {
16
      "type": "integer",
17
      "description": "internally assigned biblio identifier"
18
    },
19
    "enumchron": {
20
      "type": ["string", "null"],
21
      "description": "serial enumeration/chronology for the item"
22
    },
23
    "holdQueueLength": {
24
      "type": ["integer", "null"],
25
      "description": "number of holdings placed on title/item"
26
    },
27
    "holdingbranch": {
28
      "type": ["string", "null"],
29
      "description": "library that is currently in possession item"
30
    },
31
    "homebranch": {
32
      "type": ["string", "null"],
33
      "description": "library that owns this item"
34
    },
35
    "itemcallnumber": {
36
      "type": ["string", "null"],
37
      "description": "call number for this item"
38
    },
39
    "itemnotes": {
40
      "type": ["string", "null"],
41
      "description": "public notes on this item"
42
    },
43
    "itemnumber": {
44
      "type": "integer",
45
      "description": "internally assigned item identifier"
46
    },
47
    "location": {
48
      "type": ["string", "null"],
49
      "description": "authorized value for the shelving location for this item"
50
    }
51
  }
52
}
(-)a/api/v1/swagger/definitions/availability/reason.json (+397 lines)
Line 0 Link Here
1
{
2
  "description": "An object that contains either none or multiple reasons defined in this object's specification.",
3
  "type": "object",
4
  "properties": {
5
    "Biblio::CheckedOut": {
6
      "description": "Patron has already checked out an item from this biblio. A confirmation may be required.",
7
      "type": "object",
8
      "properties": {
9
        "biblionumber": {
10
          "$ref": "../../x-primitives.json#/biblionumber"
11
        }
12
      }
13
    },
14
    "Biblio::NoAvailableItems": {
15
      "description": "This biblio has no available items.",
16
      "type": "object",
17
      "properties": {}
18
    },
19
    "Checkout::DueDateBeforeNow": {
20
      "description": "Given due date is in the past.",
21
      "type": "object",
22
      "properties": {
23
        "duedate": {
24
          "type": ["string", "null"]
25
        },
26
        "now": {
27
          "type": ["string", "null"]
28
        }
29
      }
30
    },
31
    "Checkout::Fee": {
32
      "description": "Checkout fee will apply.",
33
      "type": "object",
34
      "properties": {
35
        "amount": {
36
          "type": ["number", "null"],
37
          "description": "Amount of rental charge."
38
        }
39
      }
40
    },
41
    "Checkout::InvalidDueDate": {
42
      "description": "Given due date is invalid.",
43
      "type": "object",
44
      "properties": {
45
        "duedate": {
46
          "type": ["string", "null"]
47
        }
48
      }
49
    },
50
    "Checkout::MaximumCheckoutsReached": {
51
      "description": "Maximum number of checkouts have been reached.",
52
      "type": "object",
53
      "properties": {
54
        "max_checkouts_allowed": {
55
          "type": ["integer", "null"],
56
          "description": "Maximum number of checkouts allowed."
57
        },
58
        "current_checkout_count": {
59
          "type": ["integer", "null"],
60
          "description": "Current checkout count for patron."
61
        }
62
      }
63
    },
64
    "Checkout::MaximumOnsiteCheckoutsReached": {
65
      "description": "Maximum number of on-site checkouts have been reached.",
66
      "type": "object",
67
      "properties": {
68
        "max_onsite_checkouts": {
69
          "type": ["integer", "null"],
70
          "description": "Maximum number of onsite checkouts allowed."
71
        },
72
        "current_onsite_checkouts": {
73
          "type": ["integer", "null"],
74
          "description": "Current onsite checkout count for patron."
75
        }
76
      }
77
    },
78
    "Checkout::NoMoreRenewals": {
79
      "description": "No more renewals allowed.",
80
      "type": "object",
81
      "properties": {}
82
    },
83
    "Checkout::NoMoreRenewalForOnsiteCheckouts": {
84
      "description": "No more on-site renewals allowed.",
85
      "type": "object",
86
      "properties": {}
87
    },
88
    "Checkout::OnsiteCheckoutsDisabled": {
89
      "description": "On-site checkouts are disabled.",
90
      "type": "object",
91
      "properties": {}
92
    },
93
    "Checkout::Renew": {
94
      "description": "Checkout will be renewed.",
95
      "type": "object",
96
      "properties": {}
97
    },
98
    "Checkout::ZeroCheckoutsAllowed": {
99
      "description": "Allowed number of checkouts is zero.",
100
      "type": "object",
101
      "properties": {}
102
    },
103
    "Hold::ItemLevelHoldNotAllowed": {
104
      "description": "Item-level holds are not allowed.",
105
      "type": "object",
106
      "properties": {}
107
    },
108
    "Hold::MaximumHoldsReached": {
109
      "description": "Maximum number of holds have been reached.",
110
      "type": "object",
111
      "properties": {
112
        "max_holds_allowed": {
113
          "type": ["integer", "null"]
114
        },
115
        "current_hold_count": {
116
          "type": ["integer", "null"]
117
        }
118
      }
119
    },
120
    "Hold::MaximumHoldsForThisRecordReached": {
121
      "description": "Maximum number of holds for this record have been reached.",
122
      "type": "object",
123
      "properties": {
124
        "max_holds_allowed": {
125
          "type": ["integer", "null"]
126
        },
127
        "current_hold_count": {
128
          "type": ["integer", "null"]
129
        }
130
      }
131
    },
132
    "Hold::NotAllowedByLibrary": {
133
      "description": "Library does not allow holds to be placed.",
134
      "type": "object",
135
      "properties": {}
136
    },
137
    "Hold::NotAllowedFromOtherLibraries": {
138
      "description": "Holds are not allowed from other libraries.",
139
      "type": "object",
140
      "properties": {}
141
    },
142
    "Hold::NotAllowedInOPAC": {
143
      "description": "Patron cannot place a hold by themselves in OPAC.",
144
      "type": "object",
145
      "properties": {}
146
    },
147
    "Hold::OnShelfNotAllowed": {
148
      "description": "On-shelf holds are not allowed.",
149
      "type": "object",
150
      "properties": {}
151
    },
152
    "Hold::ZeroHoldsAllowed": {
153
      "description": "Allowed number of holds is zero.",
154
      "type": "object",
155
      "properties": {}
156
    },
157
    "Item::AlreadyHeldForThisPatron": {
158
      "description": "Item is held for this patron.",
159
      "type": "object",
160
      "properties": {}
161
    },
162
    "Item::CannotBeTransferred": {
163
      "description": "Item cannot be transferred.",
164
      "type": "object",
165
      "properties": {
166
        "from_library": {
167
          "$ref": "../../x-primitives.json#/branchcode"
168
        },
169
        "to_library": {
170
          "$ref": "../../x-primitives.json#/branchcode"
171
        }
172
      }
173
    },
174
    "Item::CheckedOut": {
175
      "description": "Item is checked out to a patron.",
176
      "type": "object",
177
      "properties": {
178
        "borrowernumber": {
179
          "type": ["integer", "null"]
180
        },
181
        "date_due": {
182
          "type": ["string", "null"]
183
        }
184
      }
185
    },
186
    "Item::Damaged": {
187
      "description": "Item is marked as damaged",
188
      "type": "object",
189
      "properties": {}
190
    },
191
    "Item::FromAnotherLibrary": {
192
      "description": "Libraries are independent and this item is from another library than current patron.",
193
      "type": "object",
194
      "properties": {
195
        "itemhomebranch": {
196
          "$ref": "../../x-primitives.json#/branchcode"
197
        }
198
      }
199
    },
200
    "Item::Held": {
201
      "description": "Someone has placed a hold on this item.",
202
      "type": "object",
203
      "properties": {
204
        "borrowernumber": {
205
          "$ref": "../../x-primitives.json#/borrowernumber"
206
        },
207
        "status": {
208
          "type": ["string", "null"]
209
        },
210
        "hold_queue_length": {
211
          "type": ["integer", "null"]
212
        }
213
      }
214
    },
215
    "Item::HighHolds": {
216
      "description": "Loan period shortened for high held item.",
217
      "type": "object",
218
      "properties": {
219
        "num_holds": {
220
          "type": ["integer", "null"]
221
        },
222
        "duration": {
223
          "type": ["string", "null"]
224
        },
225
        "returndate": {
226
          "type": ["string", "null"]
227
        }
228
      }
229
    },
230
    "Item::Lost": {
231
      "description": "Item is marked as lost.",
232
      "type": "object",
233
      "properties": {
234
        "code": {
235
          "description": "Status description (e.g. Missing)",
236
          "type": ["string", "null"]
237
        },
238
        "status": {
239
          "description": "Item's lost status number",
240
          "type": ["integer", "null"]
241
        }
242
      }
243
    },
244
    "Item::NotForLoan": {
245
      "description": "Item is not for loan.",
246
      "type": "object",
247
      "properties": {
248
        "status": {
249
          "description": "Item's notforloan status number",
250
          "type": ["integer", "null"]
251
        },
252
        "code": {
253
          "description": "Status description (e.g. Ordered)",
254
          "type": ["string", "null"]
255
        }
256
      }
257
    },
258
    "Item::Restricted": {
259
      "description": "Item is restricted.",
260
      "type": "object",
261
      "properties": {}
262
    },
263
    "Item::Transfer": {
264
      "description": "Item is being transferred.",
265
      "type": "object",
266
      "properties": {
267
        "from_library": {
268
          "$ref": "../../x-primitives.json#/branchcode"
269
        },
270
        "to_library": {
271
          "$ref": "../../x-primitives.json#/branchcode"
272
        },
273
        "datesent": {
274
          "description": "Start date of transfer",
275
          "type": ["string", "null"]
276
        }
277
      }
278
    },
279
    "Item::UnknownBarcode": {
280
      "description": "This item has either an unknown barcode or no barcode at all.",
281
      "type": "object",
282
      "properties": {
283
        "barcode": {
284
          "type": ["string", "null"]
285
        }
286
      }
287
    },
288
    "Item::Withdrawn": {
289
      "description": "Item is withdrawn.",
290
      "type": "object",
291
      "properties": {}
292
    },
293
    "ItemType::NotForLoan": {
294
      "description": "Item type is not for loan.",
295
      "type": "object",
296
      "properties": {
297
        "status": {
298
          "description": "Item's notforloan status number",
299
          "type": ["integer", "null"]
300
        },
301
        "code": {
302
          "description": "Status description (e.g. Ordered)",
303
          "type": ["string", "null"]
304
        },
305
        "itemtype": {
306
          "description": "Item type",
307
          "type": ["string", "null"]
308
        }
309
      }
310
    },
311
    "Patron::AgeRestricted": {
312
      "description": "An age restriction applies for this patron.",
313
      "type": "object",
314
      "properties": {
315
        "age_restriction": {
316
          "type": ["string", "null"],
317
          "description": "Age restriction, e.g. PEGI 16"
318
        }
319
      }
320
    },
321
    "Patron::CardExpired": {
322
      "description": "Patron's card has been expired.",
323
      "type": "object",
324
      "properties": {
325
        "expiration_date": {
326
          "type": ["string", "null"]
327
        }
328
      }
329
    },
330
    "Patron::CardLost": {
331
      "description": "Patron's card has been marked as lost.",
332
      "type": "object",
333
      "properties": {}
334
    },
335
    "Patron::Debarred": {
336
      "description": "Patron is debarred.",
337
      "type": "object",
338
      "properties": {
339
        "expiration_date": {
340
          "type": ["string", "null"]
341
        },
342
        "comment": {
343
          "type": ["string", "null"]
344
        }
345
      }
346
    },
347
    "Patron::DebarredOverdue": {
348
      "description": "Patron has overdues and is debarred.",
349
      "type": "object",
350
      "properties": {
351
        "number_of_overdues": {
352
          "type": ["integer", "null"]
353
        }
354
      }
355
    },
356
    "Patron::Debt": {
357
      "description": "Patron's debts exceed maximum allowed amount.",
358
      "type": "object",
359
      "properties": {
360
        "max_outstanding":{
361
          "type": ["number", "null"]
362
        },
363
        "current_outstanding": {
364
          "type": ["number", "null"]
365
        }
366
      }
367
    },
368
    "Patron::DebtGuarantees": {
369
      "description": "Patron's guarantees' debts exceed maximum allowed amount.",
370
      "type": "object",
371
      "properties": {
372
        "max_outstanding":{
373
          "type": ["number", "null"]
374
        },
375
        "current_outstanding": {
376
          "type": ["number", "null"]
377
        }
378
      }
379
    },
380
    "Patron::FromAnotherLibrary": {
381
      "description": "Libraries are independent and patron is from another library than current logged in user.",
382
      "type": "object",
383
      "properties": {
384
        "patron_branch": {
385
          "$ref": "../../x-primitives.json#/branchcode"
386
        },
387
        "current_branch": {
388
          "$ref": "../../x-primitives.json#/branchcode"
389
        }
390
      }
391
    },
392
    "Patron::GoneNoAddress": {
393
      "type": "object",
394
      "properties": {}
395
    }
396
  }
397
}
(-)a/api/v1/swagger/parameters.json (+9 lines)
Lines 1-10 Link Here
1
{
1
{
2
  "biblionumbersQueryParam": {
3
    "$ref": "parameters/biblio.json#/biblionumbersQueryParam"
4
  },
2
  "borrowernumberPathParam": {
5
  "borrowernumberPathParam": {
3
    "$ref": "parameters/patron.json#/borrowernumberPathParam"
6
    "$ref": "parameters/patron.json#/borrowernumberPathParam"
4
  },
7
  },
5
  "borrowernumberQueryParam": {
8
  "borrowernumberQueryParam": {
6
    "$ref": "parameters/patron.json#/borrowernumberQueryParam"
9
    "$ref": "parameters/patron.json#/borrowernumberQueryParam"
7
  },
10
  },
11
  "branchcodeQueryParam": {
12
    "$ref": "parameters/library.json#/branchcodeQueryParam"
13
  },
8
  "cityidPathParam": {
14
  "cityidPathParam": {
9
    "$ref": "parameters/city.json#/cityidPathParam"
15
    "$ref": "parameters/city.json#/cityidPathParam"
10
  },
16
  },
Lines 13-17 Link Here
13
  },
19
  },
14
  "itemnumberPathParam": {
20
  "itemnumberPathParam": {
15
    "$ref": "parameters/item.json#/itemnumberPathParam"
21
    "$ref": "parameters/item.json#/itemnumberPathParam"
22
  },
23
  "itemnumbersQueryParam": {
24
    "$ref": "parameters/item.json#/itemnumbersQueryParam"
16
  }
25
  }
17
}
26
}
(-)a/api/v1/swagger/parameters/biblio.json (+12 lines)
Line 0 Link Here
1
{
2
  "biblionumbersQueryParam": {
3
    "name": "biblionumber",
4
    "in": "query",
5
    "description": "Internal biblios identifier",
6
    "type": "array",
7
    "items": {
8
      "type": "integer"
9
    },
10
    "collectionFormat": "ssv"
11
  }
12
}
(-)a/api/v1/swagger/parameters/item.json (+10 lines)
Lines 5-9 Link Here
5
    "description": "Internal item identifier",
5
    "description": "Internal item identifier",
6
    "required": true,
6
    "required": true,
7
    "type": "integer"
7
    "type": "integer"
8
  },
9
  "itemnumbersQueryParam": {
10
    "name": "itemnumber",
11
    "in": "query",
12
    "description": "Internal items identifier",
13
    "type": "array",
14
    "items": {
15
      "type": "integer"
16
    },
17
    "collectionFormat": "ssv"
8
  }
18
  }
9
}
19
}
(-)a/api/v1/swagger/parameters/library.json (+8 lines)
Line 0 Link Here
1
{
2
  "branchcodeQueryParam": {
3
    "name": "branchcode",
4
    "in": "query",
5
    "description": "Branch identifier code",
6
    "type": "string"
7
  }
8
}
(-)a/api/v1/swagger/paths.json (+15 lines)
Lines 1-4 Link Here
1
{
1
{
2
  "/availability/biblio/hold": {
3
    "$ref": "paths/availability.json#/~1availability~1biblio~1hold"
4
  },
5
  "/availability/biblio/search": {
6
    "$ref": "paths/availability.json#/~1availability~1biblio~1search"
7
  },
8
  "/availability/item/checkout": {
9
    "$ref": "paths/availability.json#/~1availability~1item~1checkout"
10
  },
11
  "/availability/item/hold": {
12
    "$ref": "paths/availability.json#/~1availability~1item~1hold"
13
  },
14
  "/availability/item/search": {
15
    "$ref": "paths/availability.json#/~1availability~1item~1search"
16
  },
2
  "/cities": {
17
  "/cities": {
3
    "$ref": "paths/cities.json#/~1cities"
18
    "$ref": "paths/cities.json#/~1cities"
4
  },
19
  },
(-)a/api/v1/swagger/paths/availability.json (+203 lines)
Line 0 Link Here
1
{
2
  "/availability/biblio/hold": {
3
    "get": {
4
      "operationId": "holdBiblioAvailability",
5
      "tags": ["items", "availability"],
6
      "parameters": [
7
        { "$ref": "../parameters.json#/biblionumbersQueryParam" },
8
        { "$ref": "../parameters.json#/borrowernumberQueryParam" },
9
        { "$ref": "../parameters.json#/branchcodeQueryParam"}
10
      ],
11
      "consumes": ["application/json"],
12
      "produces": ["application/json"],
13
      "responses": {
14
        "200": {
15
          "description": "Hold availability information for items of biblio.",
16
          "schema": {
17
            "type": "array",
18
            "items": { "$ref": "../definitions.json#/availability~1biblio" }
19
          }
20
        },
21
        "400": {
22
          "description": "Missing or invalid parameters",
23
          "schema": {
24
            "$ref": "../definitions.json#/error"
25
          }
26
        },
27
        "401": {
28
          "description": "Authentication required",
29
          "schema": {
30
            "$ref": "../definitions.json#/error"
31
          }
32
        },
33
        "403": {
34
          "description": "Forbidden",
35
          "schema": {
36
            "$ref": "../definitions.json#/error"
37
          }
38
        },
39
        "500": {
40
          "description": "Internal server error",
41
          "schema": {
42
            "$ref": "../definitions.json#/error"
43
          }
44
        }
45
      }
46
    }
47
  },
48
  "/availability/biblio/search": {
49
    "get": {
50
      "operationId": "searchBiblioAvailability",
51
      "tags": ["items", "availability"],
52
      "parameters": [
53
        { "$ref": "../parameters.json#/biblionumbersQueryParam" }
54
      ],
55
      "consumes": ["application/json"],
56
      "produces": ["application/json"],
57
      "responses": {
58
        "200": {
59
          "description": "Availability information in search context for items of biblio.",
60
          "schema": {
61
            "type": "array",
62
            "items": { "$ref": "../definitions.json#/availability~1biblio" }
63
          }
64
        },
65
        "400": {
66
          "description": "Missing or invalid parameters",
67
          "schema": {
68
            "$ref": "../definitions.json#/error"
69
          }
70
        },
71
        "500": {
72
          "description": "Internal server error",
73
          "schema": {
74
            "$ref": "../definitions.json#/error"
75
          }
76
        }
77
      }
78
    }
79
  },
80
  "/availability/item/checkout": {
81
    "get": {
82
      "operationId": "checkoutItemAvailability",
83
      "tags": ["items", "availability"],
84
      "parameters": [
85
        { "$ref": "../parameters.json#/itemnumbersQueryParam" },
86
        { "$ref": "../parameters.json#/borrowernumberQueryParam" }
87
      ],
88
      "consumes": ["application/json"],
89
      "produces": ["application/json"],
90
      "responses": {
91
        "200": {
92
          "description": "Checkout availability information for specific item(s).",
93
          "schema": {
94
            "type": "array",
95
            "items": { "$ref": "../definitions.json#/availability~1item" }
96
          }
97
        },
98
        "400": {
99
          "description": "Missing or invalid parameters",
100
          "schema": {
101
            "$ref": "../definitions.json#/error"
102
          }
103
        },
104
        "401": {
105
          "description": "Authentication required",
106
          "schema": {
107
            "$ref": "../definitions.json#/error"
108
          }
109
        },
110
        "403": {
111
          "description": "Forbidden",
112
          "schema": {
113
            "$ref": "../definitions.json#/error"
114
          }
115
        },
116
        "500": {
117
          "description": "Internal server error",
118
          "schema": {
119
            "$ref": "../definitions.json#/error"
120
          }
121
        }
122
      }
123
    }
124
  },
125
  "/availability/item/hold": {
126
    "get": {
127
      "operationId": "holdItemAvailability",
128
      "tags": ["items", "availability"],
129
      "parameters": [
130
        { "$ref": "../parameters.json#/itemnumbersQueryParam" },
131
        { "$ref": "../parameters.json#/borrowernumberQueryParam" },
132
        { "$ref": "../parameters.json#/branchcodeQueryParam"}
133
      ],
134
      "consumes": ["application/json"],
135
      "produces": ["application/json"],
136
      "responses": {
137
        "200": {
138
          "description": "Hold availability information for specific item(s).",
139
          "schema": {
140
            "type": "array",
141
            "items": { "$ref": "../definitions.json#/availability~1item" }
142
          }
143
        },
144
        "400": {
145
          "description": "Missing or invalid parameters",
146
          "schema": {
147
            "$ref": "../definitions.json#/error"
148
          }
149
        },
150
        "401": {
151
          "description": "Authentication required",
152
          "schema": {
153
            "$ref": "../definitions.json#/error"
154
          }
155
        },
156
        "403": {
157
          "description": "Forbidden",
158
          "schema": {
159
            "$ref": "../definitions.json#/error"
160
          }
161
        },
162
        "500": {
163
          "description": "Internal server error",
164
          "schema": {
165
            "$ref": "../definitions.json#/error"
166
          }
167
        }
168
      }
169
    }
170
  },
171
  "/availability/item/search": {
172
    "get": {
173
      "operationId": "searchItemAvailability",
174
      "tags": ["items", "availability"],
175
      "parameters": [
176
        { "$ref": "../parameters.json#/itemnumbersQueryParam" }
177
      ],
178
      "consumes": ["application/json"],
179
      "produces": ["application/json"],
180
      "responses": {
181
        "200": {
182
          "description": "Availability information in search context for specific item(s).",
183
          "schema": {
184
            "type": "array",
185
            "items": { "$ref": "../definitions.json#/availability~1item" }
186
          }
187
        },
188
        "400": {
189
          "description": "Missing or invalid parameters",
190
          "schema": {
191
            "$ref": "../definitions.json#/error"
192
          }
193
        },
194
        "500": {
195
          "description": "Internal server error",
196
          "schema": {
197
            "$ref": "../definitions.json#/error"
198
          }
199
        }
200
      }
201
    }
202
  }
203
}
(-)a/api/v1/swagger/x-primitives.json (-1 / +4 lines)
Lines 7-12 Link Here
7
    "type": "integer",
7
    "type": "integer",
8
    "description": "internally assigned user identifier"
8
    "description": "internally assigned user identifier"
9
  },
9
  },
10
  "branchcode": {
11
    "type": "string",
12
    "description": "a unique key assigned to each branch"
13
  },
10
  "cardnumber": {
14
  "cardnumber": {
11
    "type": ["string", "null"],
15
    "type": ["string", "null"],
12
    "description": "library assigned user identifier"
16
    "description": "library assigned user identifier"
13
- 

Return to bug 16826