mindee 4.7.2 → 4.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +6 -6
  4. data/Rakefile +1 -0
  5. data/lib/mindee/errors/mindee_http_error_v2.rb +23 -4
  6. data/lib/mindee/errors/mindee_http_unknown_error_v2.rb +18 -0
  7. data/lib/mindee/http/endpoint.rb +1 -0
  8. data/lib/mindee/parsing/v2/error_item.rb +21 -0
  9. data/lib/mindee/parsing/v2/error_response.rb +18 -3
  10. data/lib/mindee/parsing/v2/inference_result.rb +4 -0
  11. data/lib/mindee/parsing/v2/rag_metadata.rb +17 -0
  12. data/lib/mindee/version.rb +1 -1
  13. data/mindee.gemspec +1 -0
  14. data/sig/mindee/errors/mindee_http_error_v2.rbs +4 -1
  15. data/sig/mindee/errors/mindee_http_unknown_error_v2.rbs +9 -0
  16. data/sig/mindee/http/endpoint.rbs +1 -0
  17. data/sig/mindee/parsing/v2/error_item.rbs +13 -0
  18. data/sig/mindee/parsing/v2/error_response.rbs +3 -0
  19. data/sig/mindee/parsing/v2/inference_result.rbs +1 -0
  20. data/sig/mindee/parsing/v2/rag_metadata.rbs +13 -0
  21. metadata +22 -34
  22. data/docs/advanced_file_operations.md +0 -109
  23. data/docs/getting_started.md +0 -257
  24. data/docs/global_products/barcode_reader_v1.md +0 -125
  25. data/docs/global_products/bill_of_lading_v1.md +0 -276
  26. data/docs/global_products/business_card_v1.md +0 -194
  27. data/docs/global_products/cropper_v1.md +0 -123
  28. data/docs/global_products/delivery_notes_v1.md +0 -168
  29. data/docs/global_products/driver_license_v1.md +0 -212
  30. data/docs/global_products/expense_receipts_v5.md +0 -415
  31. data/docs/global_products/financial_document_v1.md +0 -615
  32. data/docs/global_products/international_id_v2.md +0 -264
  33. data/docs/global_products/invoice_splitter_v1.md +0 -127
  34. data/docs/global_products/invoices_v4.md +0 -576
  35. data/docs/global_products/multi_receipts_detector_v1.md +0 -131
  36. data/docs/global_products/nutrition_facts_v1.md +0 -399
  37. data/docs/global_products/passport_v1.md +0 -207
  38. data/docs/global_products/resume_v1.md +0 -384
  39. data/docs/global_products/universal.md +0 -113
  40. data/docs/global_products.md +0 -6
  41. data/docs/loading_a_document.md +0 -330
  42. data/docs/localized_products/bank_account_details_v2.md +0 -158
  43. data/docs/localized_products/bank_check_v1.md +0 -205
  44. data/docs/localized_products/bank_statement_fr_v2.md +0 -269
  45. data/docs/localized_products/carte_grise_v1.md +0 -475
  46. data/docs/localized_products/energy_bill_fra_v1.md +0 -342
  47. data/docs/localized_products/french_healthcard_v1.md +0 -142
  48. data/docs/localized_products/idcard_fr_v2.md +0 -284
  49. data/docs/localized_products/ind_passport_v1.md +0 -307
  50. data/docs/localized_products/payslip_fra_v3.md +0 -344
  51. data/docs/localized_products/us_healthcare_cards_v1.md +0 -258
  52. data/docs/localized_products/us_mail_v3.md +0 -152
  53. data/docs/localized_products.md +0 -6
