alma 0.2.1 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f6514577bde1155ebeaac6f1c1b0b6e18c615b32
4
- data.tar.gz: 8fbceca83bc75f49fc1aa5890c84ce1c9b8944ec
3
+ metadata.gz: 316ebba20b5a706207cddb4ee76d9d251818962e
4
+ data.tar.gz: 12e04c4098d691b638db38bc1c3069bb429ae928
5
5
  SHA512:
6
- metadata.gz: 30f11ef82444e7cbf6a581cd7ad8adbad12d795f67396331663cac62c2da58e873b043e8e5078c6163103fbc3b2363a139ddaf8dad0513b45ddf34caa01c01f0
7
- data.tar.gz: c450a1b9be6e4c603b836d4b879fba1c90eee5d815fb2d98b8a8230038efbd10bdb7f5fb016f0694763d5c55753365f32b3b510ad482aac6966a69aee3d0a7d6
6
+ metadata.gz: 412d40632aab83eb6f04aaaadef075bc459ce9857843ca0b9fcf5f41ce4943804b6c4045ce47b12e0283ed49132e0d658cfe04599a3367a71ab87565fdd208c1
7
+ data.tar.gz: df34319fded3aab0bc210c3aab996837b501d32a20003fd1219b9a341880dfdff6f1bd048bb957e2b6ab6e19d303f2e6a68b3fba0283c20ac4c01f45e3bd770a
@@ -1,20 +1,59 @@
1
1
  require 'alma/version'
2
2
  require 'alma/config'
3
3
  require 'alma/api'
4
+ require 'alma/error'
4
5
  require 'alma/alma_record'
5
6
  require 'alma/user'
7
+ require 'alma/bib'
6
8
  require 'alma/loan'
7
9
  require 'alma/result_set'
8
10
  require 'alma/loan_set'
9
11
  require 'alma/user_set'
10
12
  require 'alma/fine_set'
11
13
  require 'alma/user_set'
14
+ require 'alma/bib_set'
12
15
  require 'alma/request_set'
13
16
  require 'alma/renewal_response'
17
+ require 'alma/availability_response'
14
18
 
15
19
  module Alma
16
20
 
17
21
  ROOT = File.dirname __dir__
18
22
  WADL_DIR = File.join(Alma::ROOT, 'lib','alma','wadl')
19
23
 
24
+ INVENTORY_TO_SUBFIELD_TO_FIELDNAME =
25
+ {
26
+ 'AVA' => {
27
+ 'INVENTORY_TYPE' => 'physical',
28
+ 'a' => 'institution',
29
+ 'b' => 'library_code',
30
+ 'c' => 'location',
31
+ 'd' => 'call_number',
32
+ 'e' => 'availability',
33
+ 'f' => 'total_items',
34
+ 'g' => 'non_available_items',
35
+ 'j' => 'location_code',
36
+ 'k' => 'call_number_type',
37
+ 'p' => 'priority',
38
+ 'q' => 'library',
39
+ },
40
+ 'AVD' => {
41
+ 'INVENTORY_TYPE' => 'digital',
42
+ 'a' => 'institution',
43
+ 'b' => 'representations_id',
44
+ 'c' => 'representation',
45
+ 'd' => 'repository_name',
46
+ 'e' => 'label',
47
+ },
48
+ 'AVE' => {
49
+ 'INVENTORY_TYPE' => 'electronic',
50
+ 'l' => 'library_code',
51
+ 'm' => 'collection',
52
+ 'n' => 'public_note',
53
+ 's' => 'coverage_statement',
54
+ 't' => 'interface_name',
55
+ 'u' => 'link_to_service_page',
56
+ }
57
+ }
58
+
20
59
  end
@@ -0,0 +1,50 @@
1
+ module Alma
2
+ class AvailabilityResponse
3
+
4
+
5
+ attr_accessor :availability
6
+
7
+ def initialize(response)
8
+ @availability = parse_bibs_data(response.list)
9
+
10
+ end
11
+
12
+ def parse_bibs_data(bibs)
13
+
14
+ bibs.map do |bib|
15
+ record = Hash.new
16
+
17
+ record['mms_id'] = bib.id
18
+ record['holdings'] = build_holdings_for(bib)
19
+
20
+ record
21
+ end.reduce(Hash.new) do |acc, avail|
22
+ acc[avail['mms_id']] = avail.select { |k, v| k != 'mms_id' }
23
+ acc
24
+ end
25
+ end
26
+
27
+
28
+ def build_holdings_for(bib)
29
+
30
+ get_inventory_fields_for(bib).map do |inventory_field|
31
+ subfield_codes_to_fieldnames = Alma::INVENTORY_TO_SUBFIELD_TO_FIELDNAME[inventory_field['tag']]
32
+
33
+ # make sure subfields is always an Array (which isn't the case if there's only one subfield element)
34
+ subfields = [inventory_field.fetch('subfield', [])].flatten(1)
35
+
36
+ holding = subfields.reduce(Hash.new) do |acc, subfield|
37
+ fieldname = subfield_codes_to_fieldnames[subfield['code']]
38
+ acc[fieldname] = subfield['__content__']
39
+ acc
40
+ end
41
+ holding['inventory_type'] = subfield_codes_to_fieldnames['INVENTORY_TYPE']
42
+ holding
43
+ end
44
+ end
45
+
46
+ def get_inventory_fields_for(bib)
47
+ bib.record.fetch('datafield', []).select { |df| Alma::INVENTORY_TO_SUBFIELD_TO_FIELDNAME.key?(df['tag']) } || []
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,46 @@
1
+ module Alma
2
+ class Bib < AlmaRecord
3
+ extend Alma::Api
4
+
5
+ attr_accessor :id, :record
6
+
7
+ def post_initialize
8
+ @id = response['mms_id'].to_s
9
+ @record = response.fetch('record', {})
10
+ end
11
+
12
+ class << self
13
+
14
+ def get_availability(ids, args={})
15
+ args.merge!({expand: 'p_avail,e_avail,d_avail'})
16
+ bibs = get_bibs(ids, args)
17
+
18
+ return bibs if bibs.has_error?
19
+ Alma::AvailabilityResponse.new(bibs)
20
+ end
21
+
22
+ def find(ids, args)
23
+ get_bibs(ids, args)
24
+ end
25
+
26
+ def get_bibs(ids, args={})
27
+ args[:mms_id] = ids_from_array(ids)
28
+ params = query_merge(args)
29
+ response = resources.almaws_v1_bibs.get(params)
30
+
31
+ Alma::BibSet.new(response)
32
+ end
33
+
34
+ private
35
+
36
+ def ids_from_array(ids)
37
+ ids.map(&:to_s).map(&:strip).join(',')
38
+ end
39
+
40
+ def set_wadl_filename
41
+ 'bib.wadl'
42
+ end
43
+
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,22 @@
1
+ module Alma
2
+ class BibSet < ResultSet
3
+
4
+ def top_level_key
5
+ 'bibs'
6
+ end
7
+
8
+ def response_records_key
9
+ 'bib'
10
+ end
11
+
12
+ def single_record_class
13
+ Alma::Bib
14
+ end
15
+
16
+ # Doesn't seem to actually return a total record count as documented.
17
+ def total_record_count
18
+ (response_records.is_a? Array) ? size : 1
19
+ end
20
+
21
+ end
22
+ end
@@ -0,0 +1,15 @@
1
+ module Alma::Error
2
+
3
+ def has_error?
4
+ !error.empty?
5
+ end
6
+
7
+ def error_message
8
+ (has_error?) ? error['errorList']['error']['errorMessage'] : ''
9
+ end
10
+
11
+ def error
12
+ @response.fetch('web_service_result', {})
13
+ end
14
+
15
+ end
@@ -10,11 +10,11 @@ module Alma
10
10
  end
11
11
 
12
12
  def sum
13
- @ws_response['fees'].fetch('total_sum', 0)
13
+ @response[top_level_key].fetch('total_sum', 0)
14
14
  end
15
15
 
16
16
  def currency
17
- @ws_response['fees'].fetch('total_sum', nil)
17
+ @response[top_level_key].fetch('currency', nil)
18
18
  end
19
19
 
20
20
  end
@@ -1,22 +1,17 @@
1
1
  module Alma
2
- class LoanSet
2
+ class LoanSet < ResultSet
3
3
 
4
- attr_reader :total_record_count, :list
5
4
 
6
- def initialize(ws_response)
7
- @ws_response = ws_response
8
- @total_record_count = ws_response.fetch('total_record_count', 0)
9
- @list ||= list_results
5
+ def top_level_key
6
+ 'item_loans'
10
7
  end
11
8
 
12
- def response_records
13
- @ws_response['item_loans'].fetch('item_loan',[])
9
+ def response_records_key
10
+ 'item_loan'
14
11
  end
15
12
 
16
- def list_results
17
- response_records.map do |loan|
18
- Alma::Loan.new(loan)
19
- end
13
+ def single_record_class
14
+ Alma::Loan
20
15
  end
21
16
 
22
17
  end
@@ -1,10 +1,12 @@
1
1
  module Alma
2
2
  class RenewalResponse
3
3
 
4
+ include Alma::Error
5
+
4
6
  def initialize(response)
7
+ @response = response
5
8
  @success = response.fetch('item_loan', {})
6
- @error = response.fetch('web_service_result', {})
7
- @renewed = @error.empty?
9
+ @renewed = error.empty?
8
10
  end
9
11
 
10
12
  def renewed?
@@ -20,10 +22,6 @@ module Alma
20
22
  Time.parse(due_date).strftime('%m-%e-%y %H:%M')
21
23
  end
22
24
 
23
- def error_message
24
- (renewed?) ? '' : @error['errorList']['error']['errorMessage']
25
- end
26
-
27
25
  def item_title
28
26
  if @success
29
27
  @success['title']
@@ -39,5 +37,6 @@ module Alma
39
37
  "#{item_title} could not be renewed."
40
38
  end
41
39
  end
40
+
42
41
  end
43
42
  end
@@ -1,20 +1,24 @@
1
1
  module Alma
2
2
  class ResultSet
3
+ extend Forwardable
4
+
5
+ include Alma::Error
6
+
7
+ def_delegators :list, :size, :each, :map
3
8
 
4
9
  def initialize(ws_response)
5
- @ws_response = ws_response
10
+ @response = ws_response
6
11
  end
7
12
 
8
-
9
13
  def total_record_count
10
- @ws_response[top_level_key].fetch('total_record_count', 0).to_i
14
+ @response[top_level_key].fetch('total_record_count', 0).to_i
11
15
  end
12
16
 
13
17
  def list
14
18
  @list ||= list_results
15
19
  end
16
20
 
17
- private
21
+
18
22
  def top_level_key
19
23
  raise NotImplementedError 'Subclasses of ResultSet Need to define the top level key'
20
24
  end
@@ -23,18 +27,22 @@ module Alma
23
27
  raise NotImplementedError 'Subclasses of ResultSet Need to define the key for response records'
24
28
  end
25
29
 
26
-
30
+ private
27
31
  def response_records
28
- @ws_response[top_level_key].fetch(response_records_key,[])
32
+ @response[top_level_key].fetch(response_records_key,[])
33
+ end
34
+
35
+ # Subclasses Can override this to use a Custom Class for single record objects.
36
+ def single_record_class
37
+ Alma::AlmaRecord
29
38
  end
30
39
 
31
40
  def list_results
32
41
  #If there is only one record in the response, HTTParty returns as a hash, not
33
42
  # an array of hashes, so wrap in array to normalize.
34
- response_array = (total_record_count == 1) ? [response_records] : response_records
35
-
43
+ response_array = (response_records.is_a? Array) ? response_records : [response_records]
36
44
  response_array.map do |record|
37
- Alma::AlmaRecord.new(record)
45
+ single_record_class.new(record)
38
46
  end
39
47
  end
40
48
  end
@@ -1,29 +1,18 @@
1
1
  module Alma
2
2
  class UserSet
3
3
 
4
- attr_reader :total_record_count, :list
4
+ def top_level_key
5
+ 'users'
5
6
 
6
- def initialize(ws_response)
7
- @ws_response = ws_response
8
7
  end
9
8
 
10
- def total_record_count
11
- @ws_response['users'].fetch('total_record_count', 0)
9
+ def response_records_key
10
+ 'user'
12
11
  end
13
12
 
14
- def list
15
- @list ||= list_results
13
+ def single_record_class
14
+ Alma::User
16
15
  end
17
16
 
18
- private
19
- def response_records
20
- @ws_response['users'].fetch('user',[])
21
- end
22
-
23
- def list_results
24
- response_records.map do |fee|
25
- Alma::AlmaRecord.new(fee)
26
- end
27
- end
28
17
  end
29
18
  end
@@ -1,3 +1,3 @@
1
1
  module Alma
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.3"
3
3
  end
@@ -0,0 +1,3081 @@
1
+ <?xml version="1.0"?>
2
+ <application xmlns="http://wadl.dev.java.net/2009/02" xmlns:xs="http://www.w3.org/2001/XMLSchema">
3
+ <doc title="Alma"/>
4
+ <grammars>
5
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
6
+ <xs:annotation>
7
+ <xs:documentation>An object representation of a Physical Item's data.</xs:documentation>
8
+ </xs:annotation>
9
+ <xs:element name="item" type="item"/>
10
+ <xs:complexType name="item">
11
+ <xs:annotation>
12
+ <xs:documentation>A Physical item.</xs:documentation>
13
+ </xs:annotation>
14
+ <xs:all>
15
+ <xs:element maxOccurs="1" minOccurs="0" name="bib_data" type="bib_data">
16
+ <xs:annotation>
17
+ <xs:appinfo>
18
+ <xs:tags>api get</xs:tags>
19
+ </xs:appinfo>
20
+ <xs:documentation>Bibliographic data of the Physical Item. Output parameter.</xs:documentation>
21
+ </xs:annotation>
22
+ </xs:element>
23
+ <xs:element maxOccurs="1" minOccurs="1" name="holding_data" type="holding_data">
24
+ <xs:annotation>
25
+ <xs:appinfo>
26
+ <xs:tags>api get post put</xs:tags>
27
+ </xs:appinfo>
28
+ <xs:documentation>Information of the Holding that this Physical Item belongs to.</xs:documentation>
29
+ </xs:annotation>
30
+ </xs:element>
31
+ <xs:element maxOccurs="1" minOccurs="1" name="item_data" type="item_data">
32
+ <xs:annotation>
33
+ <xs:appinfo>
34
+ <xs:tags>api get post put</xs:tags>
35
+ </xs:appinfo>
36
+ <xs:documentation>Physical Item data.</xs:documentation>
37
+ </xs:annotation>
38
+ </xs:element>
39
+ <xs:element minOccurs="0" name="additional_info" type="xs:string">
40
+ <xs:annotation>
41
+ <xs:appinfo>
42
+ <xs:tags>api get</xs:tags>
43
+ </xs:appinfo>
44
+ <xs:documentation>Additional information following an action on the item. Output parameter.</xs:documentation>
45
+ </xs:annotation>
46
+ </xs:element>
47
+ </xs:all>
48
+ <xs:attribute name="link" type="xs:string"/>
49
+ </xs:complexType>
50
+ <xs:complexType name="bib_data">
51
+ <xs:annotation>
52
+ <xs:appinfo>
53
+ <xs:tags>api get</xs:tags>
54
+ </xs:appinfo>
55
+ <xs:documentation>Bibliographic data of the Physical Item. Output parameter.</xs:documentation>
56
+ </xs:annotation>
57
+ <xs:all>
58
+ <xs:element maxOccurs="1" minOccurs="1" name="mms_id" type="xs:string">
59
+ <xs:annotation>
60
+ <xs:appinfo>
61
+ <xs:tags>api get</xs:tags>
62
+ </xs:appinfo>
63
+ <xs:documentation>mms_id. Output parameter.</xs:documentation>
64
+ </xs:annotation>
65
+ </xs:element>
66
+ <xs:element minOccurs="0" name="title" type="xs:string">
67
+ <xs:annotation>
68
+ <xs:appinfo>
69
+ <xs:tags>api get</xs:tags>
70
+ </xs:appinfo>
71
+ <xs:documentation>The title of the Bibliographic record to which this Physical Item relates. Output parameter.</xs:documentation>
72
+ </xs:annotation>
73
+ </xs:element>
74
+ <xs:element minOccurs="0" name="author" type="xs:string">
75
+ <xs:annotation>
76
+ <xs:appinfo>
77
+ <xs:tags>api get</xs:tags>
78
+ </xs:appinfo>
79
+ <xs:documentation>author</xs:documentation>
80
+ </xs:annotation>
81
+ </xs:element>
82
+ <xs:element maxOccurs="1" minOccurs="0" name="issn" type="xs:string">
83
+ <xs:annotation>
84
+ <xs:appinfo>
85
+ <xs:tags>api get</xs:tags>
86
+ </xs:appinfo>
87
+ <xs:documentation>issn. Output parameter.</xs:documentation>
88
+ </xs:annotation>
89
+ </xs:element>
90
+ <xs:element minOccurs="0" name="isbn" type="xs:string">
91
+ <xs:annotation>
92
+ <xs:appinfo>
93
+ <xs:tags>api get</xs:tags>
94
+ </xs:appinfo>
95
+ <xs:documentation>isbn. Output parameter.</xs:documentation>
96
+ </xs:annotation>
97
+ </xs:element>
98
+ <xs:element minOccurs="0" name="complete_edition" type="xs:string">
99
+ <xs:annotation>
100
+ <xs:appinfo>
101
+ <xs:tags>api get</xs:tags>
102
+ </xs:appinfo>
103
+ <xs:documentation>Complete edition. Output parameter.</xs:documentation>
104
+ </xs:annotation>
105
+ </xs:element>
106
+ <xs:element minOccurs="0" name="network_numbers" type="network_numbers">
107
+ <xs:annotation>
108
+ <xs:appinfo>
109
+ <xs:tags>api get</xs:tags>
110
+ </xs:appinfo>
111
+ <xs:documentation>Network number, control number. Output parameter.</xs:documentation>
112
+ </xs:annotation>
113
+ </xs:element>
114
+ <xs:element minOccurs="0" name="place_of_publication" type="xs:string">
115
+ <xs:annotation>
116
+ <xs:appinfo>
117
+ <xs:tags>api get</xs:tags>
118
+ </xs:appinfo>
119
+ <xs:documentation>Place of publication, part of the imprint information. Output parameter.</xs:documentation>
120
+ </xs:annotation>
121
+ </xs:element>
122
+ <xs:element minOccurs="0" name="publisher_const" type="xs:string">
123
+ <xs:annotation>
124
+ <xs:appinfo>
125
+ <xs:tags>api get</xs:tags>
126
+ </xs:appinfo>
127
+ <xs:documentation>Publisher_const, part of the imprint information. Output parameter.</xs:documentation>
128
+ </xs:annotation>
129
+ </xs:element>
130
+ </xs:all>
131
+ <xs:attribute name="link" type="xs:string"/>
132
+ </xs:complexType>
133
+ <xs:complexType name="holding_data">
134
+ <xs:annotation>
135
+ <xs:appinfo>
136
+ <xs:tags>api get post</xs:tags>
137
+ </xs:appinfo>
138
+ <xs:documentation>Information of the Holding that this Physical Item belongs to.</xs:documentation>
139
+ </xs:annotation>
140
+ <xs:all>
141
+ <xs:element name="holding_id" type="xs:string">
142
+ <xs:annotation>
143
+ <xs:appinfo>
144
+ <xs:tags>api get post</xs:tags>
145
+ </xs:appinfo>
146
+ <xs:documentation>Holding pid, a unique holding id that the item is associated with.
147
+ Currently, cannot be updated for an existing item.
148
+ </xs:documentation>
149
+ </xs:annotation>
150
+ </xs:element>
151
+ <xs:element maxOccurs="1" minOccurs="0" name="call_number_type">
152
+ <xs:annotation>
153
+ <xs:documentation>The call number type used for the item. Possible codes are listed in 'CallNumberType' code-table.
154
+ </xs:documentation>
155
+ <xs:appinfo>
156
+ <xs:tags>api get</xs:tags>
157
+ <xs:codeTable>CallNumberType</xs:codeTable>
158
+ </xs:appinfo>
159
+ </xs:annotation>
160
+ <xs:complexType>
161
+ <xs:simpleContent>
162
+ <xs:extension base="xs:string">
163
+ <xs:attribute name="desc" type="xs:string" use="optional"/>
164
+ </xs:extension>
165
+ </xs:simpleContent>
166
+ </xs:complexType>
167
+ </xs:element>
168
+ <xs:element minOccurs="0" name="call_number" type="xs:string">
169
+ <xs:annotation>
170
+ <xs:appinfo>
171
+ <xs:tags>api get</xs:tags>
172
+ </xs:appinfo>
173
+ <xs:documentation>Call number, used to describe this physical holding. Output parameter.</xs:documentation>
174
+ </xs:annotation>
175
+ </xs:element>
176
+ <xs:element maxOccurs="1" minOccurs="0" name="accession_number" type="xs:string">
177
+ <xs:annotation>
178
+ <xs:appinfo>
179
+ <xs:tags>api get</xs:tags>
180
+ </xs:appinfo>
181
+ <xs:documentation>accession number. Output parameter.</xs:documentation>
182
+ </xs:annotation>
183
+ </xs:element>
184
+ <xs:element minOccurs="0" name="copy_id" type="xs:string">
185
+ <xs:annotation>
186
+ <xs:appinfo>
187
+ <xs:tags>api get post put</xs:tags>
188
+ </xs:appinfo>
189
+ <xs:documentation>The item's copy ID, used to identify individual copies of the same title when multiple copies exist at the same location.
190
+ </xs:documentation>
191
+ </xs:annotation>
192
+ </xs:element>
193
+ <xs:element maxOccurs="1" minOccurs="0" name="in_temp_location" type="xs:boolean">
194
+ <xs:annotation>
195
+ <xs:appinfo>
196
+ <xs:tags>api get post put</xs:tags>
197
+ </xs:appinfo>
198
+ <xs:documentation>Indicates whether the item is currently in temporary location. Default is False.
199
+ </xs:documentation>
200
+ </xs:annotation>
201
+ </xs:element>
202
+ <xs:element maxOccurs="1" minOccurs="0" name="temp_library">
203
+ <xs:annotation>
204
+ <xs:appinfo>
205
+ <xs:tags>api get post put</xs:tags>
206
+ </xs:appinfo>
207
+ <xs:documentation>Temporary library.
208
+ Relevant only if in_temp_location is True.</xs:documentation>
209
+ </xs:annotation>
210
+ <xs:complexType>
211
+ <xs:simpleContent>
212
+ <xs:extension base="xs:string">
213
+ <xs:attribute name="desc" type="xs:string" use="optional"/>
214
+ </xs:extension>
215
+ </xs:simpleContent>
216
+ </xs:complexType>
217
+ </xs:element>
218
+ <xs:element maxOccurs="1" minOccurs="0" name="temp_location">
219
+ <xs:annotation>
220
+ <xs:appinfo>
221
+ <xs:tags>api get post put</xs:tags>
222
+ </xs:appinfo>
223
+ <xs:documentation>Temporary location.
224
+ Relevant only if in_temp_location is True.</xs:documentation>
225
+ </xs:annotation>
226
+ <xs:complexType>
227
+ <xs:simpleContent>
228
+ <xs:extension base="xs:string">
229
+ <xs:attribute name="desc" type="xs:string" use="optional"/>
230
+ </xs:extension>
231
+ </xs:simpleContent>
232
+ </xs:complexType>
233
+ </xs:element>
234
+ <xs:element maxOccurs="1" minOccurs="0" name="temp_call_number_type">
235
+ <xs:annotation>
236
+ <xs:documentation>The call number type used for the item at the temporary location.
237
+ Possible codes are listed in 'CallNumberType' [code table|https://developers.exlibrisgroup.com/blog/Working-with-the-code-tables-API].
238
+ Relevant only if in_temp_location is True.
239
+ </xs:documentation>
240
+ <xs:appinfo>
241
+ <xs:tags>api get post put</xs:tags>
242
+ <xs:codeTable>CallNumberType</xs:codeTable>
243
+ </xs:appinfo>
244
+ </xs:annotation>
245
+ <xs:complexType>
246
+ <xs:simpleContent>
247
+ <xs:extension base="xs:string">
248
+ <xs:attribute name="desc" type="xs:string" use="optional"/>
249
+ </xs:extension>
250
+ </xs:simpleContent>
251
+ </xs:complexType>
252
+ </xs:element>
253
+ <xs:element maxOccurs="1" minOccurs="0" name="temp_call_number" type="xs:string">
254
+ <xs:annotation>
255
+ <xs:appinfo>
256
+ <xs:tags>api get post put</xs:tags>
257
+ </xs:appinfo>
258
+ <xs:documentation>The item's call number when using the temporary call number type at the temporary location.
259
+ Relevant only if in_temp_location is True.</xs:documentation>
260
+ </xs:annotation>
261
+ </xs:element>
262
+ <xs:element maxOccurs="1" minOccurs="0" name="temp_policy">
263
+ <xs:annotation>
264
+ <xs:documentation>The item's temporary override policy.
265
+ Possible codes are listed in 'ItemPolicy' [code table|https://developers.exlibrisgroup.com/blog/Working-with-the-code-tables-API].
266
+ Relevant only if in_temp_location is True.
267
+ </xs:documentation>
268
+ <xs:appinfo>
269
+ <xs:tags>api get post put</xs:tags>
270
+ <xs:codeTable>ItemPolicy</xs:codeTable>
271
+ </xs:appinfo>
272
+ </xs:annotation>
273
+ <xs:complexType>
274
+ <xs:simpleContent>
275
+ <xs:extension base="xs:string">
276
+ <xs:attribute name="desc" type="xs:string" use="optional"/>
277
+ </xs:extension>
278
+ </xs:simpleContent>
279
+ </xs:complexType>
280
+ </xs:element>
281
+ <xs:element maxOccurs="1" minOccurs="0" name="due_back_date" type="xs:date">
282
+ <xs:annotation>
283
+ <xs:appinfo>
284
+ <xs:tags>api get post put</xs:tags>
285
+ </xs:appinfo>
286
+ <xs:documentation>The date the item is due back from the temporary location.
287
+ Relevant only if in_temp_location is True.</xs:documentation>
288
+ </xs:annotation>
289
+ </xs:element>
290
+ </xs:all>
291
+ <xs:attribute name="link" type="xs:string"/>
292
+ </xs:complexType>
293
+ <xs:complexType name="item_data">
294
+ <xs:annotation>
295
+ <xs:appinfo>
296
+ <xs:tags>api get post put</xs:tags>
297
+ </xs:appinfo>
298
+ <xs:documentation>Physical Item data.</xs:documentation>
299
+ </xs:annotation>
300
+ <xs:all>
301
+ <xs:element maxOccurs="1" minOccurs="0" name="pid" type="xs:string">
302
+ <xs:annotation>
303
+ <xs:appinfo>
304
+ <xs:tags>api get</xs:tags>
305
+ </xs:appinfo>
306
+ <xs:documentation>Physical item pid. Output parameter.</xs:documentation>
307
+ </xs:annotation>
308
+ </xs:element>
309
+ <xs:element minOccurs="0" name="barcode" type="xs:string">
310
+ <xs:annotation>
311
+ <xs:appinfo>
312
+ <xs:tags>api get post put</xs:tags>
313
+ </xs:appinfo>
314
+ <xs:documentation>The item's barcode.
315
+ If not sent as part of the PUT or POST actions, Alma will generate a barcode based on the barcode generation rules.</xs:documentation>
316
+ </xs:annotation>
317
+ </xs:element>
318
+ <xs:element maxOccurs="1" minOccurs="0" name="creation_date" type="xs:date">
319
+ <xs:annotation>
320
+ <xs:appinfo>
321
+ <xs:tags>api get</xs:tags>
322
+ </xs:appinfo>
323
+ <xs:documentation>The date the item was created. Output parameter.</xs:documentation>
324
+ </xs:annotation>
325
+ </xs:element>
326
+ <xs:element maxOccurs="1" minOccurs="0" name="modification_date" type="xs:date">
327
+ <xs:annotation>
328
+ <xs:appinfo>
329
+ <xs:tags>api get</xs:tags>
330
+ </xs:appinfo>
331
+ <xs:documentation>The date the item was modified. Output parameter.</xs:documentation>
332
+ </xs:annotation>
333
+ </xs:element>
334
+ <xs:element maxOccurs="1" minOccurs="0" name="base_status">
335
+ <xs:annotation>
336
+ <xs:appinfo>
337
+ <xs:tags>api get</xs:tags>
338
+ <xs:codeTable>BaseStatus</xs:codeTable>
339
+ <xs:documentation>The item's basic status: In place / Not in place. Output parameter.
340
+ Possible codes are listed in 'BaseStatus' [code table|https://developers.exlibrisgroup.com/blog/Working-with-the-code-tables-API].
341
+ </xs:documentation>
342
+ </xs:appinfo>
343
+ </xs:annotation>
344
+ <xs:complexType>
345
+ <xs:simpleContent>
346
+ <xs:extension base="xs:string">
347
+ <xs:attribute name="desc" type="xs:string" use="optional"/>
348
+ </xs:extension>
349
+ </xs:simpleContent>
350
+ </xs:complexType>
351
+ </xs:element>
352
+ <xs:element maxOccurs="1" minOccurs="0" name="physical_material_type">
353
+ <xs:annotation>
354
+ <xs:documentation>The item's physical form, such as a book or CD-ROM.
355
+ Possible codes are listed in 'PhysicalMaterialType' [code table|https://developers.exlibrisgroup.com/blog/Working-with-the-code-tables-API].
356
+ </xs:documentation>
357
+ <xs:appinfo>
358
+ <xs:tags>api get post put</xs:tags>
359
+ <xs:codeTable>PhysicalMaterialType</xs:codeTable>
360
+ </xs:appinfo>
361
+ </xs:annotation>
362
+ <xs:complexType>
363
+ <xs:simpleContent>
364
+ <xs:extension base="xs:string">
365
+ <xs:attribute name="desc" type="xs:string" use="optional"/>
366
+ </xs:extension>
367
+ </xs:simpleContent>
368
+ </xs:complexType>
369
+ </xs:element>
370
+ <xs:element maxOccurs="1" minOccurs="0" name="policy">
371
+ <xs:annotation>
372
+ <xs:documentation>The item's override policy for loan rules.
373
+ Defines the conditions under which a request for this item can be fulfilled.
374
+ Possible codes are listed in 'ItemPolicy' [code table|https://developers.exlibrisgroup.com/blog/Working-with-the-code-tables-API].
375
+ </xs:documentation>
376
+ <xs:appinfo>
377
+ <xs:tags>api get post put</xs:tags>
378
+ <xs:codeTable>ItemPolicy</xs:codeTable>
379
+ </xs:appinfo>
380
+ </xs:annotation>
381
+ <xs:complexType>
382
+ <xs:simpleContent>
383
+ <xs:extension base="xs:string">
384
+ <xs:attribute name="desc" type="xs:string" use="optional"/>
385
+ </xs:extension>
386
+ </xs:simpleContent>
387
+ </xs:complexType>
388
+ </xs:element>
389
+ <xs:element maxOccurs="1" minOccurs="0" name="provenance">
390
+ <xs:annotation>
391
+ <xs:documentation>The item's origin.
392
+ Possible codes are listed in 'provenanceCodes' [code table|https://developers.exlibrisgroup.com/blog/Working-with-the-code-tables-API].</xs:documentation>
393
+ <xs:appinfo>
394
+ <xs:tags>api get post put</xs:tags>
395
+ <xs:codeTable>provenanceCodes</xs:codeTable>
396
+ </xs:appinfo>
397
+ </xs:annotation>
398
+ <xs:complexType>
399
+ <xs:simpleContent>
400
+ <xs:extension base="xs:string">
401
+ <xs:attribute name="desc" type="xs:string" use="optional"/>
402
+ </xs:extension>
403
+ </xs:simpleContent>
404
+ </xs:complexType>
405
+ </xs:element>
406
+ <xs:element maxOccurs="1" minOccurs="0" name="po_line" type="xs:string">
407
+ <xs:annotation>
408
+ <xs:appinfo>
409
+ <xs:tags>api get post put</xs:tags>
410
+ </xs:appinfo>
411
+ <xs:documentation>
412
+ The related PO line number.
413
+ In the GET action, this might be the matching holding's PO line (in case of continuous PO line).
414
+ In POST and PUT actions, it is possible to update only the specific item's PO line.
415
+ Hence, in case the PO line in this field is continuous, it will be ignored. Such an update should be done in the holding record itself.
416
+ </xs:documentation>
417
+ </xs:annotation>
418
+ </xs:element>
419
+ <xs:element maxOccurs="1" minOccurs="0" name="is_magnetic" type="xs:boolean">
420
+ <xs:annotation>
421
+ <xs:appinfo>
422
+ <xs:tags>api get post put</xs:tags>
423
+ </xs:appinfo>
424
+ <xs:documentation>Indicates whether the item contains a magnet which can cause it to be damaged when scanned by a self-check machine.
425
+ Optional. Default is False.
426
+ </xs:documentation>
427
+ </xs:annotation>
428
+ </xs:element>
429
+ <xs:element maxOccurs="1" minOccurs="0" name="arrival_date" type="xs:date">
430
+ <xs:annotation>
431
+ <xs:appinfo>
432
+ <xs:tags>api get post put</xs:tags>
433
+ </xs:appinfo>
434
+ <xs:documentation>The date the material was actually received/activated for the first time.</xs:documentation>
435
+ </xs:annotation>
436
+ </xs:element>
437
+ <xs:element maxOccurs="1" minOccurs="0" name="expected_arrival_date" type="xs:date">
438
+ <xs:annotation>
439
+ <xs:appinfo>
440
+ <xs:tags>api get post put</xs:tags>
441
+ </xs:appinfo>
442
+ <xs:documentation>The date the item was expected to be received.</xs:documentation>
443
+ </xs:annotation>
444
+ </xs:element>
445
+ <xs:element maxOccurs="1" minOccurs="0" name="year_of_issue" type="xs:string">
446
+ <xs:annotation>
447
+ <xs:appinfo>
448
+ <xs:tags>api get post put</xs:tags>
449
+ </xs:appinfo>
450
+ <xs:documentation>The related year for an issue item.</xs:documentation>
451
+ </xs:annotation>
452
+ </xs:element>
453
+ <xs:element maxOccurs="1" minOccurs="0" name="enumeration_a" type="xs:string">
454
+ <xs:annotation>
455
+ <xs:appinfo>
456
+ <xs:tags>api get post put</xs:tags>
457
+ </xs:appinfo>
458
+ <xs:documentation>enumeration A</xs:documentation>
459
+ </xs:annotation>
460
+ </xs:element>
461
+ <xs:element maxOccurs="1" minOccurs="0" name="enumeration_b" type="xs:string">
462
+ <xs:annotation>
463
+ <xs:appinfo>
464
+ <xs:tags>api get post put</xs:tags>
465
+ </xs:appinfo>
466
+ <xs:documentation>enumeration B</xs:documentation>
467
+ </xs:annotation>
468
+ </xs:element>
469
+ <xs:element maxOccurs="1" minOccurs="0" name="enumeration_c" type="xs:string">
470
+ <xs:annotation>
471
+ <xs:appinfo>
472
+ <xs:tags>api get post put</xs:tags>
473
+ </xs:appinfo>
474
+ <xs:documentation>enumeration C</xs:documentation>
475
+ </xs:annotation>
476
+ </xs:element>
477
+ <xs:element maxOccurs="1" minOccurs="0" name="enumeration_d" type="xs:string">
478
+ <xs:annotation>
479
+ <xs:appinfo>
480
+ <xs:tags>api get post put</xs:tags>
481
+ </xs:appinfo>
482
+ <xs:documentation>enumeration D</xs:documentation>
483
+ </xs:annotation>
484
+ </xs:element>
485
+ <xs:element maxOccurs="1" minOccurs="0" name="enumeration_e" type="xs:string">
486
+ <xs:annotation>
487
+ <xs:appinfo>
488
+ <xs:tags>api get post put</xs:tags>
489
+ </xs:appinfo>
490
+ <xs:documentation>enumeration E</xs:documentation>
491
+ </xs:annotation>
492
+ </xs:element>
493
+ <xs:element maxOccurs="1" minOccurs="0" name="enumeration_f" type="xs:string">
494
+ <xs:annotation>
495
+ <xs:appinfo>
496
+ <xs:tags>api get post put</xs:tags>
497
+ </xs:appinfo>
498
+ <xs:documentation>enumeration F</xs:documentation>
499
+ </xs:annotation>
500
+ </xs:element>
501
+ <xs:element maxOccurs="1" minOccurs="0" name="enumeration_g" type="xs:string">
502
+ <xs:annotation>
503
+ <xs:appinfo>
504
+ <xs:tags>api get post put</xs:tags>
505
+ </xs:appinfo>
506
+ <xs:documentation>enumeration G</xs:documentation>
507
+ </xs:annotation>
508
+ </xs:element>
509
+ <xs:element maxOccurs="1" minOccurs="0" name="enumeration_h" type="xs:string">
510
+ <xs:annotation>
511
+ <xs:appinfo>
512
+ <xs:tags>api get post put</xs:tags>
513
+ </xs:appinfo>
514
+ <xs:documentation>enumeration H</xs:documentation>
515
+ </xs:annotation>
516
+ </xs:element>
517
+ <xs:element maxOccurs="1" minOccurs="0" name="chronology_i" type="xs:string">
518
+ <xs:annotation>
519
+ <xs:appinfo>
520
+ <xs:tags>api get post put</xs:tags>
521
+ </xs:appinfo>
522
+ <xs:documentation>chronology I</xs:documentation>
523
+ </xs:annotation>
524
+ </xs:element>
525
+ <xs:element maxOccurs="1" minOccurs="0" name="chronology_j" type="xs:string">
526
+ <xs:annotation>
527
+ <xs:appinfo>
528
+ <xs:tags>api get post put</xs:tags>
529
+ </xs:appinfo>
530
+ <xs:documentation>chronology J</xs:documentation>
531
+ </xs:annotation>
532
+ </xs:element>
533
+ <xs:element maxOccurs="1" minOccurs="0" name="chronology_k" type="xs:string">
534
+ <xs:annotation>
535
+ <xs:documentation>chronology K</xs:documentation>
536
+ </xs:annotation>
537
+ </xs:element>
538
+ <xs:element maxOccurs="1" minOccurs="0" name="chronology_l" type="xs:string">
539
+ <xs:annotation>
540
+ <xs:appinfo>
541
+ <xs:tags>api get post put</xs:tags>
542
+ </xs:appinfo>
543
+ <xs:documentation>chronology L</xs:documentation>
544
+ </xs:annotation>
545
+ </xs:element>
546
+ <xs:element maxOccurs="1" minOccurs="0" name="chronology_m" type="xs:string">
547
+ <xs:annotation>
548
+ <xs:appinfo>
549
+ <xs:tags>api get post put</xs:tags>
550
+ </xs:appinfo>
551
+ <xs:documentation>chronology M</xs:documentation>
552
+ </xs:annotation>
553
+ </xs:element>
554
+ <xs:element maxOccurs="1" minOccurs="0" name="description" type="xs:string">
555
+ <xs:annotation>
556
+ <xs:appinfo>
557
+ <xs:tags>api get post put</xs:tags>
558
+ </xs:appinfo>
559
+ <xs:documentation>This item's description.</xs:documentation>
560
+ </xs:annotation>
561
+ </xs:element>
562
+ <xs:element maxOccurs="1" minOccurs="0" name="replacement_cost" type="xs:float">
563
+ <xs:annotation>
564
+ <xs:appinfo>
565
+ <xs:tags>api get post put</xs:tags>
566
+ </xs:appinfo>
567
+ <xs:documentation>The charge administered to the patron if the item is lost.</xs:documentation>
568
+ </xs:annotation>
569
+ </xs:element>
570
+ <xs:element maxOccurs="1" minOccurs="0" name="receiving_operator" type="xs:string">
571
+ <xs:annotation>
572
+ <xs:appinfo>
573
+ <xs:tags>api get post put</xs:tags>
574
+ </xs:appinfo>
575
+ <xs:documentation>The Operator who received the item.</xs:documentation>
576
+ </xs:annotation>
577
+ </xs:element>
578
+ <xs:element maxOccurs="1" minOccurs="0" name="process_type">
579
+ <xs:annotation>
580
+ <xs:documentation>Process type.
581
+ Possible codes are listed in 'PROCESSTYPE' [code table|https://developers.exlibrisgroup.com/blog/Working-with-the-code-tables-API].</xs:documentation>
582
+ <xs:appinfo>
583
+ <xs:tags>api get</xs:tags>
584
+ <xs:codeTable>PROCESSTYPE</xs:codeTable>
585
+ </xs:appinfo>
586
+ </xs:annotation>
587
+ <xs:complexType>
588
+ <xs:simpleContent>
589
+ <xs:extension base="xs:string">
590
+ <xs:attribute name="desc" type="xs:string" use="optional"/>
591
+ </xs:extension>
592
+ </xs:simpleContent>
593
+ </xs:complexType>
594
+ </xs:element>
595
+ <xs:element maxOccurs="1" minOccurs="0" name="library">
596
+ <xs:annotation>
597
+ <xs:appinfo>
598
+ <xs:tags>api get put</xs:tags>
599
+ <xs:codeTable>libraries</xs:codeTable>
600
+ </xs:appinfo>
601
+ <xs:documentation>Library.
602
+ In PUT, updating the library and/or location might move the item to a different Holding record, or will create a new holding record for it.
603
+ In POST action the library will be defined according to the holding_id field.
604
+ see [Get libraries API|https://developers.exlibrisgroup.com/alma/apis/conf/GET/gwPcGly021p29HpB7XTI4Dp4I8TKv6CAxBlD4LyRaVE=/37088dc9-c685-4641-bc7f-60b5ca7cabed]</xs:documentation>
605
+ </xs:annotation>
606
+ <xs:complexType>
607
+ <xs:simpleContent>
608
+ <xs:extension base="xs:string">
609
+ <xs:attribute name="desc" type="xs:string" use="optional"/>
610
+ </xs:extension>
611
+ </xs:simpleContent>
612
+ </xs:complexType>
613
+ </xs:element>
614
+ <xs:element maxOccurs="1" minOccurs="0" name="location">
615
+ <xs:annotation>
616
+ <xs:appinfo>
617
+ <xs:tags>api get put</xs:tags>
618
+ </xs:appinfo>
619
+ <xs:documentation>Location.
620
+ In PUT, updating the library and/or location might move the item to a different Holding record, or will create a new holding record for it.
621
+ In POST action, will be defined according to the holding_id field.
622
+ see [Get locations API|https://developers.exlibrisgroup.com/alma/apis/conf/GET/gwPcGly021p29HpB7XTI4Dp4I8TKv6CAreHxJz3zVZbDL9ogrSqDbgE+r4q6vcJ0xBlD4LyRaVE=/37088dc9-c685-4641-bc7f-60b5ca7cabed]</xs:documentation>
623
+ </xs:annotation>
624
+ <xs:complexType>
625
+ <xs:simpleContent>
626
+ <xs:extension base="xs:string">
627
+ <xs:attribute name="desc" type="xs:string" use="optional"/>
628
+ </xs:extension>
629
+ </xs:simpleContent>
630
+ </xs:complexType>
631
+ </xs:element>
632
+ <xs:element minOccurs="0" name="alternative_call_number" type="xs:string">
633
+ <xs:annotation>
634
+ <xs:appinfo>
635
+ <xs:tags>api get post put</xs:tags>
636
+ </xs:appinfo>
637
+ <xs:documentation>The ID number for the item that corresponds to the alternative call number type.</xs:documentation>
638
+ </xs:annotation>
639
+ </xs:element>
640
+ <xs:element maxOccurs="1" minOccurs="0" name="alternative_call_number_type">
641
+ <xs:annotation>
642
+ <xs:documentation>An alternative identification number type to the call number.
643
+ Possible codes are listed in 'CallNumberType' [code table|https://developers.exlibrisgroup.com/blog/Working-with-the-code-tables-API].
644
+ </xs:documentation>
645
+ <xs:appinfo>
646
+ <xs:tags>api get post put</xs:tags>
647
+ <xs:codeTable>CallNumberType</xs:codeTable>
648
+ </xs:appinfo>
649
+ </xs:annotation>
650
+ <xs:complexType>
651
+ <xs:simpleContent>
652
+ <xs:extension base="xs:string">
653
+ <xs:attribute name="desc" type="xs:string" use="optional"/>
654
+ </xs:extension>
655
+ </xs:simpleContent>
656
+ </xs:complexType>
657
+ </xs:element>
658
+ <xs:element maxOccurs="1" minOccurs="0" name="storage_location_id" type="xs:string">
659
+ <xs:annotation>
660
+ <xs:appinfo>
661
+ <xs:tags>api get post put</xs:tags>
662
+ </xs:appinfo>
663
+ <xs:documentation>The ID number of the location where the item is stored.</xs:documentation>
664
+ </xs:annotation>
665
+ </xs:element>
666
+ <xs:element maxOccurs="1" minOccurs="0" name="pages" type="xs:string">
667
+ <xs:annotation>
668
+ <xs:appinfo>
669
+ <xs:tags>api get post put</xs:tags>
670
+ </xs:appinfo>
671
+ <xs:documentation>The item's number of pages.</xs:documentation>
672
+ </xs:annotation>
673
+ </xs:element>
674
+ <xs:element maxOccurs="1" minOccurs="0" name="pieces" type="xs:string">
675
+ <xs:annotation>
676
+ <xs:appinfo>
677
+ <xs:tags>api get post put</xs:tags>
678
+ </xs:appinfo>
679
+ <xs:documentation>The item's number of pieces.</xs:documentation>
680
+ </xs:annotation>
681
+ </xs:element>
682
+ <xs:element maxOccurs="1" minOccurs="0" name="public_note" type="xs:string">
683
+ <xs:annotation>
684
+ <xs:appinfo>
685
+ <xs:tags>api get post put</xs:tags>
686
+ </xs:appinfo>
687
+ <xs:documentation>Contains note content that is displayed in Primo.</xs:documentation>
688
+ </xs:annotation>
689
+ </xs:element>
690
+ <xs:element maxOccurs="1" minOccurs="0" name="fulfillment_note" type="xs:string">
691
+ <xs:annotation>
692
+ <xs:appinfo>
693
+ <xs:tags>api get post put</xs:tags>
694
+ </xs:appinfo>
695
+ <xs:documentation>Contains note content that is displayed during the circulation process.</xs:documentation>
696
+ </xs:annotation>
697
+ </xs:element>
698
+ <xs:element maxOccurs="1" minOccurs="0" name="internal_note_1" type="xs:string">
699
+ <xs:annotation>
700
+ <xs:appinfo>
701
+ <xs:tags>api get post put</xs:tags>
702
+ </xs:appinfo>
703
+ <xs:documentation>Contains note content regarding an item for internal use by Alma staff.</xs:documentation>
704
+ </xs:annotation>
705
+ </xs:element>
706
+ <xs:element maxOccurs="1" minOccurs="0" name="internal_note_2" type="xs:string">
707
+ <xs:annotation>
708
+ <xs:appinfo>
709
+ <xs:tags>api get post put</xs:tags>
710
+ </xs:appinfo>
711
+ <xs:documentation>Contains note content regarding an item for internal use by Alma staff.</xs:documentation>
712
+ </xs:annotation>
713
+ </xs:element>
714
+ <xs:element maxOccurs="1" minOccurs="0" name="internal_note_3" type="xs:string">
715
+ <xs:annotation>
716
+ <xs:appinfo>
717
+ <xs:tags>api get post put</xs:tags>
718
+ </xs:appinfo>
719
+ <xs:documentation>Contains note content regarding an item for internal use by Alma staff.</xs:documentation>
720
+ </xs:annotation>
721
+ </xs:element>
722
+ <xs:element maxOccurs="1" minOccurs="0" name="statistics_note_1" type="xs:string">
723
+ <xs:annotation>
724
+ <xs:appinfo>
725
+ <xs:tags>api get post put</xs:tags>
726
+ </xs:appinfo>
727
+ <xs:documentation>Contains note content that is exposed in analytics.</xs:documentation>
728
+ </xs:annotation>
729
+ </xs:element>
730
+ <xs:element maxOccurs="1" minOccurs="0" name="statistics_note_2" type="xs:string">
731
+ <xs:annotation>
732
+ <xs:appinfo>
733
+ <xs:tags>api get post put</xs:tags>
734
+ </xs:appinfo>
735
+ <xs:documentation>Contains note content that is exposed in analytics.</xs:documentation>
736
+ </xs:annotation>
737
+ </xs:element>
738
+ <xs:element maxOccurs="1" minOccurs="0" name="statistics_note_3" type="xs:string">
739
+ <xs:annotation>
740
+ <xs:appinfo>
741
+ <xs:tags>api get post put</xs:tags>
742
+ </xs:appinfo>
743
+ <xs:documentation>Contains note content that is exposed in analytics.</xs:documentation>
744
+ </xs:annotation>
745
+ </xs:element>
746
+ <xs:element maxOccurs="1" minOccurs="0" name="requested" type="xs:boolean">
747
+ <xs:annotation>
748
+ <xs:appinfo>
749
+ <xs:tags>api get</xs:tags>
750
+ </xs:appinfo>
751
+ <xs:documentation>Indication whether item is requested or not. Output parameter.</xs:documentation>
752
+ </xs:annotation>
753
+ </xs:element>
754
+ <xs:element maxOccurs="1" minOccurs="0" name="edition" type="xs:string">
755
+ <xs:annotation>
756
+ <xs:appinfo>
757
+ <xs:tags>api get</xs:tags>
758
+ </xs:appinfo>
759
+ <xs:documentation>Edition of the item. Output parameter. Returned only when view=label.</xs:documentation>
760
+ </xs:annotation>
761
+ </xs:element>
762
+ <xs:element maxOccurs="1" minOccurs="0" name="imprint" type="xs:string">
763
+ <xs:annotation>
764
+ <xs:appinfo>
765
+ <xs:tags>api get</xs:tags>
766
+ </xs:appinfo>
767
+ <xs:documentation>Imprint of the item. Output parameter.
768
+ Returned only when view=label.</xs:documentation>
769
+ </xs:annotation>
770
+ </xs:element>
771
+ <xs:element maxOccurs="1" minOccurs="0" name="language" type="xs:string">
772
+ <xs:annotation>
773
+ <xs:appinfo>
774
+ <xs:tags>api get</xs:tags>
775
+ </xs:appinfo>
776
+ <xs:documentation>Language of the item. Output parameter.
777
+ Returned only when view=label.</xs:documentation>
778
+ </xs:annotation>
779
+ </xs:element>
780
+ <xs:element maxOccurs="1" minOccurs="0" name="library_details" type="library_details">
781
+ <xs:annotation>
782
+ <xs:appinfo>
783
+ <xs:tags>api get</xs:tags>
784
+ </xs:appinfo>
785
+ <xs:documentation>Information regarding the item's owning library. Output parameter.
786
+ Returned only when view=label.</xs:documentation>
787
+ </xs:annotation>
788
+ </xs:element>
789
+ <xs:element maxOccurs="1" minOccurs="0" name="parsed_alt_call_number" type="parsed_alt_call_number">
790
+ <xs:annotation>
791
+ <xs:appinfo>
792
+ <xs:tags>api get</xs:tags>
793
+ </xs:appinfo>
794
+ <xs:documentation>Parsing information for the alternative call number. Output parameter.
795
+ Returned only when view=label.</xs:documentation>
796
+ </xs:annotation>
797
+ </xs:element>
798
+ <xs:element maxOccurs="1" minOccurs="0" name="parsed_call_number" type="parsed_call_number">
799
+ <xs:annotation>
800
+ <xs:appinfo>
801
+ <xs:tags>api get</xs:tags>
802
+ </xs:appinfo>
803
+ <xs:documentation>Parsing information for the call number. Output parameter.
804
+ Returned only when view=label.</xs:documentation>
805
+ </xs:annotation>
806
+ </xs:element>
807
+ <xs:element maxOccurs="1" minOccurs="0" name="parsed_issue_level_description" type="parsed_issue_level_description">
808
+ <xs:annotation>
809
+ <xs:appinfo>
810
+ <xs:tags>api get</xs:tags>
811
+ </xs:appinfo>
812
+ <xs:documentation>Parsing information for the description. Output parameter.
813
+ Returned only when view=label.</xs:documentation>
814
+ </xs:annotation>
815
+ </xs:element>
816
+ <xs:element maxOccurs="1" minOccurs="0" name="title_abcnph" type="xs:string">
817
+ <xs:annotation>
818
+ <xs:appinfo>
819
+ <xs:tags>api get</xs:tags>
820
+ </xs:appinfo>
821
+ <xs:documentation>Output parameter.
822
+ Returned only when view=label.</xs:documentation>
823
+ </xs:annotation>
824
+ </xs:element>
825
+ </xs:all>
826
+ </xs:complexType>
827
+ <xs:complexType name="library_details">
828
+ <xs:annotation>
829
+ <xs:appinfo>
830
+ <xs:tags>api get</xs:tags>
831
+ </xs:appinfo>
832
+ <xs:documentation>Information regarding the item's owning library. Output parameter.
833
+ Returned only when view=label.</xs:documentation>
834
+ </xs:annotation>
835
+ <xs:all>
836
+ <xs:element maxOccurs="1" minOccurs="0" name="address" type="library_address">
837
+ <xs:annotation>
838
+ <xs:appinfo>
839
+ <xs:tags>api get</xs:tags>
840
+ </xs:appinfo>
841
+ <xs:documentation>The library's related address. Output parameter.
842
+ Returned only when view=label.</xs:documentation>
843
+ </xs:annotation>
844
+ </xs:element>
845
+ </xs:all>
846
+ </xs:complexType>
847
+ <xs:complexType name="network_numbers">
848
+ <xs:annotation>
849
+ <xs:appinfo>
850
+ <xs:tags>api get</xs:tags>
851
+ </xs:appinfo>
852
+ <xs:documentation>The control numbers of this bibliographic record. Output parameter.
853
+ Returned only when view=label.</xs:documentation>
854
+ </xs:annotation>
855
+ <xs:sequence>
856
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="network_number" type="xs:string"/>
857
+ </xs:sequence>
858
+ </xs:complexType>
859
+ <xs:complexType name="library_address">
860
+ <xs:annotation>
861
+ <xs:appinfo>
862
+ <xs:tags>api get</xs:tags>
863
+ </xs:appinfo>
864
+ <xs:documentation>The library's related address. Output parameter.
865
+ Returned only when view=label.</xs:documentation>
866
+ </xs:annotation>
867
+ <xs:sequence>
868
+ <xs:element maxOccurs="1" minOccurs="0" name="line1" type="xs:string">
869
+ <xs:annotation>
870
+ <xs:appinfo>
871
+ <xs:tags>api get</xs:tags>
872
+ </xs:appinfo>
873
+ <xs:documentation>Line 1 of the address. Output parameter.
874
+ Returned only when view=label.</xs:documentation>
875
+ </xs:annotation>
876
+ </xs:element>
877
+ <xs:element maxOccurs="1" minOccurs="0" name="line2" type="xs:string">
878
+ <xs:annotation>
879
+ <xs:appinfo>
880
+ <xs:tags>api get</xs:tags>
881
+ </xs:appinfo>
882
+ <xs:documentation>Line 2 of the address. Output parameter.
883
+ Returned only when view=label.</xs:documentation>
884
+ </xs:annotation>
885
+ </xs:element>
886
+ <xs:element maxOccurs="1" minOccurs="0" name="line3" type="xs:string">
887
+ <xs:annotation>
888
+ <xs:appinfo>
889
+ <xs:tags>api get</xs:tags>
890
+ </xs:appinfo>
891
+ <xs:documentation>Line 3 of the address. Output parameter.
892
+ Returned only when view=label.</xs:documentation>
893
+ </xs:annotation>
894
+ </xs:element>
895
+ <xs:element maxOccurs="1" minOccurs="0" name="line4" type="xs:string">
896
+ <xs:annotation>
897
+ <xs:appinfo>
898
+ <xs:tags>api get</xs:tags>
899
+ </xs:appinfo>
900
+ <xs:documentation>Line 4 of the address. Output parameter.
901
+ Returned only when view=label.</xs:documentation>
902
+ </xs:annotation>
903
+ </xs:element>
904
+ <xs:element maxOccurs="1" minOccurs="0" name="line5" type="xs:string">
905
+ <xs:annotation>
906
+ <xs:appinfo>
907
+ <xs:tags>api get</xs:tags>
908
+ </xs:appinfo>
909
+ <xs:documentation>Line 5 of the address. Output parameter.
910
+ Returned only when view=label.</xs:documentation>
911
+ </xs:annotation>
912
+ </xs:element>
913
+ <xs:element maxOccurs="1" minOccurs="0" name="city" type="xs:string">
914
+ <xs:annotation>
915
+ <xs:appinfo>
916
+ <xs:tags>api get</xs:tags>
917
+ </xs:appinfo>
918
+ <xs:documentation>The relevant city. Output parameter.
919
+ Returned only when view=label.</xs:documentation>
920
+ </xs:annotation>
921
+ </xs:element>
922
+ <xs:element minOccurs="0" name="country">
923
+ <xs:annotation>
924
+ <xs:appinfo>
925
+ <xs:codeTable>CountryCodes</xs:codeTable>
926
+ <xs:tags>api get</xs:tags>
927
+ </xs:appinfo>
928
+ <xs:documentation>The address' relevant country.
929
+ Possible codes are listed in the 'Country Codes' [code table|https://developers.exlibrisgroup.com/blog/Working-with-the-code-tables-API].
930
+ Output parameter. Returned only when view=label.
931
+ </xs:documentation>
932
+ </xs:annotation>
933
+ <xs:complexType>
934
+ <xs:simpleContent>
935
+ <xs:extension base="xs:string">
936
+ <xs:attribute name="desc" type="xs:string" use="optional"/>
937
+ </xs:extension>
938
+ </xs:simpleContent>
939
+ </xs:complexType>
940
+ </xs:element>
941
+ <xs:element maxOccurs="1" minOccurs="0" name="email" type="xs:string">
942
+ <xs:annotation>
943
+ <xs:appinfo>
944
+ <xs:tags>api get</xs:tags>
945
+ </xs:appinfo>
946
+ <xs:documentation>Output parameter.
947
+ Returned only when view=label.</xs:documentation>
948
+ </xs:annotation>
949
+ </xs:element>
950
+ <xs:element maxOccurs="1" minOccurs="0" name="phone" type="xs:string">
951
+ <xs:annotation>
952
+ <xs:appinfo>
953
+ <xs:tags>api get</xs:tags>
954
+ </xs:appinfo>
955
+ <xs:documentation>Output parameter.
956
+ Returned only when view=label.</xs:documentation>
957
+ </xs:annotation>
958
+ </xs:element>
959
+ <xs:element maxOccurs="1" minOccurs="0" name="postal_code" type="xs:string">
960
+ <xs:annotation>
961
+ <xs:appinfo>
962
+ <xs:tags>api get</xs:tags>
963
+ </xs:appinfo>
964
+ <xs:documentation>The address' relevant postal code. Output parameter.
965
+ Returned only when view=label.</xs:documentation>
966
+ </xs:annotation>
967
+ </xs:element>
968
+ <xs:element maxOccurs="1" minOccurs="0" name="state" type="xs:string">
969
+ <xs:annotation>
970
+ <xs:appinfo>
971
+ <xs:tags>api get</xs:tags>
972
+ </xs:appinfo>
973
+ <xs:documentation>The address' relevant state. Output parameter.
974
+ Returned only when view=label.</xs:documentation>
975
+ </xs:annotation>
976
+ </xs:element>
977
+ </xs:sequence>
978
+ </xs:complexType>
979
+ <xs:complexType name="parsed_alt_call_number">
980
+ <xs:sequence>
981
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="alt_call_no" type="xs:string"/>
982
+ </xs:sequence>
983
+ </xs:complexType>
984
+ <xs:complexType name="parsed_call_number">
985
+ <xs:sequence>
986
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="call_no" type="xs:string"/>
987
+ </xs:sequence>
988
+ </xs:complexType>
989
+ <xs:complexType name="parsed_issue_level_description">
990
+ <xs:sequence>
991
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="issue_level_description" type="xs:string"/>
992
+ </xs:sequence>
993
+ </xs:complexType>
994
+ </xs:schema>
995
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
996
+ <xs:annotation>
997
+ <xs:documentation>A collection of Physical Items</xs:documentation>
998
+ </xs:annotation>
999
+ <xs:include schemaLocation="https://api-eu.hosted.exlibrisgroup.com"/>
1000
+ <xs:element name="items" type="items"/>
1001
+ <xs:complexType name="items">
1002
+ <xs:annotation>
1003
+ <xs:documentation>A collection of Physical Items.</xs:documentation>
1004
+ </xs:annotation>
1005
+ <xs:sequence>
1006
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="item" type="item">
1007
+ <xs:annotation>
1008
+ <xs:documentation>A Physical item.</xs:documentation>
1009
+ </xs:annotation>
1010
+ </xs:element>
1011
+ </xs:sequence>
1012
+ <xs:attribute name="total_record_count" type="xs:int">
1013
+ <xs:annotation>
1014
+ <xs:documentation>The total number of items. This can be used when
1015
+ retrieving the list using pagination.</xs:documentation>
1016
+ </xs:annotation>
1017
+ </xs:attribute>
1018
+ </xs:complexType>
1019
+ </xs:schema>
1020
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
1021
+ <xs:annotation>
1022
+ <xs:documentation>An object representation of a Bibliographic Record</xs:documentation>
1023
+ </xs:annotation>
1024
+ <xs:element name="bib" type="bib"/>
1025
+ <xs:complexType name="bib">
1026
+ <xs:annotation>
1027
+ <xs:documentation>Bibliographic record object</xs:documentation>
1028
+ </xs:annotation>
1029
+ <xs:sequence>
1030
+ <xs:element maxOccurs="1" minOccurs="0" name="mms_id" type="xs:string">
1031
+ <xs:annotation>
1032
+ <xs:appinfo>
1033
+ <xs:tags>api get</xs:tags>
1034
+ </xs:appinfo>
1035
+ <xs:documentation>Bibliographic record identifier. Output parameter.</xs:documentation>
1036
+ </xs:annotation>
1037
+ </xs:element>
1038
+ <xs:element maxOccurs="1" minOccurs="0" name="record_format" type="xs:string">
1039
+ <xs:annotation>
1040
+ <xs:appinfo>
1041
+ <xs:tags>api get post</xs:tags>
1042
+ </xs:appinfo>
1043
+ <xs:documentation>Bibliographic format: marc21, unimarc, kormarc, cnmarc or dc. Default is marc21.</xs:documentation>
1044
+ </xs:annotation>
1045
+ </xs:element>
1046
+ <xs:element maxOccurs="1" minOccurs="0" name="linked_record_id">
1047
+ <xs:annotation>
1048
+ <xs:appinfo>
1049
+ <xs:tags>api get</xs:tags>
1050
+ </xs:appinfo>
1051
+ <xs:documentation>Linked record identifier. Output parameter.</xs:documentation>
1052
+ </xs:annotation>
1053
+ <xs:complexType>
1054
+ <xs:simpleContent>
1055
+ <xs:extension base="xs:string">
1056
+ <xs:attribute name="type" type="xs:string" use="optional"/>
1057
+ </xs:extension>
1058
+ </xs:simpleContent>
1059
+ </xs:complexType>
1060
+ </xs:element>
1061
+ <xs:element minOccurs="0" name="title" type="xs:string">
1062
+ <xs:annotation>
1063
+ <xs:appinfo>
1064
+ <xs:tags>api get</xs:tags>
1065
+ </xs:appinfo>
1066
+ <xs:documentation>The title of the Bibliographic record. Output parameter.</xs:documentation>
1067
+ </xs:annotation>
1068
+ </xs:element>
1069
+ <xs:element minOccurs="0" name="author" type="xs:string">
1070
+ <xs:annotation>
1071
+ <xs:appinfo>
1072
+ <xs:tags>api get</xs:tags>
1073
+ </xs:appinfo>
1074
+ <xs:documentation>Author. Output parameter.</xs:documentation>
1075
+ </xs:annotation>
1076
+ </xs:element>
1077
+ <xs:element maxOccurs="1" minOccurs="0" name="issn" type="xs:string">
1078
+ <xs:annotation>
1079
+ <xs:appinfo>
1080
+ <xs:tags>api get</xs:tags>
1081
+ </xs:appinfo>
1082
+ <xs:documentation>issn. Output parameter.</xs:documentation>
1083
+ </xs:annotation>
1084
+ </xs:element>
1085
+ <xs:element minOccurs="0" name="isbn" type="xs:string">
1086
+ <xs:annotation>
1087
+ <xs:appinfo>
1088
+ <xs:tags>api get</xs:tags>
1089
+ </xs:appinfo>
1090
+ <xs:documentation>isbn. Output parameter.</xs:documentation>
1091
+ </xs:annotation>
1092
+ </xs:element>
1093
+ <xs:element minOccurs="0" name="complete_edition" type="xs:string">
1094
+ <xs:annotation>
1095
+ <xs:appinfo>
1096
+ <xs:tags>api get</xs:tags>
1097
+ </xs:appinfo>
1098
+ <xs:documentation>Complete edition. Output parameter.</xs:documentation>
1099
+ </xs:annotation>
1100
+ </xs:element>
1101
+ <xs:element minOccurs="0" name="network_numbers" type="network_numbers">
1102
+ <xs:annotation>
1103
+ <xs:appinfo>
1104
+ <xs:tags>api get</xs:tags>
1105
+ </xs:appinfo>
1106
+ <xs:documentation>Network number, control number. Output parameter.</xs:documentation>
1107
+ </xs:annotation>
1108
+ </xs:element>
1109
+ <xs:element minOccurs="0" name="place_of_publication" type="xs:string">
1110
+ <xs:annotation>
1111
+ <xs:appinfo>
1112
+ <xs:tags>api get</xs:tags>
1113
+ </xs:appinfo>
1114
+ <xs:documentation>Place of publication, part of the imprint information. Output parameter.</xs:documentation>
1115
+ </xs:annotation>
1116
+ </xs:element>
1117
+ <xs:element minOccurs="0" name="publisher_const" type="xs:string">
1118
+ <xs:annotation>
1119
+ <xs:appinfo>
1120
+ <xs:tags>api get</xs:tags>
1121
+ </xs:appinfo>
1122
+ <xs:documentation>Publisher_const, part of the imprint information. Output parameter.</xs:documentation>
1123
+ </xs:annotation>
1124
+ </xs:element>
1125
+ <xs:element maxOccurs="1" minOccurs="0" name="holdings">
1126
+ <xs:annotation>
1127
+ <xs:appinfo>
1128
+ <xs:tags>api get</xs:tags>
1129
+ </xs:appinfo>
1130
+ <xs:documentation>Link to a list of Holdings for the Bib record. Output parameter.</xs:documentation>
1131
+ </xs:annotation>
1132
+ <xs:complexType>
1133
+ <xs:simpleContent>
1134
+ <xs:extension base="xs:string">
1135
+ <xs:attribute name="link" type="xs:string" use="optional"/>
1136
+ </xs:extension>
1137
+ </xs:simpleContent>
1138
+ </xs:complexType>
1139
+ </xs:element>
1140
+ <xs:element maxOccurs="1" minOccurs="0" name="created_by" type="xs:string">
1141
+ <xs:annotation>
1142
+ <xs:appinfo>
1143
+ <xs:tags>api get</xs:tags>
1144
+ </xs:appinfo>
1145
+ <xs:documentation>Creator of the record. Output parameter.</xs:documentation>
1146
+ </xs:annotation>
1147
+ </xs:element>
1148
+ <xs:element maxOccurs="1" minOccurs="0" name="created_date" type="xs:date">
1149
+ <xs:annotation>
1150
+ <xs:appinfo>
1151
+ <xs:tags>api get</xs:tags>
1152
+ </xs:appinfo>
1153
+ <xs:documentation>The record creation date. Output parameter.</xs:documentation>
1154
+ </xs:annotation>
1155
+ </xs:element>
1156
+ <xs:element maxOccurs="1" minOccurs="0" name="last_modified_by" type="xs:string">
1157
+ <xs:annotation>
1158
+ <xs:appinfo>
1159
+ <xs:tags>api get</xs:tags>
1160
+ </xs:appinfo>
1161
+ <xs:documentation>Last user to modify the record. Output parameter.</xs:documentation>
1162
+ </xs:annotation>
1163
+ </xs:element>
1164
+ <xs:element maxOccurs="1" minOccurs="0" name="last_modified_date" type="xs:date">
1165
+ <xs:annotation>
1166
+ <xs:appinfo>
1167
+ <xs:tags>api get</xs:tags>
1168
+ </xs:appinfo>
1169
+ <xs:documentation>Date by which the last change to the record was made. Output parameter.</xs:documentation>
1170
+ </xs:annotation>
1171
+ </xs:element>
1172
+ <xs:element maxOccurs="1" minOccurs="0" name="suppress_from_publishing" type="xs:string">
1173
+ <xs:annotation>
1174
+ <xs:appinfo>
1175
+ <xs:tags>api get post put</xs:tags>
1176
+ </xs:appinfo>
1177
+ <xs:documentation>Indication whether the record should be published to Primo.
1178
+ Note that the default is true which means that the record will NOT be published.</xs:documentation>
1179
+ </xs:annotation>
1180
+ </xs:element>
1181
+ <xs:element maxOccurs="1" minOccurs="0" name="originating_system" type="xs:string">
1182
+ <xs:annotation>
1183
+ <xs:appinfo>
1184
+ <xs:tags>api get</xs:tags>
1185
+ </xs:appinfo>
1186
+ <xs:documentation>The system in which the record was initially generated. Output parameter.</xs:documentation>
1187
+ </xs:annotation>
1188
+ </xs:element>
1189
+ <xs:element maxOccurs="1" minOccurs="0" name="originating_system_id" type="xs:string">
1190
+ <xs:annotation>
1191
+ <xs:appinfo>
1192
+ <xs:tags>api get</xs:tags>
1193
+ </xs:appinfo>
1194
+ <xs:documentation>The id of the record in the original system. Output parameter.</xs:documentation>
1195
+ </xs:annotation>
1196
+ </xs:element>
1197
+ <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
1198
+ </xs:sequence>
1199
+ <xs:attribute name="link" type="xs:string" use="optional"/>
1200
+ </xs:complexType>
1201
+ <xs:complexType name="network_numbers">
1202
+ <xs:annotation>
1203
+ <xs:appinfo>
1204
+ <xs:tags>api get</xs:tags>
1205
+ </xs:appinfo>
1206
+ <xs:documentation>The control numbers of this bibliographic record. Output parameter.
1207
+ Returned only when view=label.</xs:documentation>
1208
+ </xs:annotation>
1209
+ <xs:sequence>
1210
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="network_number" type="xs:string"/>
1211
+ </xs:sequence>
1212
+ </xs:complexType>
1213
+ </xs:schema>
1214
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
1215
+ <xs:annotation>
1216
+ <xs:documentation>Alma digital representation.</xs:documentation>
1217
+ </xs:annotation>
1218
+ <xs:element name="representation" type="representation"/>
1219
+ <xs:complexType name="representation">
1220
+ <xs:annotation>
1221
+ <xs:appinfo>
1222
+ <xs:tags>api get post delete</xs:tags>
1223
+ </xs:appinfo>
1224
+ <xs:documentation>Representation. Mandatory Boolean attribute 'is_remote'.</xs:documentation>
1225
+ </xs:annotation>
1226
+ <xs:all>
1227
+ <xs:element maxOccurs="1" minOccurs="0" name="id" type="xs:string">
1228
+ <xs:annotation>
1229
+ <xs:appinfo>
1230
+ <xs:tags>api get</xs:tags>
1231
+ </xs:appinfo>
1232
+ <xs:documentation>Internal representation ID.</xs:documentation>
1233
+ </xs:annotation>
1234
+ </xs:element>
1235
+ <xs:element maxOccurs="1" minOccurs="1" name="library">
1236
+ <xs:annotation>
1237
+ <xs:appinfo>
1238
+ <xs:tags>api get post put</xs:tags>
1239
+ <xs:codeTable>libraries</xs:codeTable>
1240
+ </xs:appinfo>
1241
+ <xs:documentation>Library code. Mandatory. See [Get libraries API|https://developers.exlibrisgroup.com/alma/apis/conf/GET/gwPcGly021p29HpB7XTI4Dp4I8TKv6CAxBlD4LyRaVE=/37088dc9-c685-4641-bc7f-60b5ca7cabed]</xs:documentation>
1242
+ </xs:annotation>
1243
+ <xs:complexType>
1244
+ <xs:simpleContent>
1245
+ <xs:extension base="xs:string">
1246
+ <xs:attribute name="desc" type="xs:string" use="optional"/>
1247
+ </xs:extension>
1248
+ </xs:simpleContent>
1249
+ </xs:complexType>
1250
+ </xs:element>
1251
+ <xs:element maxOccurs="1" minOccurs="0" name="label" type="xs:string">
1252
+ <xs:annotation>
1253
+ <xs:appinfo>
1254
+ <xs:tags>api get post put</xs:tags>
1255
+ </xs:appinfo>
1256
+ <xs:documentation>Representation label.</xs:documentation>
1257
+ </xs:annotation>
1258
+ </xs:element>
1259
+ <xs:element maxOccurs="1" minOccurs="0" name="public_note" type="xs:string">
1260
+ <xs:annotation>
1261
+ <xs:appinfo>
1262
+ <xs:tags>api get post put</xs:tags>
1263
+ </xs:appinfo>
1264
+ <xs:documentation>Representation public note.</xs:documentation>
1265
+ </xs:annotation>
1266
+ </xs:element>
1267
+ <xs:element maxOccurs="1" minOccurs="1" name="usage_type">
1268
+ <xs:annotation>
1269
+ <xs:appinfo>
1270
+ <xs:tags>api get post put</xs:tags>
1271
+ <xs:codeTable>RepresentationUsageType</xs:codeTable>
1272
+ </xs:appinfo>
1273
+ <xs:documentation>Representation usage type. Possible codes are listed in 'RepresentationUsageType' [code table|https://developers.exlibrisgroup.com/blog/Working-with-the-code-tables-API].</xs:documentation>
1274
+ </xs:annotation>
1275
+ <xs:complexType>
1276
+ <xs:simpleContent>
1277
+ <xs:extension base="xs:string">
1278
+ <xs:attribute name="desc" type="xs:string" use="optional"/>
1279
+ </xs:extension>
1280
+ </xs:simpleContent>
1281
+ </xs:complexType>
1282
+ </xs:element>
1283
+ <!-- Special (partial) Rep fields -->
1284
+ <xs:element maxOccurs="1" minOccurs="0" name="entity_type">
1285
+ <xs:annotation>
1286
+ <xs:appinfo>
1287
+ <xs:tags>api get post put</xs:tags>
1288
+ <xs:codeTable>representationEntityType</xs:codeTable>
1289
+ </xs:appinfo>
1290
+ <xs:documentation>Representation Entity Type. Possible values are listed in Representation Entity Type code-table '.</xs:documentation>
1291
+ </xs:annotation>
1292
+ <xs:complexType>
1293
+ <xs:simpleContent>
1294
+ <xs:extension base="xs:string">
1295
+ <xs:attribute name="desc" type="xs:string" use="optional"/>
1296
+ </xs:extension>
1297
+ </xs:simpleContent>
1298
+ </xs:complexType>
1299
+ </xs:element>
1300
+ <xs:element maxOccurs="1" minOccurs="0" name="author" type="xs:string">
1301
+ <xs:annotation>
1302
+ <xs:appinfo>
1303
+ <xs:tags>api get post put</xs:tags>
1304
+ </xs:appinfo>
1305
+ <xs:documentation>Author. Relevant only for entity_type=CHAPTER, ARTICLE, AUDIOVISUAL.</xs:documentation>
1306
+ </xs:annotation>
1307
+ </xs:element>
1308
+ <xs:element maxOccurs="1" minOccurs="0" name="title" type="xs:string">
1309
+ <xs:annotation>
1310
+ <xs:appinfo>
1311
+ <xs:tags>api get post put</xs:tags>
1312
+ </xs:appinfo>
1313
+ <xs:documentation>Title. Relevant only for entity_type=CHAPTER, ARTICLE, AUDIOVISUAL.</xs:documentation>
1314
+ </xs:annotation>
1315
+ </xs:element>
1316
+ <xs:element maxOccurs="1" minOccurs="0" name="volume" type="xs:string">
1317
+ <xs:annotation>
1318
+ <xs:appinfo>
1319
+ <xs:tags>api get post put</xs:tags>
1320
+ </xs:appinfo>
1321
+ <xs:documentation>Volume. Relevant only for entity_type=ARTICLE, ISSUE, Issue-Detailed.</xs:documentation>
1322
+ </xs:annotation>
1323
+ </xs:element>
1324
+ <xs:element maxOccurs="1" minOccurs="0" name="issue" type="xs:string">
1325
+ <xs:annotation>
1326
+ <xs:appinfo>
1327
+ <xs:tags>api get post put</xs:tags>
1328
+ </xs:appinfo>
1329
+ <xs:documentation>Issue. Relevant only for entity_type=ISSUE, ARTICLE, Issue-Detailed.</xs:documentation>
1330
+ </xs:annotation>
1331
+ </xs:element>
1332
+ <xs:element maxOccurs="1" minOccurs="0" name="date" type="xs:string">
1333
+ <xs:annotation>
1334
+ <xs:appinfo>
1335
+ <xs:tags>api get post put</xs:tags>
1336
+ </xs:appinfo>
1337
+ <xs:documentation>Date. Relevant only for entity_type=ISSUE, ARTICLE.</xs:documentation>
1338
+ </xs:annotation>
1339
+ </xs:element>
1340
+ <xs:element maxOccurs="1" minOccurs="0" name="start_page" type="xs:string">
1341
+ <xs:annotation>
1342
+ <xs:appinfo>
1343
+ <xs:tags>api get post put</xs:tags>
1344
+ </xs:appinfo>
1345
+ <xs:documentation>Start Page. Relevant only for entity_type=CHAPTER, ARTICLE.</xs:documentation>
1346
+ </xs:annotation>
1347
+ </xs:element>
1348
+ <xs:element maxOccurs="1" minOccurs="0" name="end_page" type="xs:string">
1349
+ <xs:annotation>
1350
+ <xs:appinfo>
1351
+ <xs:tags>api get post put</xs:tags>
1352
+ </xs:appinfo>
1353
+ <xs:documentation>End Page. Relevant only for entity_type=CHAPTER, ARTICLE.</xs:documentation>
1354
+ </xs:annotation>
1355
+ </xs:element>
1356
+ <xs:element maxOccurs="1" minOccurs="0" name="track" type="xs:string">
1357
+ <xs:annotation>
1358
+ <xs:appinfo>
1359
+ <xs:tags>api get post put</xs:tags>
1360
+ </xs:appinfo>
1361
+ <xs:documentation>Track. Relevant only for entity_type=AUDIOVISUAL.</xs:documentation>
1362
+ </xs:annotation>
1363
+ </xs:element>
1364
+ <xs:element maxOccurs="1" minOccurs="0" name="start_time" type="xs:string">
1365
+ <xs:annotation>
1366
+ <xs:appinfo>
1367
+ <xs:tags>api get post put</xs:tags>
1368
+ </xs:appinfo>
1369
+ <xs:documentation>Start Time. Relevant only for entity_type=AUDIOVISUAL.</xs:documentation>
1370
+ </xs:annotation>
1371
+ </xs:element>
1372
+ <xs:element maxOccurs="1" minOccurs="0" name="end_time" type="xs:string">
1373
+ <xs:annotation>
1374
+ <xs:appinfo>
1375
+ <xs:tags>api get post put</xs:tags>
1376
+ </xs:appinfo>
1377
+ <xs:documentation>End Time. Relevant only for entity_type=AUDIOVISUAL.</xs:documentation>
1378
+ </xs:annotation>
1379
+ </xs:element>
1380
+ <xs:element maxOccurs="1" minOccurs="0" name="number" type="xs:string">
1381
+ <xs:annotation>
1382
+ <xs:appinfo>
1383
+ <xs:tags>api get post put</xs:tags>
1384
+ </xs:appinfo>
1385
+ <xs:documentation>Number. Relevant only for entity_type=CHAPTER, Issue-Detailed.</xs:documentation>
1386
+ </xs:annotation>
1387
+ </xs:element>
1388
+ <xs:element maxOccurs="1" minOccurs="0" name="year" type="xs:string">
1389
+ <xs:annotation>
1390
+ <xs:appinfo>
1391
+ <xs:tags>api get post put</xs:tags>
1392
+ </xs:appinfo>
1393
+ <xs:documentation>Number. Relevant only for entity_type=Issue-Detailed.</xs:documentation>
1394
+ </xs:annotation>
1395
+ </xs:element>
1396
+ <xs:element maxOccurs="1" minOccurs="0" name="season_month" type="xs:string">
1397
+ <xs:annotation>
1398
+ <xs:appinfo>
1399
+ <xs:tags>api get post put</xs:tags>
1400
+ </xs:appinfo>
1401
+ <xs:documentation>Number. Relevant only for entity_type=Issue-Detailed.</xs:documentation>
1402
+ </xs:annotation>
1403
+ </xs:element>
1404
+ <xs:element maxOccurs="1" minOccurs="0" name="day_in_month" type="xs:string">
1405
+ <xs:annotation>
1406
+ <xs:appinfo>
1407
+ <xs:tags>api get post put</xs:tags>
1408
+ </xs:appinfo>
1409
+ <xs:documentation>Number. Relevant only for entity_type=Issue-Detailed.</xs:documentation>
1410
+ </xs:annotation>
1411
+ </xs:element>
1412
+ <xs:element maxOccurs="1" minOccurs="0" name="access_rights_policy_id">
1413
+ <xs:annotation>
1414
+ <xs:appinfo>
1415
+ <xs:tags>api get post put</xs:tags>
1416
+ </xs:appinfo>
1417
+ <xs:documentation>Representation access rights policy id. Can be used only when is_remote=false.</xs:documentation>
1418
+ </xs:annotation>
1419
+ <xs:complexType>
1420
+ <xs:simpleContent>
1421
+ <xs:extension base="xs:string">
1422
+ <xs:attribute name="desc" type="xs:string" use="optional"/>
1423
+ </xs:extension>
1424
+ </xs:simpleContent>
1425
+ </xs:complexType>
1426
+ </xs:element>
1427
+ <xs:element maxOccurs="1" minOccurs="0" name="delivery_url" type="xs:string">
1428
+ <xs:annotation>
1429
+ <xs:appinfo>
1430
+ <xs:tags>api get</xs:tags>
1431
+ </xs:appinfo>
1432
+ <xs:documentation>URL to view the representation.</xs:documentation>
1433
+ </xs:annotation>
1434
+ </xs:element>
1435
+ <xs:element maxOccurs="1" minOccurs="0" name="thumbnail_url" type="xs:string">
1436
+ <xs:annotation>
1437
+ <xs:appinfo>
1438
+ <xs:tags>api get</xs:tags>
1439
+ </xs:appinfo>
1440
+ <xs:documentation>URL to view the representation thumbnail.</xs:documentation>
1441
+ </xs:annotation>
1442
+ </xs:element>
1443
+ <xs:element maxOccurs="1" minOccurs="0" name="request_id" type="xs:string">
1444
+ <xs:annotation>
1445
+ <xs:appinfo>
1446
+ <xs:tags>api get post</xs:tags>
1447
+ </xs:appinfo>
1448
+ <xs:documentation>Related digitization request id.</xs:documentation>
1449
+ </xs:annotation>
1450
+ </xs:element>
1451
+ <xs:element maxOccurs="1" minOccurs="0" name="deposit_id" type="xs:string">
1452
+ <xs:annotation>
1453
+ <xs:appinfo>
1454
+ <xs:tags>api get</xs:tags>
1455
+ </xs:appinfo>
1456
+ <xs:documentation>Related deposit id.</xs:documentation>
1457
+ </xs:annotation>
1458
+ </xs:element>
1459
+ <xs:element maxOccurs="1" minOccurs="0" name="repository">
1460
+ <xs:annotation>
1461
+ <xs:appinfo>
1462
+ <xs:tags>api get post</xs:tags>
1463
+ </xs:appinfo>
1464
+ <xs:documentation>The repository code as defined in the list of Alma remote repositories. Mandatory when is_remote=true, should not be used when is_remote=false.</xs:documentation>
1465
+ </xs:annotation>
1466
+ <xs:complexType>
1467
+ <xs:simpleContent>
1468
+ <xs:extension base="xs:string">
1469
+ <xs:attribute name="desc" type="xs:string" use="optional"/>
1470
+ </xs:extension>
1471
+ </xs:simpleContent>
1472
+ </xs:complexType>
1473
+ </xs:element>
1474
+ <xs:element maxOccurs="1" minOccurs="0" name="originating_record_id" type="xs:string">
1475
+ <xs:annotation>
1476
+ <xs:appinfo>
1477
+ <xs:tags>api get post</xs:tags>
1478
+ </xs:appinfo>
1479
+ <xs:documentation>Unique ID of the object in the remote repository. Mandatory when is_remote=true, should not be used when is_remote=false.</xs:documentation>
1480
+ </xs:annotation>
1481
+ </xs:element>
1482
+ <xs:element maxOccurs="1" minOccurs="0" name="linking_parameter_1" type="xs:string">
1483
+ <xs:annotation>
1484
+ <xs:appinfo>
1485
+ <xs:tags>api get post put</xs:tags>
1486
+ </xs:appinfo>
1487
+ <xs:documentation>Other remote repository object identifier. Optional when is_remote=true, should not be used when is_remote=false.</xs:documentation>
1488
+ </xs:annotation>
1489
+ </xs:element>
1490
+ <xs:element maxOccurs="1" minOccurs="0" name="linking_parameter_2" type="xs:string">
1491
+ <xs:annotation>
1492
+ <xs:appinfo>
1493
+ <xs:tags>api get post put</xs:tags>
1494
+ </xs:appinfo>
1495
+ <xs:documentation>Other remote repository object identifier. Optional when is_remote=true, should not be used when is_remote=false.</xs:documentation>
1496
+ </xs:annotation>
1497
+ </xs:element>
1498
+ <xs:element maxOccurs="1" minOccurs="0" name="linking_parameter_3" type="xs:string">
1499
+ <xs:annotation>
1500
+ <xs:appinfo>
1501
+ <xs:tags>api get post put</xs:tags>
1502
+ </xs:appinfo>
1503
+ <xs:documentation>Other remote repository object identifier. Optional when is_remote=true, should not be used when is_remote=false.</xs:documentation>
1504
+ </xs:annotation>
1505
+ </xs:element>
1506
+ <xs:element maxOccurs="1" minOccurs="0" name="linking_parameter_4" type="xs:string">
1507
+ <xs:annotation>
1508
+ <xs:appinfo>
1509
+ <xs:tags>api get post put</xs:tags>
1510
+ </xs:appinfo>
1511
+ <xs:documentation>Other remote repository object identifier. Optional when is_remote=true, should not be used when is_remote=false.</xs:documentation>
1512
+ </xs:annotation>
1513
+ </xs:element>
1514
+ <xs:element maxOccurs="1" minOccurs="0" name="linking_parameter_5" type="xs:string">
1515
+ <xs:annotation>
1516
+ <xs:appinfo>
1517
+ <xs:tags>api get post put</xs:tags>
1518
+ </xs:appinfo>
1519
+ <xs:documentation>Other remote repository object identifier. Optional when is_remote=true, should not be used when is_remote=false.</xs:documentation>
1520
+ </xs:annotation>
1521
+ </xs:element>
1522
+ <xs:element maxOccurs="1" minOccurs="0" name="created_by" type="xs:string">
1523
+ <xs:annotation>
1524
+ <xs:appinfo>
1525
+ <xs:tags>api get</xs:tags>
1526
+ </xs:appinfo>
1527
+ <xs:documentation>User who created the representation.</xs:documentation>
1528
+ </xs:annotation>
1529
+ </xs:element>
1530
+ <xs:element maxOccurs="1" minOccurs="0" name="created_date" type="xs:date">
1531
+ <xs:annotation>
1532
+ <xs:appinfo>
1533
+ <xs:tags>api get</xs:tags>
1534
+ </xs:appinfo>
1535
+ <xs:documentation>Date the representation was created.</xs:documentation>
1536
+ </xs:annotation>
1537
+ </xs:element>
1538
+ <xs:element maxOccurs="1" minOccurs="0" name="last_modified_by" type="xs:string">
1539
+ <xs:annotation>
1540
+ <xs:appinfo>
1541
+ <xs:tags>api get</xs:tags>
1542
+ </xs:appinfo>
1543
+ <xs:documentation>User who last modified the representation.</xs:documentation>
1544
+ </xs:annotation>
1545
+ </xs:element>
1546
+ <xs:element maxOccurs="1" minOccurs="0" name="last_modified_date" type="xs:date">
1547
+ <xs:annotation>
1548
+ <xs:appinfo>
1549
+ <xs:tags>api get</xs:tags>
1550
+ </xs:appinfo>
1551
+ <xs:documentation>Date the representation was last modified.</xs:documentation>
1552
+ </xs:annotation>
1553
+ </xs:element>
1554
+ <xs:element maxOccurs="1" minOccurs="0" name="files">
1555
+ <xs:annotation>
1556
+ <xs:appinfo>
1557
+ <xs:tags>api get</xs:tags>
1558
+ </xs:appinfo>
1559
+ <xs:documentation>File-level information.</xs:documentation>
1560
+ </xs:annotation>
1561
+ <xs:complexType>
1562
+ <xs:simpleContent>
1563
+ <xs:extension base="xs:string">
1564
+ <xs:attribute name="total_record_count" type="xs:int">
1565
+ <xs:annotation>
1566
+ <xs:documentation>The total number of files.</xs:documentation>
1567
+ </xs:annotation>
1568
+ </xs:attribute>
1569
+ <xs:attribute name="link" type="xs:string">
1570
+ <xs:annotation>
1571
+ <xs:documentation>Link to the files URI.</xs:documentation>
1572
+ </xs:annotation>
1573
+ </xs:attribute>
1574
+ </xs:extension>
1575
+ </xs:simpleContent>
1576
+ </xs:complexType>
1577
+ </xs:element>
1578
+ </xs:all>
1579
+ <xs:attribute name="is_remote" type="xs:boolean" use="required">
1580
+ <xs:annotation>
1581
+ <xs:documentation>Type of representation. Mandatory.</xs:documentation>
1582
+ </xs:annotation>
1583
+ </xs:attribute>
1584
+ <xs:attribute name="link" type="xs:string" use="optional"/>
1585
+ </xs:complexType>
1586
+ </xs:schema>
1587
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
1588
+ <xs:annotation>
1589
+ <xs:documentation>List of Digital Representations in Alma. The list contains both
1590
+ Remote and regular Representations if exists.</xs:documentation>
1591
+ </xs:annotation>
1592
+ <xs:include schemaLocation="https://api-eu.hosted.exlibrisgroup.com"/>
1593
+ <xs:element name="representations" type="representations"/>
1594
+ <xs:complexType name="representations">
1595
+ <xs:annotation>
1596
+ <xs:documentation>A list of Representations.</xs:documentation>
1597
+ </xs:annotation>
1598
+ <xs:sequence>
1599
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="representation" type="representation">
1600
+ <xs:annotation>
1601
+ <xs:documentation>Representation object.</xs:documentation>
1602
+ </xs:annotation>
1603
+ </xs:element>
1604
+ </xs:sequence>
1605
+ <xs:attribute name="total_record_count" type="xs:long">
1606
+ <xs:annotation>
1607
+ <xs:documentation>The total number of representations.</xs:documentation>
1608
+ </xs:annotation>
1609
+ </xs:attribute>
1610
+ </xs:complexType>
1611
+ </xs:schema>
1612
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
1613
+ <xs:annotation>
1614
+ <xs:documentation>Representation File</xs:documentation>
1615
+ </xs:annotation>
1616
+ <xs:element name="representation_file" type="representation_file"/>
1617
+ <xs:complexType name="representation_file">
1618
+ <xs:annotation>
1619
+ <xs:documentation>File.</xs:documentation>
1620
+ </xs:annotation>
1621
+ <xs:all>
1622
+ <xs:element maxOccurs="1" minOccurs="1" name="pid" type="xs:string">
1623
+ <xs:annotation>
1624
+ <xs:appinfo>
1625
+ <xs:tags>api get</xs:tags>
1626
+ </xs:appinfo>
1627
+ <xs:documentation>File Id.</xs:documentation>
1628
+ </xs:annotation>
1629
+ </xs:element>
1630
+ <xs:element maxOccurs="1" minOccurs="1" name="thumbnail_url" type="xs:string">
1631
+ <xs:annotation>
1632
+ <xs:appinfo>
1633
+ <xs:tags>api get</xs:tags>
1634
+ </xs:appinfo>
1635
+ <xs:documentation>URL to view the file thumbnail.</xs:documentation>
1636
+ </xs:annotation>
1637
+ </xs:element>
1638
+ <xs:element maxOccurs="1" minOccurs="0" name="label" type="xs:string">
1639
+ <xs:annotation>
1640
+ <xs:appinfo>
1641
+ <xs:tags>api get post put</xs:tags>
1642
+ </xs:appinfo>
1643
+ <xs:documentation>File label.</xs:documentation>
1644
+ </xs:annotation>
1645
+ </xs:element>
1646
+ <xs:element maxOccurs="1" minOccurs="1" name="size" type="xs:long">
1647
+ <xs:annotation>
1648
+ <xs:appinfo>
1649
+ <xs:tags>api get</xs:tags>
1650
+ </xs:appinfo>
1651
+ <xs:documentation>File size (bytes).</xs:documentation>
1652
+ </xs:annotation>
1653
+ </xs:element>
1654
+ <xs:element maxOccurs="1" minOccurs="1" name="path" type="xs:string">
1655
+ <xs:annotation>
1656
+ <xs:appinfo>
1657
+ <xs:tags>api get post</xs:tags>
1658
+ </xs:appinfo>
1659
+ <xs:documentation>File path. When POST, should contain a reference to a file in the library's S3 upload folder (i.e. 01UNI_INST/upload/scratch/1234/file.png). </xs:documentation>
1660
+ </xs:annotation>
1661
+ </xs:element>
1662
+ <xs:element maxOccurs="1" minOccurs="0" name="url" type="xs:string">
1663
+ <xs:annotation>
1664
+ <xs:appinfo>
1665
+ <xs:tags>api get</xs:tags>
1666
+ </xs:appinfo>
1667
+ <xs:documentation>File URL. Requires expand=url parameter.</xs:documentation>
1668
+ </xs:annotation>
1669
+ </xs:element>
1670
+ </xs:all>
1671
+ </xs:complexType>
1672
+ </xs:schema>
1673
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
1674
+ <xs:annotation>
1675
+ <xs:documentation>List of files for a representation.</xs:documentation>
1676
+ </xs:annotation>
1677
+ <xs:include schemaLocation="https://api-eu.hosted.exlibrisgroup.com"/>
1678
+ <xs:element name="representation_files" type="representation_files"/>
1679
+ <xs:complexType name="representation_files">
1680
+ <xs:annotation>
1681
+ <xs:documentation>A list of files.</xs:documentation>
1682
+ </xs:annotation>
1683
+ <xs:sequence>
1684
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="representation_file" type="representation_file">
1685
+ <xs:annotation>
1686
+ <xs:documentation>File object.</xs:documentation>
1687
+ </xs:annotation>
1688
+ </xs:element>
1689
+ </xs:sequence>
1690
+ <xs:attribute name="total_record_count" type="xs:int">
1691
+ <xs:annotation>
1692
+ <xs:documentation>The total number of files.</xs:documentation>
1693
+ </xs:annotation>
1694
+ </xs:attribute>
1695
+ </xs:complexType>
1696
+ </xs:schema>
1697
+ </grammars>
1698
+ <resources base="https://api-na.hosted.exlibrisgroup.com">
1699
+ <resource path="/almaws/v1/bibs">
1700
+ <method name="GET">
1701
+ <doc title="Retrieve Bibs">This web service returns Bib records in an XML format from a list of Bib IDs submitted in a parameter.
1702
+
1703
+ To include physical inventory information use "expand=p_avail":
1704
+ AVA field is added per holding record as following:
1705
+ $$a - Institution code, $$b - Library code, $$c - Location display name,
1706
+ $$d - Call number, $$e - Availability (such as available, unavailable, or check_holdings),
1707
+ $$j - Location code, $$k - Call number type, $$f - total items, $$g - non available items,
1708
+ $$p - priority.
1709
+ Note: When using the API against a NZ Institution AVA fields will be retrieved for each member which has holdings.
1710
+
1711
+ To include digital inventory information use: "expand=d_avail":
1712
+ AVD field is added per Representations, as following:
1713
+ $$a - Institution code, $$b - Representations ID, $$c - REPRESENTATION/REMOTE_REPRESENTATION, $$d - Repository Name, $$e - Label,
1714
+
1715
+ To include electronic inventory information use: "expand=e_avail":
1716
+ AVE field is added per portfolio, as following:
1717
+ $$l -library code, $$m - Collection name, $$n - Public note, $$u - link to the bibliographic record's services page,
1718
+ $$s - coverage statement (as displayed in Primo's ViewIt mashup), $$t - Interface name.
1719
+ Note: $$u will be created based on a Customer Parameter in the "Customer Parameters" mapping table (module: general): publishing_base_url.
1720
+
1721
+ Note: The expand parameter is not supported for Dublin Core records.
1722
+ Note:The bibliographic record retrieved from Alma is enriched with additional identifiers.
1723
+ The MMS ID of the Network Zone and the Alma Community Zone ID are added to the record
1724
+ in additional 035 marc fields. The Community Zone ID is added with the prefix (EXLCZ)
1725
+ while the Network Zone ID is added with the prefix (EXLNZ-network_code). The local
1726
+ MMS ID is in the 001 marc field. These additional shared IDs can be used for better
1727
+ identification of a common record. The local MMS ID should be used when there is a need to call
1728
+ an API in the institution for the record.</doc>
1729
+ <request>
1730
+ <param name="mms_id" style="query" type="xs:string">
1731
+ <doc>A list of Bib Record IDs (for example: 99939650000541,99939680000541) from 1 to the limit of 100</doc>
1732
+ </param>
1733
+ <param name="ie_id" style="query" default="" type="xs:string">
1734
+ <doc>IE identifier (IEP, IED etc.)</doc>
1735
+ </param>
1736
+ <param name="holdings_id" style="query" default="" type="xs:string">
1737
+ <doc>Holdings ID</doc>
1738
+ </param>
1739
+ <param name="representation_id" style="query" default="" type="xs:string">
1740
+ <doc>Representation ID</doc>
1741
+ </param>
1742
+ <param name="nz_mms_id" style="query" default="" type="xs:string">
1743
+ <doc>Network Zone ID</doc>
1744
+ </param>
1745
+ <param name="view" style="query" type="xs:string">
1746
+ <doc>Use view=brief to retrieve without the MARCXML.</doc>
1747
+ </param>
1748
+ <param name="expand" style="query" default="None" type="xs:string">
1749
+ <doc>This parameter allows for expanding the bibliographic record with additional information:
1750
+ p_avail - Expand physical inventory information.
1751
+ e_avail - Expand electronic inventory information.
1752
+ d_avail - Expand digital inventory information.
1753
+ To use more than one, use a comma separator.</doc>
1754
+ </param>
1755
+ </request>
1756
+ <response>
1757
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
1758
+ <doc title="402203">Input parameter mmsId list is not valid.</doc>
1759
+ <representation mediaType="application/xml">
1760
+ <doc title="Bibs">rest_bibs.xsd</doc>
1761
+ </representation>
1762
+ <representation mediaType="application/json">
1763
+ <doc title="Bibs">rest_bibs.xsd</doc>
1764
+ </representation>
1765
+ </response>
1766
+ </method>
1767
+ <method name="POST">
1768
+ <doc title="Create record">These web services create a new Bib record, and also allows creation of a local record for a NZ record.
1769
+ Note: JSON is not supported for this API.</doc>
1770
+ <request>
1771
+ <param name="from_nz_mms_id" style="query" default="" type="xs:string">
1772
+ <doc>The MMS_ID of the Network-Zone record. Leave empty when creating a regular local record.</doc>
1773
+ </param>
1774
+ <representation mediaType="application/xml">
1775
+ <doc>This method takes a Bib object. When creating linked record send an empty Bib object: &lt;bib/&gt;</doc>
1776
+ </representation>
1777
+ <representation mediaType="application/json">
1778
+ <doc>This method takes a Bib object. When creating linked record send an empty Bib object: &lt;bib/&gt;</doc>
1779
+ </representation>
1780
+ </request>
1781
+ <response>
1782
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
1783
+ <doc title="402209">Given bib xml is invalid.</doc>
1784
+ <doc title="402204">Input parameters mmsId X is not numeric.</doc>
1785
+ <doc title="402210">Failed to create new bib.</doc>
1786
+ <doc title="33007">No record found for MMS id X</doc>
1787
+ <doc title="60105">JSON is not supported for this API.</doc>
1788
+ <representation mediaType="application/xml">
1789
+ <doc title="Bib">rest_bib.xsd</doc>
1790
+ </representation>
1791
+ <representation mediaType="application/json">
1792
+ <doc title="Bib">rest_bib.xsd</doc>
1793
+ </representation>
1794
+ </response>
1795
+ </method>
1796
+ <resource path="collections">
1797
+ <method name="GET">
1798
+ <doc title="Retrieve Collections">This Web service returns a list of collections.</doc>
1799
+ <request>
1800
+ <param name="level" style="query" type="xs:string">
1801
+ <doc>This parameter determines the number of levels of sub-collections should be retrieved. For example, 1 = only current; 2 = immediate decendants. Default is 1.</doc>
1802
+ </param>
1803
+ </request>
1804
+ <response>
1805
+ <representation mediaType="application/xml">
1806
+ <doc title="Collections">rest_collections.xsd</doc>
1807
+ </representation>
1808
+ <representation mediaType="application/json">
1809
+ <doc title="Collections">rest_collections.xsd</doc>
1810
+ </representation>
1811
+ </response>
1812
+ </method>
1813
+ <method name="POST">
1814
+ <doc title="Create Collection">This Web service creates a collection.</doc>
1815
+ <request>
1816
+ <representation mediaType="application/xml">
1817
+ <doc>This method takes a Collection object.</doc>
1818
+ </representation>
1819
+ <representation mediaType="application/json">
1820
+ <doc>This method takes a Collection object.</doc>
1821
+ </representation>
1822
+ </request>
1823
+ <response>
1824
+ <representation mediaType="application/xml">
1825
+ <doc title="Collection">rest_collection.xsd</doc>
1826
+ </representation>
1827
+ <representation mediaType="application/json">
1828
+ <doc title="Collection">rest_collection.xsd</doc>
1829
+ </representation>
1830
+ </response>
1831
+ </method>
1832
+ </resource>
1833
+ <resource path="collections/{pid}">
1834
+ <param name="pid" style="template" type="xs:string">
1835
+ <doc>The collection ID.</doc>
1836
+ </param>
1837
+ <method name="GET">
1838
+ <doc title="Retrieve Collection">This Web service returns a collection for a given pid.</doc>
1839
+ <request>
1840
+ <param name="level" style="query" type="xs:string">
1841
+ <doc>This parameter determines the number of levels of sub-collections should be retrieved. For example, 1 = only current; 2 = immediate decendants. Default is 1.</doc>
1842
+ </param>
1843
+ </request>
1844
+ <response>
1845
+ <representation mediaType="application/xml">
1846
+ <doc title="Collection">rest_collection.xsd</doc>
1847
+ </representation>
1848
+ <representation mediaType="application/json">
1849
+ <doc title="Collection">rest_collection.xsd</doc>
1850
+ </representation>
1851
+ </response>
1852
+ </method>
1853
+ </resource>
1854
+ <resource path="collections/{pid}/bibs">
1855
+ <param name="pid" style="template" type="xs:string">
1856
+ <doc>The collection ID.</doc>
1857
+ </param>
1858
+ <method name="GET">
1859
+ <doc title="Retrieve Bibs in a collection">This Web service returns a list of bibliographic titles in a given collection.</doc>
1860
+ <request>
1861
+ <param name="offset" style="query" default="0" type="xs:string">
1862
+ <doc>Offset of the results returned. Optional.Default value: 0, which means that the first results will be returned. </doc>
1863
+ </param>
1864
+ <param name="limit" style="query" default="10" type="xs:int">
1865
+ <doc>Limits the number of results. Optional. Valid values are 0-100. Default value: 10.</doc>
1866
+ </param>
1867
+ </request>
1868
+ <response>
1869
+ <representation mediaType="application/xml">
1870
+ <doc title="Bibs">rest_bibs.xsd</doc>
1871
+ </representation>
1872
+ <representation mediaType="application/json">
1873
+ <doc title="Bibs">rest_bibs.xsd</doc>
1874
+ </representation>
1875
+ </response>
1876
+ </method>
1877
+ <method name="POST">
1878
+ <doc title="Add Bib to a collection">This Web service adds a bibliographic title into a given collection.</doc>
1879
+ <request>
1880
+ <representation mediaType="application/xml">
1881
+ <doc>This method takes an Bib object with only mms_id.</doc>
1882
+ </representation>
1883
+ <representation mediaType="application/json">
1884
+ <doc>This method takes an Bib object with only mms_id.</doc>
1885
+ </representation>
1886
+ </request>
1887
+ <response>
1888
+ <doc title="402261">Bib record is already assigned to this collection.</doc>
1889
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
1890
+ <representation mediaType="application/xml">
1891
+ <doc title="Bib">rest_bib.xsd</doc>
1892
+ </representation>
1893
+ <representation mediaType="application/json">
1894
+ <doc title="Bib">rest_bib.xsd</doc>
1895
+ </representation>
1896
+ </response>
1897
+ </method>
1898
+ </resource>
1899
+ <resource path="collections/{pid}/bibs/{mms_id}">
1900
+ <param name="pid" style="template" type="xs:string">
1901
+ <doc>The collection ID.</doc>
1902
+ </param>
1903
+ <param name="mms_id" style="template" type="xs:string">
1904
+ <doc>The Bib Record ID (for example, 99939650000541).</doc>
1905
+ </param>
1906
+ <method name="DELETE">
1907
+ <doc title="Remove Bib from a collection">This Web service removes a bibliographic title from a collection.</doc>
1908
+ <request/>
1909
+ <response status="204"/>
1910
+ </method>
1911
+ </resource>
1912
+ <resource path="test">
1913
+ <method name="GET">
1914
+ <doc title="GET Inventory Test API">This API is used to test if the API key was configured correctly.</doc>
1915
+ <response>
1916
+ <representation mediaType="application/xml">
1917
+ <param name="result" style="plain" type="xs:string"/>
1918
+ </representation>
1919
+ <representation mediaType="application/json">
1920
+ <param name="result" style="plain" type="xs:string"/>
1921
+ </representation>
1922
+ </response>
1923
+ </method>
1924
+ <method name="POST">
1925
+ <doc title="POST Inventory Test API">This API is used to test if the API key was configured correctly, including read/write permissions.</doc>
1926
+ <response>
1927
+ <representation mediaType="application/xml">
1928
+ <param name="result" style="plain" type="xs:string"/>
1929
+ </representation>
1930
+ <representation mediaType="application/json">
1931
+ <param name="result" style="plain" type="xs:string"/>
1932
+ </representation>
1933
+ </response>
1934
+ </method>
1935
+ </resource>
1936
+ <resource path="{mmsId}/holdings/{holdingId}/items/{itemPid}/requests/{requestId}">
1937
+ <param name="mmsId" style="template" type="xs:string">
1938
+ <doc>The Bib Record ID.</doc>
1939
+ </param>
1940
+ <param name="holdingId" style="template" type="xs:string">
1941
+ <doc>The Holding Record ID.</doc>
1942
+ </param>
1943
+ <param name="itemPid" style="template" type="xs:string">
1944
+ <doc>The Item ID.</doc>
1945
+ </param>
1946
+ <param name="requestId" style="template" type="xs:string">
1947
+ <doc>The Request ID.</doc>
1948
+ </param>
1949
+ <method name="DELETE">
1950
+ <doc title="Cancel Request">This web service canceles a request.</doc>
1951
+ <request>
1952
+ <param name="reason" style="query" type="xs:string">
1953
+ <doc>Code of the cancel reason. Must be a value from the code table 'RequestCancellationReasons'</doc>
1954
+ </param>
1955
+ <param name="note" style="query" default="" type="xs:string">
1956
+ <doc>Note with additional information regarding the cancellation.</doc>
1957
+ </param>
1958
+ <param name="notify_user" style="query" default="true" type="xs:boolean">
1959
+ <doc>Boolean flag for notifying the requester of the cancellation (when relevant). Defaults to 'true'.</doc>
1960
+ </param>
1961
+ </request>
1962
+ <response status="204">
1963
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
1964
+ </response>
1965
+ </method>
1966
+ </resource>
1967
+ <resource path="{mmsId}/requests/{requestId}">
1968
+ <param name="mmsId" style="template" type="xs:string"/>
1969
+ <param name="requestId" style="template" type="xs:string"/>
1970
+ <method name="DELETE">
1971
+ <doc title="Cancel Request">This web service cancels a request.</doc>
1972
+ <request>
1973
+ <param name="reason" style="query" type="xs:string">
1974
+ <doc>Code of the cancel reason. Must be a value from the code table 'RequestCancellationReasons'</doc>
1975
+ </param>
1976
+ <param name="note" style="query" default="" type="xs:string">
1977
+ <doc>Note with additional information regarding the cancellation.</doc>
1978
+ </param>
1979
+ <param name="notify_user" style="query" default="true" type="xs:boolean">
1980
+ <doc>Boolean flag for notifying the requester of the cancellation (when relevant). Defaults to 'true'.</doc>
1981
+ </param>
1982
+ </request>
1983
+ <response status="204">
1984
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
1985
+ </response>
1986
+ </method>
1987
+ </resource>
1988
+ <resource path="{mms_id}">
1989
+ <param name="mms_id" style="template" type="xs:string">
1990
+ <doc>The Bib Record ID (for example, 99939650000541).</doc>
1991
+ </param>
1992
+ <method name="DELETE">
1993
+ <doc title="Delete Bib Record">This web service deletes a Bib Record.</doc>
1994
+ <request/>
1995
+ <response status="204">
1996
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
1997
+ <doc title="402214">Delete Bib Error - The bib could not be deleted.</doc>
1998
+ <doc title="402203">Error - An error has occured while validating the mms_id.</doc>
1999
+ <doc title="402204">Input parameters mmsId X is not numeric.</doc>
2000
+ <doc title="402203">Input parameters mmsId X is not valid.</doc>
2001
+ </response>
2002
+ </method>
2003
+ <method name="GET">
2004
+ <doc title="Retrieve Bib">This web service returns a Bib record in an XML format.
2005
+
2006
+ To include physical inventory information use "expand=p_avail":
2007
+ AVA field is added per holding record as following:
2008
+ $$a - Institution code, $$b - Library code, $$c - Location display name,
2009
+ $$d - Call number, $$e - Availability (such as available, unavailable, or check_holdings),
2010
+ $$j - Location code, $$k - Call number type, $$f - total items, $$g - non available items,
2011
+ $$p - priority.
2012
+ Note: When using the API against a NZ Institution AVA fields will be retrieved for each member which has holdings.
2013
+
2014
+ To include digital inventory information use: "expand=d_avail":
2015
+ AVD field is added per Representations, as following:
2016
+ $$a - Institution code, $$b - Representations ID, $$c - REPRESENTATION/REMOTE_REPRESENTATION, $$d - Repository Name, $$e - Label,
2017
+
2018
+ To include electronic inventory information use: "expand=e_avail":
2019
+ AVE field is added per portfolio, as following:
2020
+ $$l - library code, $$m - Collection name, $$n - Public note, $$u - link to the bibliographic record's services page,
2021
+ $$s - coverage statement (as displayed in Primo's ViewIt mashup), $$t - Interface name.
2022
+ Note: $$u will be created based on a Customer Parameter in the "Customer Parameters" mapping table (module: general): publishing_base_url.
2023
+
2024
+ Note: The expand parameter is not supported for Dublin Core records.
2025
+ Note: The bibliographic record retrieved from Alma is enriched with additional identifiers.
2026
+ The MMS ID of the Network Zone and the Alma Community Zone ID are added to the record
2027
+ in additional 035 marc fields. The Community Zone ID is added with the prefix (EXLCZ)
2028
+ while the Network Zone ID is added with the prefix (EXLNZ-network_code). The local
2029
+ MMS ID is in the 001 marc field. These additional shared IDs can be used for better
2030
+ identification of a common record. The local MMS ID should be used when there is a need to call
2031
+ an API in the institution for the record.</doc>
2032
+ <request>
2033
+ <param name="view" style="query" default="full" type="xs:string">
2034
+ <doc>Use view=brief to retrieve without the MARCXML. Use view=local_fields to retrieve only local fields for an IZ record linked to an NZ record.</doc>
2035
+ </param>
2036
+ <param name="expand" style="query" default="None" type="xs:string">
2037
+ <doc>This parameter allows for expanding the bibliographic record with additional information:
2038
+ p_avail - Expand physical inventory information.
2039
+ e_avail - Expand electronic inventory information.
2040
+ d_avail - Expand digital inventory information.
2041
+ To use more than one, use a comma separator.</doc>
2042
+ </param>
2043
+ </request>
2044
+ <response>
2045
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2046
+ <doc title="402204">Input parameters mmsId X is not numeric.</doc>
2047
+ <doc title="402203">Input parameters mmsId X is not valid.</doc>
2048
+ <representation mediaType="application/xml">
2049
+ <doc title="Bib">rest_bib.xsd</doc>
2050
+ </representation>
2051
+ <representation mediaType="application/json">
2052
+ <doc title="Bib">rest_bib.xsd</doc>
2053
+ </representation>
2054
+ </response>
2055
+ </method>
2056
+ <method name="POST">
2057
+ <doc title="Operate on record">This web service performs an operation on a Bib record. Currently, the supported operation is to unlink from NZ. Note: JSON is not supported for this API.</doc>
2058
+ <request>
2059
+ <param name="op" style="query" type="xs:string">
2060
+ <doc>The operation that is to be performed. Currently, only option is: unlink_from_nz.</doc>
2061
+ </param>
2062
+ <representation mediaType="application/xml">
2063
+ <doc>This method takes a Bib object.</doc>
2064
+ </representation>
2065
+ <representation mediaType="application/json">
2066
+ <doc>This method takes a Bib object.</doc>
2067
+ </representation>
2068
+ </request>
2069
+ <response>
2070
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2071
+ <doc title="40166452">Error - Not supported from the network zone.</doc>
2072
+ <doc title="40166453">Error - Not supported from the institution zone.</doc>
2073
+ <doc title="402278">Error - Parse exception for MARC record.</doc>
2074
+ <doc title="402204">Input parameters mmsId X is not numeric.</doc>
2075
+ <doc title="33007">No record found for MMS id X</doc>
2076
+ <doc title="60105">JSON is not supported for this API.</doc>
2077
+ <representation mediaType="application/xml">
2078
+ <doc title="Bib">rest_bib.xsd</doc>
2079
+ </representation>
2080
+ <representation mediaType="application/json">
2081
+ <doc title="Bib">rest_bib.xsd</doc>
2082
+ </representation>
2083
+ </response>
2084
+ </method>
2085
+ <method name="PUT">
2086
+ <doc title="Update Bib Record">This web service updates a Bib Record.
2087
+ For an IZ record that is linked to NZ record, local fields will be replaced, based on $$9local field indication.
2088
+ Updating of non local fields should be done directly on the NZ record.
2089
+ See [Working with APIs in a Network Topology|https://developers.exlibrisgroup.com/blog/Working-with-APIs-in-a-Network-Topology] for more details.
2090
+
2091
+ Note: JSON is not supported, and updating a linked CZ record is currently not supported.</doc>
2092
+ <request>
2093
+ <representation mediaType="application/xml">
2094
+ <doc>This method takes a Bib object.</doc>
2095
+ </representation>
2096
+ <representation mediaType="application/json">
2097
+ <doc>This method takes a Bib object.</doc>
2098
+ </representation>
2099
+ </request>
2100
+ <response>
2101
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2102
+ <doc title="40166454">Error - Not supported from the community zone.</doc>
2103
+ <doc title="402204">Input parameters mmsId X is not numeric.</doc>
2104
+ <doc title="402203">Input parameters mmsId X is not valid.</doc>
2105
+ <doc title="60105">JSON is not supported for this API.</doc>
2106
+ <representation mediaType="application/xml">
2107
+ <doc title="Bib">rest_bib.xsd</doc>
2108
+ </representation>
2109
+ <representation mediaType="application/json">
2110
+ <doc title="Bib">rest_bib.xsd</doc>
2111
+ </representation>
2112
+ </response>
2113
+ </method>
2114
+ </resource>
2115
+ <resource path="{mms_id}/booking-availability">
2116
+ <param name="mms_id" style="template" type="xs:string">
2117
+ <doc>The Bib Record ID.</doc>
2118
+ </param>
2119
+ <method name="GET">
2120
+ <doc title="Retrieve booking availability for a Title">This web service returns list of periods in which specific title (MMS) is unavailable for booking.</doc>
2121
+ <request>
2122
+ <param name="period" style="query" type="xs:int">
2123
+ <doc>The number of days/weeks/months to retrieve availability for. Mandatory.</doc>
2124
+ </param>
2125
+ <param name="period_type" style="query" type="xs:string">
2126
+ <doc>The type of period of interest. Optional. Possible values: days, weeks, months. Default: days.</doc>
2127
+ </param>
2128
+ <param name="user_id" style="query" default="" type="xs:string">
2129
+ <doc>A unique identifier for the user, for which the booking request is about to be done. Optional. If not supplied, the system will calculate a minimal availability.</doc>
2130
+ </param>
2131
+ <param name="user_id_type" style="query" default="all_unique" type="xs:string">
2132
+ <doc>The type of identifier that is being searched. Optional. If this is not provided, all unique identifier types are used. The values that can be used are any of the values in the User Identifier Type code table.</doc>
2133
+ </param>
2134
+ </request>
2135
+ <response>
2136
+ <doc title="401890">User with identifier X of type Y was not found.</doc>
2137
+ <doc title="4018990">Unsupported period type.</doc>
2138
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2139
+ <representation mediaType="application/xml">
2140
+ <doc title="Booking Availability">rest_booking-availability.xsd</doc>
2141
+ </representation>
2142
+ <representation mediaType="application/json">
2143
+ <doc title="Booking Availability">rest_booking-availability.xsd</doc>
2144
+ </representation>
2145
+ </response>
2146
+ </method>
2147
+ </resource>
2148
+ <resource path="{mms_id}/holdings">
2149
+ <param name="mms_id" style="template" type="xs:string">
2150
+ <doc>The Bib Record ID.</doc>
2151
+ </param>
2152
+ <method name="GET">
2153
+ <doc title="Retrieve Holdings list">This web service returns list of holding records for a given MMS.</doc>
2154
+ <request/>
2155
+ <response>
2156
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2157
+ <representation mediaType="application/xml">
2158
+ <doc title="Holdings list">rest_holdings.xsd</doc>
2159
+ </representation>
2160
+ <representation mediaType="application/json">
2161
+ <doc title="Holdings list">rest_holdings.xsd</doc>
2162
+ </representation>
2163
+ </response>
2164
+ </method>
2165
+ <method name="POST">
2166
+ <doc title="Create holding record">This web service creates a new holding record.
2167
+ Note: JSON is not supported for this API.</doc>
2168
+ <request>
2169
+ <representation mediaType="application/xml">
2170
+ <doc>This method takes a Holding object.</doc>
2171
+ </representation>
2172
+ <representation mediaType="application/json">
2173
+ <doc>This method takes a Holding object.</doc>
2174
+ </representation>
2175
+ </request>
2176
+ <response>
2177
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2178
+ <doc title="402211">Given holding xml is invalid.</doc>
2179
+ <doc title="402204">Input parameters mmsId X is not numeric.</doc>
2180
+ <doc title="402212">Failed to create new holding.</doc>
2181
+ <doc title="33007">No record found for MMS id X</doc>
2182
+ <doc title="33008">Failed to create holding due to errors: X</doc>
2183
+ <doc title="33009">Failed to create holding.</doc>
2184
+ <doc title="60105">JSON is not supported for this API.</doc>
2185
+ <representation mediaType="application/xml">
2186
+ <doc title="Holding">rest_holding.xsd</doc>
2187
+ </representation>
2188
+ <representation mediaType="application/json">
2189
+ <doc title="Holding">rest_holding.xsd</doc>
2190
+ </representation>
2191
+ </response>
2192
+ </method>
2193
+ </resource>
2194
+ <resource path="{mms_id}/holdings/{holding_id}">
2195
+ <param name="mms_id" style="template" type="xs:string">
2196
+ <doc>The Bib Record ID.</doc>
2197
+ </param>
2198
+ <param name="holding_id" style="template" type="xs:string">
2199
+ <doc>The Holding Record ID.</doc>
2200
+ </param>
2201
+ <method name="GET">
2202
+ <doc title="Retrieve Holdings Record">This web service returns a Holdings Record. In order to use this service, authentication must be done by a user that has the 'API Fulfillment Read' role. Please note that the holding record is returned in MARC XML format, therefore it is not recommended to use this service with JSON format.</doc>
2203
+ <request/>
2204
+ <response>
2205
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2206
+ <representation mediaType="application/xml">
2207
+ <doc title="Holding">rest_holding.xsd</doc>
2208
+ </representation>
2209
+ <representation mediaType="application/json">
2210
+ <doc title="Holding">rest_holding.xsd</doc>
2211
+ </representation>
2212
+ </response>
2213
+ </method>
2214
+ <method name="PUT">
2215
+ <doc title="Update Holdings Record">This web service updates a Holdings Record.
2216
+ Note: JSON is not supported for this API.</doc>
2217
+ <request>
2218
+ <representation mediaType="application/xml">
2219
+ <doc>This method takes a Holding object.</doc>
2220
+ </representation>
2221
+ <representation mediaType="application/json">
2222
+ <doc>This method takes a Holding object.</doc>
2223
+ </representation>
2224
+ </request>
2225
+ <response>
2226
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2227
+ <doc title="60105">JSON is not supported for this API.</doc>
2228
+ <representation mediaType="application/xml">
2229
+ <doc title="Holding">rest_holding.xsd</doc>
2230
+ </representation>
2231
+ <representation mediaType="application/json">
2232
+ <doc title="Holding">rest_holding.xsd</doc>
2233
+ </representation>
2234
+ </response>
2235
+ </method>
2236
+ </resource>
2237
+ <resource path="{mms_id}/holdings/{holding_id}/items">
2238
+ <param name="mms_id" style="template" type="xs:string">
2239
+ <doc>The Bib Record ID.</doc>
2240
+ </param>
2241
+ <param name="holding_id" style="template" type="xs:string">
2242
+ <doc>The Holding Record ID.</doc>
2243
+ </param>
2244
+ <method name="GET">
2245
+ <doc title="Retrieve Items list">This web service returns Items list.</doc>
2246
+ <request>
2247
+ <param name="limit" style="query" default="10" type="xs:int">
2248
+ <doc>Limits the number of results. Optional. Valid values are 0-100. Default value: 10.</doc>
2249
+ </param>
2250
+ <param name="offset" style="query" default="0" type="xs:int">
2251
+ <doc>Offset of the results returned. Optional. Default value: 0, which means that the first results will be returned.</doc>
2252
+ </param>
2253
+ </request>
2254
+ <response>
2255
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2256
+ <representation mediaType="application/xml">
2257
+ <doc title="Items list">rest_items.xsd</doc>
2258
+ </representation>
2259
+ <representation mediaType="application/json">
2260
+ <doc title="Items list">rest_items.xsd</doc>
2261
+ </representation>
2262
+ </response>
2263
+ </method>
2264
+ <method name="POST">
2265
+ <doc title="Create Item">This web service creates an Item.</doc>
2266
+ <request>
2267
+ <representation mediaType="application/xml">
2268
+ <doc>This method takes an Item object.</doc>
2269
+ </representation>
2270
+ <representation mediaType="application/json">
2271
+ <doc>This method takes an Item object.</doc>
2272
+ </representation>
2273
+ </request>
2274
+ <response>
2275
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2276
+ <doc title="401885">Given poline does not fit item; POLine's type must be physical one time.</doc>
2277
+ <representation mediaType="application/xml">
2278
+ <doc title="Item Information">rest_item.xsd</doc>
2279
+ </representation>
2280
+ <representation mediaType="application/json">
2281
+ <doc title="Item Information">rest_item.xsd</doc>
2282
+ </representation>
2283
+ </response>
2284
+ </method>
2285
+ </resource>
2286
+ <resource path="{mms_id}/holdings/{holding_id}/items/{item_id}/loans">
2287
+ <param name="mms_id" style="template" type="xs:string">
2288
+ <doc>The Bib Record ID.</doc>
2289
+ </param>
2290
+ <param name="holding_id" style="template" type="xs:string">
2291
+ <doc>The Holding Record ID.</doc>
2292
+ </param>
2293
+ <param name="item_id" style="template" type="xs:string">
2294
+ <doc>The Item ID.</doc>
2295
+ </param>
2296
+ <method name="GET">
2297
+ <doc title="Loan By Item information">This web service returns Item Loan by Item information.</doc>
2298
+ <request/>
2299
+ <response>
2300
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2301
+ <representation mediaType="application/xml">
2302
+ <doc title="Item Loan">rest_item_loans.xsd</doc>
2303
+ </representation>
2304
+ <representation mediaType="application/json">
2305
+ <doc title="Item Loan">rest_item_loans.xsd</doc>
2306
+ </representation>
2307
+ </response>
2308
+ </method>
2309
+ </resource>
2310
+ <resource path="{mms_id}/holdings/{holding_id}/items/{item_id}/requests">
2311
+ <param name="mms_id" style="template" type="xs:string">
2312
+ <doc>The Bib Record ID.</doc>
2313
+ </param>
2314
+ <param name="holding_id" style="template" type="xs:string">
2315
+ <doc>The Holding Bib Record ID.</doc>
2316
+ </param>
2317
+ <param name="item_id" style="template" type="xs:string">
2318
+ <doc>The item ID.</doc>
2319
+ </param>
2320
+ <method name="GET">
2321
+ <doc title="Retrieve User Requests per Item">This web service returns a list of requests per the given item (using item_id).</doc>
2322
+ <request>
2323
+ <param name="request_type" style="query" default="all_types" type="xs:string">
2324
+ <doc>Filter results by request type. Optional. Possible values: HOLD, DIGITIZATION, BOOKING. If not supplied, all request types will be returned.</doc>
2325
+ </param>
2326
+ <param name="status" style="query" default="active" type="xs:string">
2327
+ <doc>Active or history request status . The default is active.</doc>
2328
+ </param>
2329
+ </request>
2330
+ <response>
2331
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2332
+ <doc title="402204">Input parameters mmsId X is not numeric.</doc>
2333
+ <doc title="402203">Input parameters mmsId X is not valid.</doc>
2334
+ <representation mediaType="application/xml">
2335
+ <doc title="User Requests">rest_user_requests.xsd</doc>
2336
+ </representation>
2337
+ <representation mediaType="application/json">
2338
+ <doc title="User Requests">rest_user_requests.xsd</doc>
2339
+ </representation>
2340
+ </response>
2341
+ </method>
2342
+ </resource>
2343
+ <resource path="{mms_id}/holdings/{holding_id}/items/{item_id}/requests/{request_id}">
2344
+ <param name="mms_id" style="template" type="xs:string">
2345
+ <doc>The Bib Record ID.</doc>
2346
+ </param>
2347
+ <param name="holding_id" style="template" type="xs:string">
2348
+ <doc>The Holding Bib Record ID.</doc>
2349
+ </param>
2350
+ <param name="item_id" style="template" type="xs:string">
2351
+ <doc>The item ID.</doc>
2352
+ </param>
2353
+ <param name="request_id" style="template" type="xs:string">
2354
+ <doc>The Request ID.</doc>
2355
+ </param>
2356
+ <method name="GET">
2357
+ <doc title="Retrieve User Item Request">This web service return a request per the given item and request ID.</doc>
2358
+ <request/>
2359
+ <response>
2360
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2361
+ <doc title="402204">Input parameters mmsId X is not numeric.</doc>
2362
+ <doc title="402203">Input parameters mmsId X is not valid.</doc>
2363
+ <doc title="402204">Input parameters requestId X is not numeric.</doc>
2364
+ <representation mediaType="application/xml">
2365
+ <doc title="User Request">rest_user_request.xsd</doc>
2366
+ </representation>
2367
+ <representation mediaType="application/json">
2368
+ <doc title="User Request">rest_user_request.xsd</doc>
2369
+ </representation>
2370
+ </response>
2371
+ </method>
2372
+ </resource>
2373
+ <resource path="{mms_id}/holdings/{holding_id}/items/{item_pid}">
2374
+ <param name="mms_id" style="template" type="xs:string">
2375
+ <doc>The Bib Record ID.</doc>
2376
+ </param>
2377
+ <param name="holding_id" style="template" type="xs:string">
2378
+ <doc>The Holding Record ID.</doc>
2379
+ </param>
2380
+ <param name="item_pid" style="template" type="xs:string">
2381
+ <doc>The Item ID.</doc>
2382
+ </param>
2383
+ <method name="DELETE">
2384
+ <doc title="Withdraw Item">This web service withdraws an item.</doc>
2385
+ <request>
2386
+ <param name="override" style="query" default="false" type="xs:string">
2387
+ <doc>Indication whether the item should be deleted even if warnings exist. Optional. By default: false.</doc>
2388
+ </param>
2389
+ <param name="holdings" style="query" default="retain" type="xs:string">
2390
+ <doc>Method for handling a Holdings record left without any items: retain, delete or suppress. Optional. By default: retain.</doc>
2391
+ </param>
2392
+ </request>
2393
+ <response>
2394
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2395
+ <representation mediaType="application/xml">
2396
+ <param name="result" style="plain" type="xs:string"/>
2397
+ </representation>
2398
+ <representation mediaType="application/json">
2399
+ <param name="result" style="plain" type="xs:string"/>
2400
+ </representation>
2401
+ </response>
2402
+ </method>
2403
+ <method name="GET">
2404
+ <doc title="Retrieve Item and label printing information">This web service returns Item information.
2405
+ Note: It is also possible to retrieve item information by using: GET /almaws/v1/items?item_barcode={item_barcode}. Calling this shorthand URL will return an HTTP 302 redirect response leading to a URL with the structure documented here.</doc>
2406
+ <request>
2407
+ <param name="view" style="query" default="brief" type="xs:string">
2408
+ <doc>Special view of Item object. Optional. Currently supported: label - adds fields relevant for label printing.</doc>
2409
+ </param>
2410
+ </request>
2411
+ <response>
2412
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2413
+ <representation mediaType="application/xml">
2414
+ <doc title="Item Information">rest_item.xsd</doc>
2415
+ </representation>
2416
+ <representation mediaType="application/json">
2417
+ <doc title="Item Information">rest_item.xsd</doc>
2418
+ </representation>
2419
+ </response>
2420
+ </method>
2421
+ <method name="POST">
2422
+ <doc title="Scan-in operation on item.">This web service allows to perform a Scan-in operation on an item.</doc>
2423
+ <request>
2424
+ <param name="op" style="query" type="xs:string">
2425
+ <doc>The operation that is to be performed. Currently, only option is: scan.</doc>
2426
+ </param>
2427
+ <param name="external_id" style="query" default="false" type="xs:string">
2428
+ <doc>External ID. Options: true or false.</doc>
2429
+ </param>
2430
+ <param name="request_id" style="query" type="xs:string">
2431
+ <doc>The request ID. Needed when item is not yet bound to a single request and there are multiple requests which scanned item can fulfill.</doc>
2432
+ </param>
2433
+ <param name="library" style="query" type="xs:string">
2434
+ <doc>The library code of the given circulation desk or department where the action is being performed.</doc>
2435
+ </param>
2436
+ <param name="circ_desk" style="query" type="xs:string">
2437
+ <doc>The circulation desk where the action is being performed.</doc>
2438
+ </param>
2439
+ <param name="department" style="query" type="xs:string">
2440
+ <doc>The department where the action is being performed.</doc>
2441
+ </param>
2442
+ <param name="work_order_type" style="query" type="xs:string">
2443
+ <doc>The work order type which is to be performed, or is being performed on the scanned in item.</doc>
2444
+ </param>
2445
+ <param name="status" style="query" type="xs:string">
2446
+ <doc>The work order status to which we want to move the item. Optional input is defined by the work order type.</doc>
2447
+ </param>
2448
+ <param name="done" style="query" default="false" type="xs:string">
2449
+ <doc>Work order processing is completed on the item. Options: true or false.</doc>
2450
+ </param>
2451
+ <param name="auto_print_slip" style="query" default="false" type="xs:string">
2452
+ <doc>Automatically print a slip. Options: true or false.</doc>
2453
+ </param>
2454
+ <param name="place_on_hold_shelf" style="query" default="false" type="xs:string">
2455
+ <doc>Place on hold shelf. Options: true or false.</doc>
2456
+ </param>
2457
+ <param name="confirm" style="query" default="false" type="xs:string">
2458
+ <doc>Confirm the action on the item. Options: true or false.</doc>
2459
+ </param>
2460
+ <param name="register_in_house_use" style="query" default="true" type="xs:string">
2461
+ <doc>Register in house uses. Options: true or false.</doc>
2462
+ </param>
2463
+ </request>
2464
+ <response>
2465
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2466
+ <representation mediaType="application/xml">
2467
+ <doc title="Item">rest_item.xsd</doc>
2468
+ </representation>
2469
+ <representation mediaType="application/json">
2470
+ <doc title="Item">rest_item.xsd</doc>
2471
+ </representation>
2472
+ </response>
2473
+ </method>
2474
+ <method name="PUT">
2475
+ <doc title="Update Item information">This web service updates Item information.</doc>
2476
+ <request>
2477
+ <representation mediaType="application/xml">
2478
+ <doc>This method takes an Item object.</doc>
2479
+ </representation>
2480
+ <representation mediaType="application/json">
2481
+ <doc>This method takes an Item object.</doc>
2482
+ </representation>
2483
+ </request>
2484
+ <response>
2485
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2486
+ <doc title="401885">Given poline does not fit item; POLine's type must be physical one time.</doc>
2487
+ <representation mediaType="application/xml">
2488
+ <doc title="Item Information">rest_item.xsd</doc>
2489
+ </representation>
2490
+ <representation mediaType="application/json">
2491
+ <doc title="Item Information">rest_item.xsd</doc>
2492
+ </representation>
2493
+ </response>
2494
+ </method>
2495
+ </resource>
2496
+ <resource path="{mms_id}/holdings/{holding_id}/items/{item_pid}/booking-availability">
2497
+ <param name="mms_id" style="template" type="xs:string">
2498
+ <doc>The Bib Record ID.</doc>
2499
+ </param>
2500
+ <param name="holding_id" style="template" type="xs:string">
2501
+ <doc>The Holding Record ID.</doc>
2502
+ </param>
2503
+ <param name="item_pid" style="template" type="xs:string">
2504
+ <doc>The Item ID.</doc>
2505
+ </param>
2506
+ <method name="GET">
2507
+ <doc title="Retrieve booking availability for an Item">This web service returns list of periods in which specific item is unavailable for booking.</doc>
2508
+ <request>
2509
+ <param name="period" style="query" type="xs:int">
2510
+ <doc>The number of days/weeks/months to retrieve availability for. Mandatory.</doc>
2511
+ </param>
2512
+ <param name="period_type" style="query" type="xs:string">
2513
+ <doc>The type of period of interest. Optional. Possible values: days, weeks, months. Default: days.</doc>
2514
+ </param>
2515
+ <param name="user_id" style="query" default="" type="xs:string">
2516
+ <doc>A unique identifier for the user, for which the booking request is about to be done. Optional. If not supplied, the system will calculate a minimal availability.</doc>
2517
+ </param>
2518
+ <param name="user_id_type" style="query" default="all_unique" type="xs:string">
2519
+ <doc>The type of identifier that is being searched. Optional. If this is not provided, all unique identifier types are used. The values that can be used are any of the values in the User Identifier Type code table.</doc>
2520
+ </param>
2521
+ </request>
2522
+ <response>
2523
+ <doc title="401890">User with identifier X of type Y was not found.</doc>
2524
+ <doc title="4018990">Unsupported period type.</doc>
2525
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2526
+ <representation mediaType="application/xml">
2527
+ <doc title="Booking Availability">rest_booking-availability.xsd</doc>
2528
+ </representation>
2529
+ <representation mediaType="application/json">
2530
+ <doc title="Booking Availability">rest_booking-availability.xsd</doc>
2531
+ </representation>
2532
+ </response>
2533
+ </method>
2534
+ </resource>
2535
+ <resource path="{mms_id}/holdings/{holding_id}/items/{item_pid}/loans">
2536
+ <param name="mms_id" style="template" type="xs:string">
2537
+ <doc>The Bib Record ID.</doc>
2538
+ </param>
2539
+ <param name="holding_id" style="template" type="xs:string">
2540
+ <doc>The Holding Record ID.</doc>
2541
+ </param>
2542
+ <param name="item_pid" style="template" type="xs:string">
2543
+ <doc>The Item ID.</doc>
2544
+ </param>
2545
+ <method name="POST">
2546
+ <doc title="Create user loan">This web service loans an item to a user. The loan will be created according to the library's policy.</doc>
2547
+ <request>
2548
+ <param name="user_id" style="query" type="xs:string">
2549
+ <doc>A unique identifier of the loaning user. Mandatory.</doc>
2550
+ </param>
2551
+ <param name="user_id_type" style="query" default="all_unique" type="xs:string">
2552
+ <doc>The type of identifier that is being searched. Optional. If this is not provided, all unique identifier types are used. The values that can be used are any of the values in the User Identifier Type code table.</doc>
2553
+ </param>
2554
+ <representation mediaType="application/xml">
2555
+ <doc>This method takes a Loan object.</doc>
2556
+ </representation>
2557
+ <representation mediaType="application/json">
2558
+ <doc>This method takes a Loan object.</doc>
2559
+ </representation>
2560
+ </request>
2561
+ <response>
2562
+ <doc title="401890">User with identifier X of type Y was not found.</doc>
2563
+ <doc title="401153">Item cannot be loaned from this circulation desk.</doc>
2564
+ <doc title="401651">Item is not loanable.</doc>
2565
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2566
+ <representation mediaType="application/xml">
2567
+ <doc title="Item Loan">rest_item_loan.xsd</doc>
2568
+ </representation>
2569
+ <representation mediaType="application/json">
2570
+ <doc title="Item Loan">rest_item_loan.xsd</doc>
2571
+ </representation>
2572
+ </response>
2573
+ </method>
2574
+ </resource>
2575
+ <resource path="{mms_id}/holdings/{holding_id}/items/{item_pid}/loans/{loan_id}">
2576
+ <param name="mms_id" style="template" type="xs:string">
2577
+ <doc>The Bib Record ID.</doc>
2578
+ </param>
2579
+ <param name="holding_id" style="template" type="xs:string">
2580
+ <doc>The Holding Record ID.</doc>
2581
+ </param>
2582
+ <param name="item_pid" style="template" type="xs:string">
2583
+ <doc>The Item ID.</doc>
2584
+ </param>
2585
+ <param name="loan_id" style="template" type="xs:string">
2586
+ <doc>The Loan ID.</doc>
2587
+ </param>
2588
+ <method name="GET">
2589
+ <doc title="Retrieve Item Loan information">This web service returns Item Loan information.</doc>
2590
+ <request/>
2591
+ <response>
2592
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2593
+ <representation mediaType="application/xml">
2594
+ <doc title="Item Loan">rest_item_loan.xsd</doc>
2595
+ </representation>
2596
+ <representation mediaType="application/json">
2597
+ <doc title="Item Loan">rest_item_loan.xsd</doc>
2598
+ </representation>
2599
+ </response>
2600
+ </method>
2601
+ </resource>
2602
+ <resource path="{mms_id}/holdings/{holding_id}/items/{item_pid}/requests">
2603
+ <param name="mms_id" style="template" type="xs:string">
2604
+ <doc>The Bib Record ID.</doc>
2605
+ </param>
2606
+ <param name="holding_id" style="template" type="xs:string">
2607
+ <doc>The Holding Record ID.</doc>
2608
+ </param>
2609
+ <param name="item_pid" style="template" type="xs:string">
2610
+ <doc>The requested Item ID.</doc>
2611
+ </param>
2612
+ <method name="POST">
2613
+ <doc title="Create request for an Item">This web service creates a request for a library resource. The request can be for a physical item (request types: hold, booking), or a request for digitizing a file (request type: digitization). Currently it is not possible to create a move or work order request.</doc>
2614
+ <request>
2615
+ <param name="user_id" style="query" default="" type="xs:string">
2616
+ <doc>A unique identifier for the user. For a library level digitization request, leave empty.</doc>
2617
+ </param>
2618
+ <param name="user_id_type" style="query" default="all_unique" type="xs:string">
2619
+ <doc>The type of identifier that is being searched. Optional. If this is not provided, all unique identifier types are used. The values that can be used are any of the values in the User Identifier Type code table.</doc>
2620
+ </param>
2621
+ <representation mediaType="application/xml">
2622
+ <doc>This method takes a Request object.</doc>
2623
+ </representation>
2624
+ <representation mediaType="application/json">
2625
+ <doc>This method takes a Request object.</doc>
2626
+ </representation>
2627
+ </request>
2628
+ <response>
2629
+ <doc title="401890">User with identifier X of type Y was not found.</doc>
2630
+ <doc title="401129">No items can fulfill the submitted request.</doc>
2631
+ <doc title="401136">Failed to save the request: Patron has active request for selected item.</doc>
2632
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2633
+ <representation mediaType="application/xml">
2634
+ <doc title="Request">rest_user_request.xsd</doc>
2635
+ </representation>
2636
+ <representation mediaType="application/json">
2637
+ <doc title="Request">rest_user_request.xsd</doc>
2638
+ </representation>
2639
+ </response>
2640
+ </method>
2641
+ </resource>
2642
+ <resource path="{mms_id}/holdings/{holding_id}/items/{item_pid}/requests/{request_id}">
2643
+ <param name="mms_id" style="template" type="xs:string">
2644
+ <doc>The Bib Record ID.</doc>
2645
+ </param>
2646
+ <param name="holding_id" style="template" type="xs:string">
2647
+ <doc>The Holding Record ID.</doc>
2648
+ </param>
2649
+ <param name="item_pid" style="template" type="xs:string">
2650
+ <doc>The Item ID.</doc>
2651
+ </param>
2652
+ <param name="request_id" style="template" type="xs:string">
2653
+ <doc>The request ID.</doc>
2654
+ </param>
2655
+ <method name="POST">
2656
+ <doc title="Action on a request">This API performs an action on a request. Currently supported: moving digitization requests to their next step.</doc>
2657
+ <request>
2658
+ <param name="op" style="query" default="" type="xs:string">
2659
+ <doc>The operation to be performed on the request. Mandatory. Currently only next_step is supported.</doc>
2660
+ </param>
2661
+ <param name="release_item" style="query" default="false" type="xs:string">
2662
+ <doc>Boolean flag for indicating whether to release the item from the request</doc>
2663
+ </param>
2664
+ </request>
2665
+ <response>
2666
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2667
+ <doc title="401907">Failed to find a request for the given request ID.</doc>
2668
+ <doc title="402205">Input parameter X (Y) is not numeric.</doc>
2669
+ <doc title="401932">Request X is not a Digitization request</doc>
2670
+ <doc title="401933">Cannot move forward in workflow. Request ID: X, Step: Y</doc>
2671
+ <doc title="401934">Move digitization request to next step in workflow has failed. Request ID: X</doc>
2672
+ <doc title="401666">X parameter is not valid.</doc>
2673
+ <representation mediaType="application/xml">
2674
+ <doc title="Request">rest_user_request.xsd</doc>
2675
+ </representation>
2676
+ <representation mediaType="application/json">
2677
+ <doc title="Request">rest_user_request.xsd</doc>
2678
+ </representation>
2679
+ </response>
2680
+ </method>
2681
+ <method name="PUT">
2682
+ <doc title="Update Item Request">This web service updates a request for a library resource.</doc>
2683
+ <request>
2684
+ <representation mediaType="application/xml">
2685
+ <doc>This method takes a User-Request object.</doc>
2686
+ </representation>
2687
+ <representation mediaType="application/json">
2688
+ <doc>This method takes a User-Request object.</doc>
2689
+ </representation>
2690
+ </request>
2691
+ <response>
2692
+ <representation mediaType="application/xml">
2693
+ <doc title="Request">rest_user_request.xsd</doc>
2694
+ </representation>
2695
+ <representation mediaType="application/json">
2696
+ <doc title="Request">rest_user_request.xsd</doc>
2697
+ </representation>
2698
+ </response>
2699
+ </method>
2700
+ </resource>
2701
+ <resource path="{mms_id}/loans">
2702
+ <param name="mms_id" style="template" type="xs:string">
2703
+ <doc>The Bib Record ID.</doc>
2704
+ </param>
2705
+ <method name="GET">
2706
+ <doc title="Retrieve Bib Loan information">This web service returns Loan information for a Bib record.</doc>
2707
+ <request/>
2708
+ <response>
2709
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2710
+ <representation mediaType="application/xml">
2711
+ <doc title="Bib Loan">rest_item_loan.xsd</doc>
2712
+ </representation>
2713
+ <representation mediaType="application/json">
2714
+ <doc title="Bib Loan">rest_item_loan.xsd</doc>
2715
+ </representation>
2716
+ </response>
2717
+ </method>
2718
+ </resource>
2719
+ <resource path="{mms_id}/loans/{loan_id}">
2720
+ <param name="mmsId" style="template" type="xs:string"/>
2721
+ <param name="loan_id" style="template" type="xs:string"/>
2722
+ <method name="GET">
2723
+ <doc title="Retrieve Bib Loan information for a Bib id and Loan id">This Web service retrieves loan information for a particular Bib id and Loan id.</doc>
2724
+ <request/>
2725
+ <response>
2726
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2727
+ <representation mediaType="application/xml">
2728
+ <doc title="Bib Loan by Loan ID">rest_item_loan.xsd</doc>
2729
+ </representation>
2730
+ <representation mediaType="application/json">
2731
+ <doc title="Bib Loan by Loan ID">rest_item_loan.xsd</doc>
2732
+ </representation>
2733
+ </response>
2734
+ </method>
2735
+ </resource>
2736
+ <resource path="{mms_id}/representations">
2737
+ <param name="mms_id" style="template" type="xs:string">
2738
+ <doc>The Bib Record ID.</doc>
2739
+ </param>
2740
+ <method name="GET">
2741
+ <doc title="Retrieve Representations">This web service returns a list of Digital Representations for a given Bib MMS-ID.</doc>
2742
+ <request>
2743
+ <param name="limit" style="query" default="10" type="xs:int">
2744
+ <doc>Limits the number of results. Optional. Valid values are 0-100. Default value: 10.</doc>
2745
+ </param>
2746
+ <param name="offset" style="query" default="0" type="xs:int">
2747
+ <doc>Offset of the results returned. Optional. Default value: 0, which means that the first results will be returned.</doc>
2748
+ </param>
2749
+ </request>
2750
+ <response>
2751
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2752
+ <representation mediaType="application/xml">
2753
+ <doc title="Representations">rest_representations.xsd</doc>
2754
+ </representation>
2755
+ <representation mediaType="application/json">
2756
+ <doc title="Representations">rest_representations.xsd</doc>
2757
+ </representation>
2758
+ </response>
2759
+ </method>
2760
+ <method name="POST">
2761
+ <doc title="Create Representation">This web service creates a Digital Representation.</doc>
2762
+ <request>
2763
+ <param name="generate_label" style="query" default="false" type="xs:string">
2764
+ <doc>Auto-generate label: true/false</doc>
2765
+ </param>
2766
+ <representation mediaType="application/xml">
2767
+ <doc>This method takes a Representation object.</doc>
2768
+ </representation>
2769
+ <representation mediaType="application/json">
2770
+ <doc>This method takes a Representation object.</doc>
2771
+ </representation>
2772
+ </request>
2773
+ <response>
2774
+ <doc title="402260">Bib record is not assigned to a collection.</doc>
2775
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2776
+ <representation mediaType="application/xml">
2777
+ <doc title="Representation">rest_representation.xsd</doc>
2778
+ </representation>
2779
+ <representation mediaType="application/json">
2780
+ <doc title="Representation">rest_representation.xsd</doc>
2781
+ </representation>
2782
+ </response>
2783
+ </method>
2784
+ </resource>
2785
+ <resource path="{mms_id}/representations/{rep_id}">
2786
+ <param name="mms_id" style="template" type="xs:string">
2787
+ <doc>The Bib Record ID.</doc>
2788
+ </param>
2789
+ <param name="rep_id" style="template" type="xs:string">
2790
+ <doc>The Representation ID.</doc>
2791
+ </param>
2792
+ <method name="DELETE">
2793
+ <doc title="Delete Representation">This web service deletes a Digital Representations.</doc>
2794
+ <request>
2795
+ <param name="override" style="query" default="false" type="xs:string">
2796
+ <doc>Indication whether the representation should be deleted even if warnings exist. Optional. By default: false.</doc>
2797
+ </param>
2798
+ <param name="bibs" style="query" default="retain" type="xs:string">
2799
+ <doc>Method for handling a bib left without any representations: retain , suppress or delete. Optional. By default: retain.</doc>
2800
+ </param>
2801
+ </request>
2802
+ <response>
2803
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2804
+ <representation mediaType="application/xml"/>
2805
+ <representation mediaType="application/json"/>
2806
+ </response>
2807
+ </method>
2808
+ <method name="GET">
2809
+ <doc title="Retrieve Representation Details">This web service returns a specific Digital Representation's details. Supported for Remote and Non-Remote Representations.</doc>
2810
+ <request/>
2811
+ <response>
2812
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2813
+ <representation mediaType="application/xml">
2814
+ <doc title="Representation">rest_representation.xsd</doc>
2815
+ </representation>
2816
+ <representation mediaType="application/json">
2817
+ <doc title="Representation">rest_representation.xsd</doc>
2818
+ </representation>
2819
+ </response>
2820
+ </method>
2821
+ <method name="PUT">
2822
+ <doc title="Updates Representation">This web service updates a Digital Representations.</doc>
2823
+ <request>
2824
+ <param name="generate_label" style="query" default="false" type="xs:string">
2825
+ <doc>Auto-generate label: true/false</doc>
2826
+ </param>
2827
+ <representation mediaType="application/xml">
2828
+ <doc>This method takes a Representation object.</doc>
2829
+ </representation>
2830
+ <representation mediaType="application/json">
2831
+ <doc>This method takes a Representation object.</doc>
2832
+ </representation>
2833
+ </request>
2834
+ <response>
2835
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2836
+ <representation mediaType="application/xml">
2837
+ <doc title="Representation">rest_representation.xsd</doc>
2838
+ </representation>
2839
+ <representation mediaType="application/json">
2840
+ <doc title="Representation">rest_representation.xsd</doc>
2841
+ </representation>
2842
+ </response>
2843
+ </method>
2844
+ </resource>
2845
+ <resource path="{mms_id}/representations/{rep_id}/files">
2846
+ <param name="mms_id" style="template" default="" type="xs:string">
2847
+ <doc>The Bib Record ID.</doc>
2848
+ </param>
2849
+ <param name="rep_id" style="template" default="" type="xs:string">
2850
+ <doc>The Representation ID.</doc>
2851
+ </param>
2852
+ <method name="GET">
2853
+ <doc title="Retrieve Representation Files' Details">This web service returns a specific Representation Files' details. Supported for Non-Remote Representations.</doc>
2854
+ <request>
2855
+ <param name="expand" style="query" default="" type="xs:string">
2856
+ <doc>If expand=url the &lt;url&gt; field will hold the signed URL for downloading.</doc>
2857
+ </param>
2858
+ </request>
2859
+ <response>
2860
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2861
+ <representation mediaType="application/xml">
2862
+ <doc title="RepresentationFiles">rest_representation_files.xsd</doc>
2863
+ </representation>
2864
+ <representation mediaType="application/json">
2865
+ <doc title="RepresentationFiles">rest_representation_files.xsd</doc>
2866
+ </representation>
2867
+ </response>
2868
+ </method>
2869
+ <method name="POST">
2870
+ <doc title="Create RepresentationFile">This web service creates a Digital RepresentationFile.</doc>
2871
+ <request>
2872
+ <representation mediaType="application/xml">
2873
+ <doc>This method takes a Representation object.</doc>
2874
+ </representation>
2875
+ <representation mediaType="application/json">
2876
+ <doc>This method takes a Representation object.</doc>
2877
+ </representation>
2878
+ </request>
2879
+ <response>
2880
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2881
+ <representation mediaType="application/xml">
2882
+ <doc title="RepresentationFile">rest_representation_file.xsd</doc>
2883
+ </representation>
2884
+ <representation mediaType="application/json">
2885
+ <doc title="RepresentationFile">rest_representation_file.xsd</doc>
2886
+ </representation>
2887
+ </response>
2888
+ </method>
2889
+ </resource>
2890
+ <resource path="{mms_id}/representations/{rep_id}/files/{file_id}">
2891
+ <param name="mms_id" style="template" type="xs:string">
2892
+ <doc>The Bib Record ID.</doc>
2893
+ </param>
2894
+ <param name="rep_id" style="template" type="xs:string">
2895
+ <doc>The Representation ID.</doc>
2896
+ </param>
2897
+ <param name="file_id" style="template" default="" type="xs:string">
2898
+ <doc>The File ID.</doc>
2899
+ </param>
2900
+ <method name="DELETE">
2901
+ <doc title="Delete RepresentationFile">This web service deletes a Digital RepresentationFile.</doc>
2902
+ <request>
2903
+ <param name="representations" style="query" default="retain" type="xs:string">
2904
+ <doc>Method for handling a representation left without any files: retain or delete. Optional. By default: retain.</doc>
2905
+ </param>
2906
+ <param name="bibs" style="query" default="retain" type="xs:string">
2907
+ <doc>Method for handling a bib left without any representations: retain , suppress or delete. Optional. By default: retain.</doc>
2908
+ </param>
2909
+ </request>
2910
+ <response>
2911
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2912
+ <representation mediaType="application/xml"/>
2913
+ <representation mediaType="application/json"/>
2914
+ </response>
2915
+ </method>
2916
+ <method name="GET">
2917
+ <doc title="Retrieve Representation File Details">This web service returns a specific Representation File details. Supported for Non-Remote Representations.</doc>
2918
+ <request>
2919
+ <param name="expand" style="query" default="" type="xs:string">
2920
+ <doc>If expand=url the &lt;url&gt; field will hold the signed URL for downloading.</doc>
2921
+ </param>
2922
+ </request>
2923
+ <response>
2924
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2925
+ <representation mediaType="application/xml">
2926
+ <doc title="RepresentationFile">rest_representation_file.xsd</doc>
2927
+ </representation>
2928
+ <representation mediaType="application/json">
2929
+ <doc title="RepresentationFile">rest_representation_file.xsd</doc>
2930
+ </representation>
2931
+ </response>
2932
+ </method>
2933
+ <method name="PUT">
2934
+ <doc title="Updates RepresentationFile">This web service updates a Digital RepresentationFile.</doc>
2935
+ <request>
2936
+ <representation mediaType="application/xml">
2937
+ <doc>This method takes a RepresentationFile object.</doc>
2938
+ </representation>
2939
+ <representation mediaType="application/json">
2940
+ <doc>This method takes a RepresentationFile object.</doc>
2941
+ </representation>
2942
+ </request>
2943
+ <response>
2944
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2945
+ <representation mediaType="application/xml">
2946
+ <doc title="RepresentationFile">rest_representation_file.xsd</doc>
2947
+ </representation>
2948
+ <representation mediaType="application/json">
2949
+ <doc title="RepresentationFile">rest_representation_file.xsd</doc>
2950
+ </representation>
2951
+ </response>
2952
+ </method>
2953
+ </resource>
2954
+ <resource path="{mms_id}/requests">
2955
+ <param name="mms_id" style="template" type="xs:string">
2956
+ <doc>The Bib Record ID.</doc>
2957
+ </param>
2958
+ <method name="GET">
2959
+ <doc title="Retrieve User Requests per Bib">This web service returns a list of requests per the given bib (using mms_id).</doc>
2960
+ <request>
2961
+ <param name="request_type" style="query" default="all_types" type="xs:string">
2962
+ <doc>Filter results by request type. Optional. Possible values: HOLD, DIGITIZATION, BOOKING, MOVE, WORK_ORDER. If not supplied, all request types will be returned.</doc>
2963
+ </param>
2964
+ <param name="status" style="query" default="active" type="xs:string">
2965
+ <doc>Active or history requests status. Default is active.</doc>
2966
+ </param>
2967
+ </request>
2968
+ <response>
2969
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
2970
+ <doc title="402204">Input parameters mmsId X is not numeric.</doc>
2971
+ <doc title="402203">Input parameters mmsId X is not valid.</doc>
2972
+ <representation mediaType="application/xml">
2973
+ <doc title="User Requests">rest_user_requests.xsd</doc>
2974
+ </representation>
2975
+ <representation mediaType="application/json">
2976
+ <doc title="User Requests">rest_user_requests.xsd</doc>
2977
+ </representation>
2978
+ </response>
2979
+ </method>
2980
+ <method name="POST">
2981
+ <doc title="Create request for a Title">This web service creates a request for a library resouce. The request can be for a physical item (request types: hold, booking), or a request for digitizing a file (request type: digitization). Currently it is not possible to create a move or work order request.</doc>
2982
+ <request>
2983
+ <param name="user_id" style="query" default="" type="xs:string">
2984
+ <doc>A unique identifier for the user. For a library level digitization request, leave empty.</doc>
2985
+ </param>
2986
+ <param name="user_id_type" style="query" default="all_unique" type="xs:string">
2987
+ <doc>The type of identifier that is being searched. Optional. If this is not provided, all unique identifier types are used. The values that can be used are any of the values in the User Identifier Type code table.</doc>
2988
+ </param>
2989
+ <representation mediaType="application/xml">
2990
+ <doc>This method takes a Request object.</doc>
2991
+ </representation>
2992
+ <representation mediaType="application/json">
2993
+ <doc>This method takes a Request object.</doc>
2994
+ </representation>
2995
+ </request>
2996
+ <response>
2997
+ <doc title="401890">User with identifier X of type Y was not found.</doc>
2998
+ <doc title="401129">No items can fulfill the submitted request.</doc>
2999
+ <doc title="401136">Failed to save the request: Patron has active request for selected item.</doc>
3000
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
3001
+ <representation mediaType="application/xml">
3002
+ <doc title="User Request">rest_user_request.xsd</doc>
3003
+ </representation>
3004
+ <representation mediaType="application/json">
3005
+ <doc title="User Request">rest_user_request.xsd</doc>
3006
+ </representation>
3007
+ </response>
3008
+ </method>
3009
+ </resource>
3010
+ <resource path="{mms_id}/requests/{request_id}">
3011
+ <param name="mms_id" style="template" type="xs:string">
3012
+ <doc>The Bib Record ID.</doc>
3013
+ </param>
3014
+ <param name="request_id" style="template" type="xs:string">
3015
+ <doc>The Request ID.</doc>
3016
+ </param>
3017
+ <method name="GET">
3018
+ <doc title="Retrieve User Title Request">This web service returns a request per the given bib by the request ID.</doc>
3019
+ <request/>
3020
+ <response>
3021
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
3022
+ <doc title="402204">Input parameters mmsId X is not numeric.</doc>
3023
+ <doc title="402203">Input parameters mmsId X is not valid.</doc>
3024
+ <doc title="402204">Input parameters requestId X is not numeric.</doc>
3025
+ <representation mediaType="application/xml">
3026
+ <doc title="User Request">rest_user_request.xsd</doc>
3027
+ </representation>
3028
+ <representation mediaType="application/json">
3029
+ <doc title="User Request">rest_user_request.xsd</doc>
3030
+ </representation>
3031
+ </response>
3032
+ </method>
3033
+ <method name="POST">
3034
+ <doc title="Action on a request">This API performs an action on a request. Currently supported: moving digitization requests to their next step.</doc>
3035
+ <request>
3036
+ <param name="op" style="query" default="" type="xs:string">
3037
+ <doc>The operation to be performed on the request. Mandatory. Currently only next_step is supported.</doc>
3038
+ </param>
3039
+ <param name="release_item" style="query" default="false" type="xs:string">
3040
+ <doc>Boolean flag for indicating whether to release the item from the request</doc>
3041
+ </param>
3042
+ </request>
3043
+ <response>
3044
+ <doc title="401652">General Error - An error has occurred while processing the request.</doc>
3045
+ <doc title="401907">Failed to find a request for the given request ID.</doc>
3046
+ <doc title="402205">Input parameter X (Y) is not numeric.</doc>
3047
+ <doc title="401932">Request X is not a Digitization request</doc>
3048
+ <doc title="401933">Cannot move forward in workflow. Request ID: X, Step: Y</doc>
3049
+ <doc title="401934">Move digitization request to next step in workflow has failed. Request ID: X</doc>
3050
+ <doc title="401666">X parameter is not valid.</doc>
3051
+ <representation mediaType="application/xml">
3052
+ <doc title="Request">rest_user_request.xsd</doc>
3053
+ </representation>
3054
+ <representation mediaType="application/json">
3055
+ <doc title="Request">rest_user_request.xsd</doc>
3056
+ </representation>
3057
+ </response>
3058
+ </method>
3059
+ <method name="PUT">
3060
+ <doc title="Update Title Request">This web service updates a request for a library resource.</doc>
3061
+ <request>
3062
+ <representation mediaType="application/xml">
3063
+ <doc>This method takes a UserRequest object.</doc>
3064
+ </representation>
3065
+ <representation mediaType="application/json">
3066
+ <doc>This method takes a UserRequest object.</doc>
3067
+ </representation>
3068
+ </request>
3069
+ <response>
3070
+ <representation mediaType="application/xml">
3071
+ <doc title="User Request">rest_user_request.xsd</doc>
3072
+ </representation>
3073
+ <representation mediaType="application/json">
3074
+ <doc title="User Request">rest_user_request.xsd</doc>
3075
+ </representation>
3076
+ </response>
3077
+ </method>
3078
+ </resource>
3079
+ </resource>
3080
+ </resources>
3081
+ </application>