@@ -1,284 +0,0 @@
1
- ---
2
- title: FR Carte Nationale d'Identité
3
- category: 622b805aaec68102ea7fcbc2
4
- slug: ruby-fr-carte-nationale-didentite-ocr
5
- parentDoc: 67b49e29a2cd6f08d69a40d8
6
- ---
7
- The Ruby Client Library supports the [Carte Nationale d'Identité API](https://platform.mindee.com/mindee/idcard_fr).
8
-
9
-
10
- > 📝 Product Specs
11
- >
12
- > | Specification | Details |
13
- > | ------------------------------ | -------------------------------------------------- |
14
- > | Endpoint Name | `idcard_fr` |
15
- > | Recommended Version | `v2.0` |
16
- > | Supports Polling/Webhooks | ❌ No |
17
- > | Support Synchronous HTTP Calls | ✔️ Yes |
18
- > | Geography | 🇫🇷 France |
19
-
20
-
21
- Using the [sample below](https://github.com/mindee/client-lib-test-data/blob/main/products/idcard_fr/default_sample.jpg),
22
- we are going to illustrate how to extract the data that we want using the Ruby Client Library.
23
- ![Carte Nationale d'Identité sample](https://github.com/mindee/client-lib-test-data/blob/main/products/idcard_fr/default_sample.jpg?raw=true)
24
-
25
- # Quick-Start
26
- ```rb
27
- #
28
- # Install the Ruby client library by running:
29
- # gem install mindee
30
- #
31
-
32
- require 'mindee'
33
-
34
- # Init a new client
35
- mindee_client = Mindee::Client.new(api_key: 'my-api-key')
36
-
37
- # Load a file from disk
38
- input_source = mindee_client.source_from_path('/path/to/the/file.ext')
39
-
40
- # Parse the file
41
- result = mindee_client.parse(
42
- input_source,
43
- Mindee::Product::FR::IdCard::IdCardV2
44
- )
45
-
46
- # Print a full summary of the parsed data in RST format
47
- puts result.document
48
-
49
- # Print the document-level parsed data
50
- # puts result.document.inference.prediction
51
- ```
52
-
53
- **Output (RST):**
54
- ```rst
55
- ########
56
- Document
57
- ########
58
- :Mindee ID: d33828f1-ef7e-4984-b9df-a2bfaa38a78d
59
- :Filename: default_sample.jpg
60
-
61
- Inference
62
- #########
63
- :Product: mindee/idcard_fr v2.0
64
- :Rotation applied: Yes
65
-
66
- Prediction
67
- ==========
68
- :Nationality:
69
- :Card Access Number: 175775H55790
70
- :Document Number:
71
- :Given Name(s): Victor
72
- Marie
73
- :Surname: DAMBARD
74
- :Alternate Name:
75
- :Date of Birth: 1994-04-24
76
- :Place of Birth: LYON 4E ARRONDISSEM
77
- :Gender: M
78
- :Expiry Date: 2030-04-02
79
- :Mrz Line 1: IDFRADAMBARD<<<<<<<<<<<<<<<<<<075025
80
- :Mrz Line 2: 170775H557903VICTOR<<MARIE<9404246M5
81
- :Mrz Line 3:
82
- :Date of Issue: 2015-04-03
83
- :Issuing Authority: SOUS-PREFECTURE DE BELLE (02)
84
-
85
- Page Predictions
86
- ================
87
-
88
- Page 0
89
- ------
90
- :Document Type: OLD
91
- :Document Sides: RECTO & VERSO
92
- :Nationality:
93
- :Card Access Number: 175775H55790
94
- :Document Number:
95
- :Given Name(s): Victor
96
- Marie
97
- :Surname: DAMBARD
98
- :Alternate Name:
99
- :Date of Birth: 1994-04-24
100
- :Place of Birth: LYON 4E ARRONDISSEM
101
- :Gender: M
102
- :Expiry Date: 2030-04-02
103
- :Mrz Line 1: IDFRADAMBARD<<<<<<<<<<<<<<<<<<075025
104
- :Mrz Line 2: 170775H557903VICTOR<<MARIE<9404246M5
105
- :Mrz Line 3:
106
- :Date of Issue: 2015-04-03
107
- :Issuing Authority: SOUS-PREFECTURE DE BELLE (02)
108
- ```
109
-
110
- # Field Types
111
- ## Standard Fields
112
- These fields are generic and used in several products.
113
-
114
- ### Basic Field
115
- Each prediction object contains a set of fields that inherit from the generic `Field` class.
116
- A typical `Field` object will have the following attributes:
117
-
118
- * **value** (`String`, `Float`, `Integer`, `bool`): corresponds to the field value. Can be `nil` if no value was extracted.
119
- * **confidence** (Float, nil): the confidence score of the field prediction.
120
- * **bounding_box** (`Mindee::Geometry::Quadrilateral`, `nil`): contains exactly 4 relative vertices (points) coordinates of a right rectangle containing the field in the document.
121
- * **polygon** (`Mindee::Geometry::Polygon`, `nil`): contains the relative vertices coordinates (`Point`) of a polygon containing the field in the image.
122
- * **page_id** (`Integer`, `nil`): the ID of the page, always `nil` when at document-level.
123
- * **reconstructed** (`bool`): indicates whether an object was reconstructed (not extracted as the API gave it).
124
-
125
-
126
- Aside from the previous attributes, all basic fields have access to a `to_s` method that can be used to print their value as a string.
127
-
128
-
129
- ### Classification Field
130
- The classification field `ClassificationField` does not implement all the basic `Field` attributes. It only implements
131
- **value**, **confidence** and **page_id**.
132
-
133
- > Note: a classification field's `value is always a `String`.
134
-
135
- ### Date Field
136
- Aside from the basic `Field` attributes, the date field `DateField` also implements the following:
137
-
138
- * **date_object** (`Date`): an accessible representation of the value as a JavaScript object.
139
-
140
- ### String Field
141
- The text field `StringField` only has one constraint: it's **value** is a `String` (or `nil`).
142
-
143
- ## Page-Level Fields
144
- Some fields are constrained to the page level, and so will not be retrievable at document level.
145
-
146
- # Attributes
147
- The following fields are extracted for Carte Nationale d'Identité V2:
148
-
149
- ## Alternate Name
150
- **alternate_name** ([StringField](#string-field)): The alternate name of the card holder.
151
-
152
- ```rb
153
- puts result.document.inference.prediction.alternate_name.value
154
- ```
155
-
156
- ## Issuing Authority
157
- **authority** ([StringField](#string-field)): The name of the issuing authority.
158
-
159
- ```rb
160
- puts result.document.inference.prediction.authority.value
161
- ```
162
-
163
- ## Date of Birth
164
- **birth_date** ([DateField](#date-field)): The date of birth of the card holder.
165
-
166
- ```rb
167
- puts result.document.inference.prediction.birth_date.value
168
- ```
169
-
170
- ## Place of Birth
171
- **birth_place** ([StringField](#string-field)): The place of birth of the card holder.
172
-
173
- ```rb
174
- puts result.document.inference.prediction.birth_place.value
175
- ```
176
-
177
- ## Card Access Number
178
- **card_access_number** ([StringField](#string-field)): The card access number (CAN).
179
-
180
- ```rb
181
- puts result.document.inference.prediction.card_access_number.value
182
- ```
183
-
184
- ## Document Number
185
- **document_number** ([StringField](#string-field)): The document number.
186
-
187
- ```rb
188
- puts result.document.inference.prediction.document_number.value
189
- ```
190
-
191
- ## Document Sides
192
- [📄](#page-level-fields "This field is only present on individual pages.")**document_side** ([ClassificationField](#classification-field)): The sides of the document which are visible.
193
-
194
- #### Possible values include:
195
- - 'RECTO'
196
- - 'VERSO'
197
- - 'RECTO & VERSO'
198
-
199
- ```rb
200
- result.document.document_side.each do |document_side_elem|
201
- puts document_side_elem.value
202
- end
203
- ```
204
-
205
- ## Document Type
206
- [📄](#page-level-fields "This field is only present on individual pages.")**document_type** ([ClassificationField](#classification-field)): The document type or format.
207
-
208
- #### Possible values include:
209
- - 'NEW'
210
- - 'OLD'
211
-
212
- ```rb
213
- result.document.document_type.each do |document_type_elem|
214
- puts document_type_elem.value
215
- end
216
- ```
217
-
218
- ## Expiry Date
219
- **expiry_date** ([DateField](#date-field)): The expiry date of the identification card.
220
-
221
- ```rb
222
- puts result.document.inference.prediction.expiry_date.value
223
- ```
224
-
225
- ## Gender
226
- **gender** ([StringField](#string-field)): The gender of the card holder.
227
-
228
- ```rb
229
- puts result.document.inference.prediction.gender.value
230
- ```
231
-
232
- ## Given Name(s)
233
- **given_names** (Array<[StringField](#string-field)>): The given name(s) of the card holder.
234
-
235
- ```rb
236
- result.document.inference.prediction.given_names do |given_names_elem|
237
- puts given_names_elem.value
238
- end
239
- ```
240
-
241
- ## Date of Issue
242
- **issue_date** ([DateField](#date-field)): The date of issue of the identification card.
243
-
244
- ```rb
245
- puts result.document.inference.prediction.issue_date.value
246
- ```
247
-
248
- ## Mrz Line 1
249
- **mrz1** ([StringField](#string-field)): The Machine Readable Zone, first line.
250
-
251
- ```rb
252
- puts result.document.inference.prediction.mrz1.value
253
- ```
254
-
255
- ## Mrz Line 2
256
- **mrz2** ([StringField](#string-field)): The Machine Readable Zone, second line.
257
-
258
- ```rb
259
- puts result.document.inference.prediction.mrz2.value
260
- ```
261
-
262
- ## Mrz Line 3
263
- **mrz3** ([StringField](#string-field)): The Machine Readable Zone, third line.
264
-
265
- ```rb
266
- puts result.document.inference.prediction.mrz3.value
267
- ```
268
-
269
- ## Nationality
270
- **nationality** ([StringField](#string-field)): The nationality of the card holder.
271
-
272
- ```rb
273
- puts result.document.inference.prediction.nationality.value
274
- ```
275
-
276
- ## Surname
277
- **surname** ([StringField](#string-field)): The surname of the card holder.
278
-
279
- ```rb
280
- puts result.document.inference.prediction.surname.value
281
- ```
282
-
283
- # Questions?
284
- [Join our Slack](https://join.slack.com/t/mindee-community/shared_invite/zt-2d0ds7dtz-DPAF81ZqTy20chsYpQBW5g)
@@ -1,307 +0,0 @@
1
- ---
2
- title: IND Passport - India
3
- category: 622b805aaec68102ea7fcbc2
4
- slug: ruby-ind-passport---india-ocr
5
- parentDoc: 67b49e29a2cd6f08d69a40d8
6
- ---
7
- The Ruby Client Library supports the [Passport - India API](https://platform.mindee.com/mindee/ind_passport).
8
-
9
-
10
- > 📝 Product Specs
11
- >
12
- > | Specification | Details |
13
- > | ------------------------------ | -------------------------------------------------- |
14
- > | Endpoint Name | `ind_passport` |
15
- > | Recommended Version | `v1.2` |
16
- > | Supports Polling/Webhooks | ✔️ Yes |
17
- > | Support Synchronous HTTP Calls | ❌ No |
18
- > | Geography | 🇮🇳 India |
19
-
20
- > 🔐 Polling Limitations
21
- >
22
- > | Setting | Parameter name | Default Value |
23
- > | ------------------------------- | ----------------------- | ------------- |
24
- > | Initial Delay Before Polling | `initial_delay_seconds` | 2 seconds |
25
- > | Default Delay Between Calls | `delay_sec` | 1.5 seconds |
26
- > | Polling Attempts Before Timeout | `max_retries` | 80 retries |
27
-
28
-
29
- Using the [sample below](https://github.com/mindee/client-lib-test-data/blob/main/products/ind_passport/default_sample.jpg),
30
- we are going to illustrate how to extract the data that we want using the Ruby Client Library.
31
- ![Passport - India sample](https://github.com/mindee/client-lib-test-data/blob/main/products/ind_passport/default_sample.jpg?raw=true)
32
-
33
- # Quick-Start
34
- ```rb
35
- #
36
- # Install the Ruby client library by running:
37
- # gem install mindee
38
- #
39
-
40
- require 'mindee'
41
-
42
- # Init a new client
43
- mindee_client = Mindee::Client.new(api_key: 'my-api-key')
44
-
45
- # Load a file from disk
46
- input_source = mindee_client.source_from_path('/path/to/the/file.ext')
47
-
48
- # Parse the file
49
- result = mindee_client.parse(
50
- input_source,
51
- Mindee::Product::IND::IndianPassport::IndianPassportV1
52
- )
53
-
54
- # Print a full summary of the parsed data in RST format
55
- puts result.document
56
-
57
- # Print the document-level parsed data
58
- # puts result.document.inference.prediction
59
- ```
60
-
61
- **Output (RST):**
62
- ```rst
63
- ########
64
- Document
65
- ########
66
- :Mindee ID: cf88fd43-eaa1-497a-ba29-a9569a4edaa7
67
- :Filename: default_sample.jpg
68
-
69
- Inference
70
- #########
71
- :Product: mindee/ind_passport v1.2
72
- :Rotation applied: Yes
73
-
74
- Prediction
75
- ==========
76
- :Page Number: 1
77
- :Country: IND
78
- :ID Number: J8369854
79
- :Given Names: JOCELYN MICHELLE
80
- :Surname: DOE
81
- :Birth Date: 1959-09-23
82
- :Birth Place: GUNDUGOLANU
83
- :Issuance Place: HYDERABAD
84
- :Gender: F
85
- :Issuance Date: 2011-10-11
86
- :Expiry Date: 2021-10-10
87
- :MRZ Line 1: P<DOE<<JOCELYNMICHELLE<<<<<<<<<<<<<<<<<<<<<
88
- :MRZ Line 2: J8369854<4IND5909234F2110101<<<<<<<<<<<<<<<8
89
- :Legal Guardian:
90
- :Name of Spouse:
91
- :Name of Mother:
92
- :Old Passport Date of Issue:
93
- :Old Passport Number:
94
- :Old Passport Place of Issue:
95
- :Address Line 1:
96
- :Address Line 2:
97
- :Address Line 3:
98
- :File Number:
99
- ```
100
-
101
- # Field Types
102
- ## Standard Fields
103
- These fields are generic and used in several products.
104
-
105
- ### Basic Field
106
- Each prediction object contains a set of fields that inherit from the generic `Field` class.
107
- A typical `Field` object will have the following attributes:
108
-
109
- * **value** (`String`, `Float`, `Integer`, `bool`): corresponds to the field value. Can be `nil` if no value was extracted.
110
- * **confidence** (Float, nil): the confidence score of the field prediction.
111
- * **bounding_box** (`Mindee::Geometry::Quadrilateral`, `nil`): contains exactly 4 relative vertices (points) coordinates of a right rectangle containing the field in the document.
112
- * **polygon** (`Mindee::Geometry::Polygon`, `nil`): contains the relative vertices coordinates (`Point`) of a polygon containing the field in the image.
113
- * **page_id** (`Integer`, `nil`): the ID of the page, always `nil` when at document-level.
114
- * **reconstructed** (`bool`): indicates whether an object was reconstructed (not extracted as the API gave it).
115
-
116
-
117
- Aside from the previous attributes, all basic fields have access to a `to_s` method that can be used to print their value as a string.
118
-
119
-
120
- ### Classification Field
121
- The classification field `ClassificationField` does not implement all the basic `Field` attributes. It only implements
122
- **value**, **confidence** and **page_id**.
123
-
124
- > Note: a classification field's `value is always a `String`.
125
-
126
- ### Date Field
127
- Aside from the basic `Field` attributes, the date field `DateField` also implements the following:
128
-
129
- * **date_object** (`Date`): an accessible representation of the value as a JavaScript object.
130
-
131
- ### String Field
132
- The text field `StringField` only has one constraint: it's **value** is a `String` (or `nil`).
133
-
134
- # Attributes
135
- The following fields are extracted for Passport - India V1:
136
-
137
- ## Address Line 1
138
- **address1** ([StringField](#string-field)): The first line of the address of the passport holder.
139
-
140
- ```rb
141
- puts result.document.inference.prediction.address1.value
142
- ```
143
-
144
- ## Address Line 2
145
- **address2** ([StringField](#string-field)): The second line of the address of the passport holder.
146
-
147
- ```rb
148
- puts result.document.inference.prediction.address2.value
149
- ```
150
-
151
- ## Address Line 3
152
- **address3** ([StringField](#string-field)): The third line of the address of the passport holder.
153
-
154
- ```rb
155
- puts result.document.inference.prediction.address3.value
156
- ```
157
-
158
- ## Birth Date
159
- **birth_date** ([DateField](#date-field)): The birth date of the passport holder, ISO format: YYYY-MM-DD.
160
-
161
- ```rb
162
- puts result.document.inference.prediction.birth_date.value
163
- ```
164
-
165
- ## Birth Place
166
- **birth_place** ([StringField](#string-field)): The birth place of the passport holder.
167
-
168
- ```rb
169
- puts result.document.inference.prediction.birth_place.value
170
- ```
171
-
172
- ## Country
173
- **country** ([StringField](#string-field)): ISO 3166-1 alpha-3 country code (3 letters format).
174
-
175
- ```rb
176
- puts result.document.inference.prediction.country.value
177
- ```
178
-
179
- ## Expiry Date
180
- **expiry_date** ([DateField](#date-field)): The date when the passport will expire, ISO format: YYYY-MM-DD.
181
-
182
- ```rb
183
- puts result.document.inference.prediction.expiry_date.value
184
- ```
185
-
186
- ## File Number
187
- **file_number** ([StringField](#string-field)): The file number of the passport document.
188
-
189
- ```rb
190
- puts result.document.inference.prediction.file_number.value
191
- ```
192
-
193
- ## Gender
194
- **gender** ([ClassificationField](#classification-field)): The gender of the passport holder.
195
-
196
- #### Possible values include:
197
- - 'M'
198
- - 'F'
199
-
200
- ```rb
201
- puts result.document.inference.prediction.gender.value
202
- ```
203
-
204
- ## Given Names
205
- **given_names** ([StringField](#string-field)): The given names of the passport holder.
206
-
207
- ```rb
208
- puts result.document.inference.prediction.given_names.value
209
- ```
210
-
211
- ## ID Number
212
- **id_number** ([StringField](#string-field)): The identification number of the passport document.
213
-
214
- ```rb
215
- puts result.document.inference.prediction.id_number.value
216
- ```
217
-
218
- ## Issuance Date
219
- **issuance_date** ([DateField](#date-field)): The date when the passport was issued, ISO format: YYYY-MM-DD.
220
-
221
- ```rb
222
- puts result.document.inference.prediction.issuance_date.value
223
- ```
224
-
225
- ## Issuance Place
226
- **issuance_place** ([StringField](#string-field)): The place where the passport was issued.
227
-
228
- ```rb
229
- puts result.document.inference.prediction.issuance_place.value
230
- ```
231
-
232
- ## Legal Guardian
233
- **legal_guardian** ([StringField](#string-field)): The name of the legal guardian of the passport holder (if applicable).
234
-
235
- ```rb
236
- puts result.document.inference.prediction.legal_guardian.value
237
- ```
238
-
239
- ## MRZ Line 1
240
- **mrz1** ([StringField](#string-field)): The first line of the machine-readable zone (MRZ) of the passport document.
241
-
242
- ```rb
243
- puts result.document.inference.prediction.mrz1.value
244
- ```
245
-
246
- ## MRZ Line 2
247
- **mrz2** ([StringField](#string-field)): The second line of the machine-readable zone (MRZ) of the passport document.
248
-
249
- ```rb
250
- puts result.document.inference.prediction.mrz2.value
251
- ```
252
-
253
- ## Name of Mother
254
- **name_of_mother** ([StringField](#string-field)): The name of the mother of the passport holder.
255
-
256
- ```rb
257
- puts result.document.inference.prediction.name_of_mother.value
258
- ```
259
-
260
- ## Name of Spouse
261
- **name_of_spouse** ([StringField](#string-field)): The name of the spouse of the passport holder (if applicable).
262
-
263
- ```rb
264
- puts result.document.inference.prediction.name_of_spouse.value
265
- ```
266
-
267
- ## Old Passport Date of Issue
268
- **old_passport_date_of_issue** ([DateField](#date-field)): The date of issue of the old passport (if applicable), ISO format: YYYY-MM-DD.
269
-
270
- ```rb
271
- puts result.document.inference.prediction.old_passport_date_of_issue.value
272
- ```
273
-
274
- ## Old Passport Number
275
- **old_passport_number** ([StringField](#string-field)): The number of the old passport (if applicable).
276
-
277
- ```rb
278
- puts result.document.inference.prediction.old_passport_number.value
279
- ```
280
-
281
- ## Old Passport Place of Issue
282
- **old_passport_place_of_issue** ([StringField](#string-field)): The place of issue of the old passport (if applicable).
283
-
284
- ```rb
285
- puts result.document.inference.prediction.old_passport_place_of_issue.value
286
- ```
287
-
288
- ## Page Number
289
- **page_number** ([ClassificationField](#classification-field)): The page number of the passport document.
290
-
291
- #### Possible values include:
292
- - '1'
293
- - '2'
294
-
295
- ```rb
296
- puts result.document.inference.prediction.page_number.value
297
- ```
298
-
299
- ## Surname
300
- **surname** ([StringField](#string-field)): The surname of the passport holder.
301
-
302
- ```rb
303
- puts result.document.inference.prediction.surname.value
304
- ```
305
-
306
- # Questions?
307
- [Join our Slack](https://join.slack.com/t/mindee-community/shared_invite/zt-2d0ds7dtz-DPAF81ZqTy20chsYpQBW5g)