regula-documentreader-webclient 9.1.628rc0__py3-none-any.whl → 9.2.651.dev0__py3-none-any.whl

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.

Potentially problematic release.


This version of regula-documentreader-webclient might be problematic. Click here for more details.

Files changed (156) hide show
  1. regula/documentreader/webclient/gen/__init__.py +51 -0
  2. regula/documentreader/webclient/gen/models/__init__.py +34 -0
  3. regula/documentreader/webclient/gen/models/area_array.py +2 -2
  4. regula/documentreader/webclient/gen/models/area_container.py +2 -2
  5. regula/documentreader/webclient/gen/models/auth_params.py +1 -1
  6. regula/documentreader/webclient/gen/models/authenticity_check_list.py +1 -1
  7. regula/documentreader/webclient/gen/models/authenticity_check_list_item.py +1 -1
  8. regula/documentreader/webclient/gen/models/authenticity_check_result.py +1 -1
  9. regula/documentreader/webclient/gen/models/authenticity_result.py +1 -1
  10. regula/documentreader/webclient/gen/models/barcode_position_item.py +1 -1
  11. regula/documentreader/webclient/gen/models/barcode_position_result.py +1 -1
  12. regula/documentreader/webclient/gen/models/binary_data.py +3 -3
  13. regula/documentreader/webclient/gen/models/candidates_list_item.py +1 -1
  14. regula/documentreader/webclient/gen/models/chosen_document_type.py +1 -1
  15. regula/documentreader/webclient/gen/models/chosen_document_type_result.py +1 -1
  16. regula/documentreader/webclient/gen/models/container_list.py +1 -1
  17. regula/documentreader/webclient/gen/models/container_list_list_inner.py +50 -8
  18. regula/documentreader/webclient/gen/models/database_document_list.py +1 -1
  19. regula/documentreader/webclient/gen/models/details_age.py +93 -0
  20. regula/documentreader/webclient/gen/models/device_info.py +1 -1
  21. regula/documentreader/webclient/gen/models/doc_bar_code_info.py +1 -1
  22. regula/documentreader/webclient/gen/models/doc_bar_code_info_fields_list.py +1 -1
  23. regula/documentreader/webclient/gen/models/doc_bar_code_info_item.py +1 -1
  24. regula/documentreader/webclient/gen/models/doc_feature.py +88 -0
  25. regula/documentreader/webclient/gen/models/doc_graphics_info_item.py +1 -1
  26. regula/documentreader/webclient/gen/models/doc_visual_extended_field.py +2 -2
  27. regula/documentreader/webclient/gen/models/doc_visual_extended_field_item.py +1 -1
  28. regula/documentreader/webclient/gen/models/doc_visual_extended_info.py +1 -1
  29. regula/documentreader/webclient/gen/models/doc_visual_extended_info_item.py +1 -1
  30. regula/documentreader/webclient/gen/models/document_binary_info_result.py +1 -1
  31. regula/documentreader/webclient/gen/models/document_image_result.py +1 -1
  32. regula/documentreader/webclient/gen/models/document_position.py +5 -5
  33. regula/documentreader/webclient/gen/models/document_position_item.py +1 -1
  34. regula/documentreader/webclient/gen/models/document_position_result.py +1 -1
  35. regula/documentreader/webclient/gen/models/document_types_candidates.py +1 -1
  36. regula/documentreader/webclient/gen/models/document_types_candidates_list.py +1 -1
  37. regula/documentreader/webclient/gen/models/document_types_candidates_result.py +1 -1
  38. regula/documentreader/webclient/gen/models/face_api.py +1 -1
  39. regula/documentreader/webclient/gen/models/face_detection.py +1 -1
  40. regula/documentreader/webclient/gen/models/face_detection_item.py +1 -1
  41. regula/documentreader/webclient/gen/models/face_detection_result.py +1 -1
  42. regula/documentreader/webclient/gen/models/face_item.py +3 -3
  43. regula/documentreader/webclient/gen/models/fiber_item.py +1 -1
  44. regula/documentreader/webclient/gen/models/fiber_result.py +1 -1
  45. regula/documentreader/webclient/gen/models/graph_data.py +1 -1
  46. regula/documentreader/webclient/gen/models/graphic_field.py +2 -2
  47. regula/documentreader/webclient/gen/models/graphic_fields_list.py +1 -1
  48. regula/documentreader/webclient/gen/models/graphics_result.py +1 -1
  49. regula/documentreader/webclient/gen/models/healthcheck.py +1 -1
  50. regula/documentreader/webclient/gen/models/ident_item.py +4 -4
  51. regula/documentreader/webclient/gen/models/ident_result.py +4 -4
  52. regula/documentreader/webclient/gen/models/image_qa.py +1 -1
  53. regula/documentreader/webclient/gen/models/image_quality_check.py +1 -1
  54. regula/documentreader/webclient/gen/models/image_quality_check_list.py +1 -1
  55. regula/documentreader/webclient/gen/models/image_quality_check_list_item.py +1 -1
  56. regula/documentreader/webclient/gen/models/image_quality_result.py +1 -1
  57. regula/documentreader/webclient/gen/models/image_transaction_data.py +1 -1
  58. regula/documentreader/webclient/gen/models/images.py +2 -2
  59. regula/documentreader/webclient/gen/models/images_field.py +1 -1
  60. regula/documentreader/webclient/gen/models/images_field_value.py +2 -2
  61. regula/documentreader/webclient/gen/models/images_item.py +1 -1
  62. regula/documentreader/webclient/gen/models/images_result.py +1 -1
  63. regula/documentreader/webclient/gen/models/in_data.py +2 -2
  64. regula/documentreader/webclient/gen/models/lexical_analysis_result.py +1 -1
  65. regula/documentreader/webclient/gen/models/list_transactions_by_tag_response.py +1 -1
  66. regula/documentreader/webclient/gen/models/list_verified_fields.py +1 -1
  67. regula/documentreader/webclient/gen/models/list_verified_fields_item.py +1 -1
  68. regula/documentreader/webclient/gen/models/mdl_device_engagement.py +29 -0
  69. regula/documentreader/webclient/gen/models/mdl_device_retrieval.py +30 -0
  70. regula/documentreader/webclient/gen/models/mdl_item.py +82 -0
  71. regula/documentreader/webclient/gen/models/mdl_result.py +89 -0
  72. regula/documentreader/webclient/gen/models/mdl_server_retrieval.py +29 -0
  73. regula/documentreader/webclient/gen/models/message.py +98 -0
  74. regula/documentreader/webclient/gen/models/mrz_detector_result.py +1 -1
  75. regula/documentreader/webclient/gen/models/mrz_position_item.py +1 -1
  76. regula/documentreader/webclient/gen/models/mrz_position_result.py +1 -1
  77. regula/documentreader/webclient/gen/models/mrz_rows_item.py +1 -1
  78. regula/documentreader/webclient/gen/models/mrz_test_quality.py +1 -1
  79. regula/documentreader/webclient/gen/models/mrz_test_quality_item.py +1 -1
  80. regula/documentreader/webclient/gen/models/mrz_test_quality_result.py +1 -1
  81. regula/documentreader/webclient/gen/models/ocr_security_text_item.py +2 -2
  82. regula/documentreader/webclient/gen/models/ocr_security_text_result.py +2 -2
  83. regula/documentreader/webclient/gen/models/one_candidate.py +1 -1
  84. regula/documentreader/webclient/gen/models/one_candidate_item.py +1 -1
  85. regula/documentreader/webclient/gen/models/original_symbol.py +1 -1
  86. regula/documentreader/webclient/gen/models/out_data.py +1 -1
  87. regula/documentreader/webclient/gen/models/p_array_field.py +3 -3
  88. regula/documentreader/webclient/gen/models/photo_ident_item.py +3 -3
  89. regula/documentreader/webclient/gen/models/photo_ident_result.py +3 -3
  90. regula/documentreader/webclient/gen/models/pid.py +88 -0
  91. regula/documentreader/webclient/gen/models/point_array.py +1 -1
  92. regula/documentreader/webclient/gen/models/points_container.py +1 -1
  93. regula/documentreader/webclient/gen/models/process_params.py +5 -5
  94. regula/documentreader/webclient/gen/models/process_request.py +4 -4
  95. regula/documentreader/webclient/gen/models/process_request_image.py +1 -1
  96. regula/documentreader/webclient/gen/models/process_response.py +2 -2
  97. regula/documentreader/webclient/gen/models/raw_image_container_item.py +1 -1
  98. regula/documentreader/webclient/gen/models/raw_image_container_list.py +1 -1
  99. regula/documentreader/webclient/gen/models/result.py +3 -0
  100. regula/documentreader/webclient/gen/models/result_item.py +12 -3
  101. regula/documentreader/webclient/gen/models/result_mrz_detector.py +1 -1
  102. regula/documentreader/webclient/gen/models/result_mrz_detector_item.py +1 -1
  103. regula/documentreader/webclient/gen/models/rfid_application.py +1 -1
  104. regula/documentreader/webclient/gen/models/rfid_attribute_name.py +1 -1
  105. regula/documentreader/webclient/gen/models/rfid_certificate_ex.py +5 -5
  106. regula/documentreader/webclient/gen/models/rfid_data_file.py +3 -3
  107. regula/documentreader/webclient/gen/models/rfid_distinguished_name.py +2 -2
  108. regula/documentreader/webclient/gen/models/rfid_doc_visual_extended_field.py +1 -1
  109. regula/documentreader/webclient/gen/models/rfid_doc_visual_extended_info.py +1 -1
  110. regula/documentreader/webclient/gen/models/rfid_doc_visual_extended_info_item.py +1 -1
  111. regula/documentreader/webclient/gen/models/rfid_graphics_info_result.py +1 -1
  112. regula/documentreader/webclient/gen/models/rfid_security_object.py +1 -1
  113. regula/documentreader/webclient/gen/models/rfid_session_data.py +6 -6
  114. regula/documentreader/webclient/gen/models/rfid_signer_info_ex.py +6 -6
  115. regula/documentreader/webclient/gen/models/rfid_text_data_result.py +1 -1
  116. regula/documentreader/webclient/gen/models/rfid_validity.py +2 -2
  117. regula/documentreader/webclient/gen/models/security_feature_item.py +2 -2
  118. regula/documentreader/webclient/gen/models/security_feature_result.py +2 -2
  119. regula/documentreader/webclient/gen/models/security_object_certificates.py +1 -1
  120. regula/documentreader/webclient/gen/models/status.py +14 -4
  121. regula/documentreader/webclient/gen/models/status_item.py +1 -1
  122. regula/documentreader/webclient/gen/models/status_result.py +1 -1
  123. regula/documentreader/webclient/gen/models/string_item.py +4 -4
  124. regula/documentreader/webclient/gen/models/string_recognition_result.py +1 -1
  125. regula/documentreader/webclient/gen/models/symbol_estimation_item.py +1 -1
  126. regula/documentreader/webclient/gen/models/symbol_recognition_result.py +2 -2
  127. regula/documentreader/webclient/gen/models/t_doc_binary_info.py +2 -2
  128. regula/documentreader/webclient/gen/models/t_doc_binary_info_item.py +1 -1
  129. regula/documentreader/webclient/gen/models/t_original_rfid_graphics_info.py +1 -1
  130. regula/documentreader/webclient/gen/models/t_original_rfid_graphics_info_item.py +1 -1
  131. regula/documentreader/webclient/gen/models/text.py +2 -2
  132. regula/documentreader/webclient/gen/models/text_data_result.py +1 -1
  133. regula/documentreader/webclient/gen/models/text_field.py +3 -3
  134. regula/documentreader/webclient/gen/models/text_field_type.py +3 -0
  135. regula/documentreader/webclient/gen/models/text_field_value.py +3 -3
  136. regula/documentreader/webclient/gen/models/text_item.py +1 -1
  137. regula/documentreader/webclient/gen/models/text_result.py +1 -1
  138. regula/documentreader/webclient/gen/models/transaction_image.py +1 -1
  139. regula/documentreader/webclient/gen/models/transaction_info.py +1 -1
  140. regula/documentreader/webclient/gen/models/transaction_process_get_response.py +2 -2
  141. regula/documentreader/webclient/gen/models/transaction_process_request.py +4 -4
  142. regula/documentreader/webclient/gen/models/transaction_process_result.py +2 -2
  143. regula/documentreader/webclient/gen/models/trf_ft_string.py +1 -1
  144. regula/documentreader/webclient/gen/models/vd_item.py +90 -0
  145. regula/documentreader/webclient/gen/models/vds_data.py +126 -0
  146. regula/documentreader/webclient/gen/models/vds_data_item.py +86 -0
  147. regula/documentreader/webclient/gen/models/vds_data_result.py +93 -0
  148. regula/documentreader/webclient/gen/models/vdsnc_data.py +117 -0
  149. regula/documentreader/webclient/gen/models/vdsnc_data_item.py +86 -0
  150. regula/documentreader/webclient/gen/models/vdsnc_data_result.py +93 -0
  151. regula/documentreader/webclient/gen/models/ve_item.py +96 -0
  152. regula/documentreader/webclient/gen/models/visual_extended_field_item.py +1 -1
  153. {regula_documentreader_webclient-9.1.628rc0.dist-info → regula_documentreader_webclient-9.2.651.dev0.dist-info}/METADATA +1 -1
  154. {regula_documentreader_webclient-9.1.628rc0.dist-info → regula_documentreader_webclient-9.2.651.dev0.dist-info}/RECORD +156 -139
  155. {regula_documentreader_webclient-9.1.628rc0.dist-info → regula_documentreader_webclient-9.2.651.dev0.dist-info}/WHEEL +0 -0
  156. {regula_documentreader_webclient-9.1.628rc0.dist-info → regula_documentreader_webclient-9.2.651.dev0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,88 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Generated by: https://openapi-generator.tech
5
+ """
6
+
7
+ from __future__ import annotations
8
+ import pprint
9
+ import re # noqa: F401
10
+ import json
11
+
12
+ from pydantic import BaseModel, ConfigDict, StrictStr
13
+ from typing import Any, ClassVar, Dict, List, Optional
14
+ from typing import Optional, Set
15
+ from typing_extensions import Self
16
+ from pydantic import SkipValidation, Field
17
+
18
+ class PID(BaseModel):
19
+ """
20
+ PID
21
+ """ # noqa: E501
22
+ dob: SkipValidation[Optional[str]] = Field(alias="dob", default=None)
23
+ i: SkipValidation[Optional[str]] = Field(alias="i", default=None)
24
+ n: SkipValidation[Optional[str]] = Field(alias="n", default=None)
25
+ sex: SkipValidation[Optional[str]] = Field(alias="sex", default=None)
26
+ __properties: ClassVar[List[str]] = ["dob", "i", "n", "sex"]
27
+
28
+ model_config = ConfigDict(
29
+ populate_by_name=True,
30
+ validate_assignment=True,
31
+ protected_namespaces=(),
32
+ arbitrary_types_allowed=True,
33
+ use_enum_values=True
34
+ )
35
+
36
+
37
+ def to_str(self) -> str:
38
+ """Returns the string representation of the model using alias"""
39
+ return pprint.pformat(self.model_dump(by_alias=True))
40
+
41
+ def to_json(self) -> str:
42
+ """Returns the JSON representation of the model using alias"""
43
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
44
+ return json.dumps(self.to_dict())
45
+
46
+ @classmethod
47
+ def from_json(cls, json_str: str) -> Optional[Self]:
48
+ """Create an instance of PID from a JSON string"""
49
+ return cls.from_dict(json.loads(json_str))
50
+
51
+ def to_dict(self) -> Dict[str, Any]:
52
+ """Return the dictionary representation of the model using alias.
53
+
54
+ This has the following differences from calling pydantic's
55
+ `self.model_dump(by_alias=True)`:
56
+
57
+ * `None` is only added to the output dict for nullable fields that
58
+ were set at model initialization. Other fields with value `None`
59
+ are ignored.
60
+ """
61
+ excluded_fields: Set[str] = set([
62
+ ])
63
+
64
+ _dict = self.model_dump(
65
+ by_alias=True,
66
+ exclude=excluded_fields,
67
+ exclude_none=True,
68
+ )
69
+ return _dict
70
+
71
+ @classmethod
72
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
73
+ """Create an instance of PID from a dict"""
74
+ if obj is None:
75
+ return None
76
+
77
+ if not isinstance(obj, dict):
78
+ return cls.model_validate(obj)
79
+
80
+ _obj = cls.model_validate({
81
+ "dob": obj.get("dob"),
82
+ "i": obj.get("i"),
83
+ "n": obj.get("n"),
84
+ "sex": obj.get("sex")
85
+ })
86
+ return _obj
87
+
88
+
@@ -68,7 +68,7 @@ class PointArray(BaseModel):
68
68
  _items = []
69
69
  if self.points_list:
70
70
  for _item_points_list in self.points_list:
71
- if _item_points_list:
71
+ if _item_points_list and hasattr(_item_points_list, "to_dict"):
72
72
  _items.append(_item_points_list.to_dict())
73
73
  _dict['PointsList'] = _items
74
74
  return _dict
@@ -69,7 +69,7 @@ class PointsContainer(BaseModel):
69
69
  _items = []
70
70
  if self.points_list:
71
71
  for _item_points_list in self.points_list:
72
- if _item_points_list:
72
+ if _item_points_list and hasattr(_item_points_list, "to_dict"):
73
73
  _items.append(_item_points_list.to_dict())
74
74
  _dict['PointsList'] = _items
75
75
  return _dict
@@ -147,23 +147,23 @@ class ProcessParams(BaseModel):
147
147
  exclude_none=True,
148
148
  )
149
149
  # override the default output from pydantic by calling `to_dict()` of face_api
150
- if self.face_api:
150
+ if self.face_api and isinstance(self.face_api, FaceApi):
151
151
  _dict['faceApi'] = self.face_api.to_dict()
152
152
  # override the default output from pydantic by calling `to_dict()` of each item in config (list)
153
153
  _items = []
154
154
  if self.config:
155
155
  for _item_config in self.config:
156
- if _item_config:
156
+ if _item_config and hasattr(_item_config, "to_dict"):
157
157
  _items.append(_item_config.to_dict())
158
158
  _dict['config'] = _items
159
159
  # override the default output from pydantic by calling `to_dict()` of image_qa
160
- if self.image_qa:
160
+ if self.image_qa and isinstance(self.image_qa, ImageQA):
161
161
  _dict['imageQa'] = self.image_qa.to_dict()
162
162
  # override the default output from pydantic by calling `to_dict()` of rfid
163
- if self.rfid:
163
+ if self.rfid and isinstance(self.rfid, ProcessParamsRfid):
164
164
  _dict['rfid'] = self.rfid.to_dict()
165
165
  # override the default output from pydantic by calling `to_dict()` of auth_params
166
- if self.auth_params:
166
+ if self.auth_params and isinstance(self.auth_params, AuthParams):
167
167
  _dict['authParams'] = self.auth_params.to_dict()
168
168
  return _dict
169
169
 
@@ -79,20 +79,20 @@ class ProcessRequest(BaseModel):
79
79
  exclude_none=True,
80
80
  )
81
81
  # override the default output from pydantic by calling `to_dict()` of process_param
82
- if self.process_param:
82
+ if self.process_param and isinstance(self.process_param, ProcessParams):
83
83
  _dict['processParam'] = self.process_param.to_dict()
84
84
  # override the default output from pydantic by calling `to_dict()` of each item in list (list)
85
85
  _items = []
86
86
  if self.list:
87
87
  for _item_list in self.list:
88
- if _item_list:
88
+ if _item_list and hasattr(_item_list, "to_dict"):
89
89
  _items.append(_item_list.to_dict())
90
90
  _dict['List'] = _items
91
91
  # override the default output from pydantic by calling `to_dict()` of container_list
92
- if self.container_list:
92
+ if self.container_list and isinstance(self.container_list, ContainerList):
93
93
  _dict['ContainerList'] = self.container_list.to_dict()
94
94
  # override the default output from pydantic by calling `to_dict()` of system_info
95
- if self.system_info:
95
+ if self.system_info and isinstance(self.system_info, ProcessSystemInfo):
96
96
  _dict['systemInfo'] = self.system_info.to_dict()
97
97
  return _dict
98
98
 
@@ -68,7 +68,7 @@ class ProcessRequestImage(BaseModel):
68
68
  exclude_none=True,
69
69
  )
70
70
  # override the default output from pydantic by calling `to_dict()` of image_data
71
- if self.image_data:
71
+ if self.image_data and isinstance(self.image_data, ImageData):
72
72
  _dict['ImageData'] = self.image_data.to_dict()
73
73
  return _dict
74
74
 
@@ -77,10 +77,10 @@ class ProcessResponse(BaseModel):
77
77
  exclude_none=True,
78
78
  )
79
79
  # override the default output from pydantic by calling `to_dict()` of container_list
80
- if self.container_list:
80
+ if self.container_list and isinstance(self.container_list, ContainerList):
81
81
  _dict['ContainerList'] = self.container_list.to_dict()
82
82
  # override the default output from pydantic by calling `to_dict()` of transaction_info
83
- if self.transaction_info:
83
+ if self.transaction_info and isinstance(self.transaction_info, TransactionInfo):
84
84
  _dict['TransactionInfo'] = self.transaction_info.to_dict()
85
85
  return _dict
86
86
 
@@ -65,7 +65,7 @@ class RawImageContainerItem(BaseModel):
65
65
  exclude_none=True,
66
66
  )
67
67
  # override the default output from pydantic by calling `to_dict()` of raw_image_container
68
- if self.raw_image_container:
68
+ if self.raw_image_container and isinstance(self.raw_image_container, ImageData):
69
69
  _dict['RawImageContainer'] = self.raw_image_container.to_dict()
70
70
  return _dict
71
71
 
@@ -69,7 +69,7 @@ class RawImageContainerList(BaseModel):
69
69
  _items = []
70
70
  if self.images:
71
71
  for _item_images in self.images:
72
- if _item_images:
72
+ if _item_images and hasattr(_item_images, "to_dict"):
73
73
  _items.append(_item_images.to_dict())
74
74
  _dict['Images'] = _items
75
75
  return _dict
@@ -54,6 +54,9 @@ class Result(int, Enum):
54
54
  RFID_BINARY_DATA = 104
55
55
  RFID_ORIGINAL_GRAPHICS = 105
56
56
  DTC_VC = 109
57
+ MDL_PARSED_RESPONSE = 121
58
+ VDS_NC = 124
59
+ VDS = 125
57
60
 
58
61
  @classmethod
59
62
  def from_json(cls, json_str: str) -> Self:
@@ -26,6 +26,9 @@ if TYPE_CHECKING:
26
26
  from regula.documentreader.webclient.gen.models.document_binary_info_result import DocumentBinaryInfoResult
27
27
  from regula.documentreader.webclient.gen.models.rfid_graphics_info_result import RFIDGraphicsInfoResult
28
28
  from regula.documentreader.webclient.gen.models.byte_array_result import ByteArrayResult
29
+ from regula.documentreader.webclient.gen.models.mdl_result import MDLResult
30
+ from regula.documentreader.webclient.gen.models.vdsnc_data_result import VDSNCDataResult
31
+ from regula.documentreader.webclient.gen.models.vds_data_result import VDSDataResult
29
32
  from regula.documentreader.webclient.gen.models.lexical_analysis_result import LexicalAnalysisResult
30
33
  from regula.documentreader.webclient.gen.models.document_image_result import DocumentImageResult
31
34
  from regula.documentreader.webclient.gen.models.text_data_result import TextDataResult
@@ -81,7 +84,7 @@ class ResultItem(BaseModel):
81
84
 
82
85
  # discriminator mappings
83
86
  __discriminator_value_class_map: ClassVar[Dict[str, str]] = {
84
- '1': 'DocumentImageResult','101': 'DocumentBinaryInfoResult','102': 'RFIDTextDataResult','103': 'GraphicsResult','104': 'DocumentBinaryInfoResult','105': 'RFIDGraphicsInfoResult','109': 'ByteArrayResult','15': 'LexicalAnalysisResult','16': 'DocumentImageResult','17': 'TextDataResult','18': 'TextDataResult','19': 'GraphicsResult','20': 'AuthenticityResult','26': 'TextDataResult','3': 'TextDataResult','30': 'ImageQualityResult','32': 'GraphicsResult','33': 'StatusResult','34': 'AuthenticityResult','35': 'GraphicsResult','36': 'TextResult','37': 'ImagesResult','38': 'GraphicsResult','39': 'AuthenticityResult','49': 'EncryptedRCLResult','5': 'DocBarCodeInfo','50': 'LicenseResult','6': 'GraphicsResult','61': 'MRZPositionResult','62': 'BarcodePositionResult','7': 'MRZTestQualityResult','8': 'DocumentTypesCandidatesResult','85': 'DocumentPositionResult','87': 'MRZDetectorResult','9': 'ChosenDocumentTypeResult','97': 'FaceDetectionResult'
87
+ '1': 'DocumentImageResult','101': 'DocumentBinaryInfoResult','102': 'RFIDTextDataResult','103': 'GraphicsResult','104': 'DocumentBinaryInfoResult','105': 'RFIDGraphicsInfoResult','109': 'ByteArrayResult','121': 'MDLResult','124': 'VDSNCDataResult','125': 'VDSDataResult','15': 'LexicalAnalysisResult','16': 'DocumentImageResult','17': 'TextDataResult','18': 'TextDataResult','19': 'GraphicsResult','20': 'AuthenticityResult','26': 'TextDataResult','3': 'TextDataResult','30': 'ImageQualityResult','32': 'GraphicsResult','33': 'StatusResult','34': 'AuthenticityResult','35': 'GraphicsResult','36': 'TextResult','37': 'ImagesResult','38': 'GraphicsResult','39': 'AuthenticityResult','49': 'EncryptedRCLResult','5': 'DocBarCodeInfo','50': 'LicenseResult','6': 'GraphicsResult','61': 'MRZPositionResult','62': 'BarcodePositionResult','7': 'MRZTestQualityResult','8': 'DocumentTypesCandidatesResult','85': 'DocumentPositionResult','87': 'MRZDetectorResult','9': 'ChosenDocumentTypeResult','97': 'FaceDetectionResult'
85
88
  }
86
89
 
87
90
  @classmethod
@@ -103,7 +106,7 @@ class ResultItem(BaseModel):
103
106
  return json.dumps(self.to_dict())
104
107
 
105
108
  @classmethod
106
- def from_json(cls, json_str: str) -> Optional[Union[DocumentImageResult, DocumentBinaryInfoResult, RFIDTextDataResult, GraphicsResult, DocumentBinaryInfoResult, RFIDGraphicsInfoResult, ByteArrayResult, LexicalAnalysisResult, DocumentImageResult, TextDataResult, TextDataResult, GraphicsResult, AuthenticityResult, TextDataResult, TextDataResult, ImageQualityResult, GraphicsResult, StatusResult, AuthenticityResult, GraphicsResult, TextResult, ImagesResult, GraphicsResult, AuthenticityResult, EncryptedRCLResult, DocBarCodeInfo, LicenseResult, GraphicsResult, MRZPositionResult, BarcodePositionResult, MRZTestQualityResult, DocumentTypesCandidatesResult, DocumentPositionResult, MRZDetectorResult, ChosenDocumentTypeResult, FaceDetectionResult]]:
109
+ def from_json(cls, json_str: str) -> Optional[Union[DocumentImageResult, DocumentBinaryInfoResult, RFIDTextDataResult, GraphicsResult, DocumentBinaryInfoResult, RFIDGraphicsInfoResult, ByteArrayResult, MDLResult, VDSNCDataResult, VDSDataResult, LexicalAnalysisResult, DocumentImageResult, TextDataResult, TextDataResult, GraphicsResult, AuthenticityResult, TextDataResult, TextDataResult, ImageQualityResult, GraphicsResult, StatusResult, AuthenticityResult, GraphicsResult, TextResult, ImagesResult, GraphicsResult, AuthenticityResult, EncryptedRCLResult, DocBarCodeInfo, LicenseResult, GraphicsResult, MRZPositionResult, BarcodePositionResult, MRZTestQualityResult, DocumentTypesCandidatesResult, DocumentPositionResult, MRZDetectorResult, ChosenDocumentTypeResult, FaceDetectionResult]]:
107
110
  """Create an instance of ResultItem from a JSON string"""
108
111
  return cls.from_dict(json.loads(json_str))
109
112
 
@@ -128,7 +131,7 @@ class ResultItem(BaseModel):
128
131
  return _dict
129
132
 
130
133
  @classmethod
131
- def from_dict(cls, obj: Dict[str, Any]) -> Optional[Union[DocumentImageResult, DocumentBinaryInfoResult, RFIDTextDataResult, GraphicsResult, DocumentBinaryInfoResult, RFIDGraphicsInfoResult, ByteArrayResult, LexicalAnalysisResult, DocumentImageResult, TextDataResult, TextDataResult, GraphicsResult, AuthenticityResult, TextDataResult, TextDataResult, ImageQualityResult, GraphicsResult, StatusResult, AuthenticityResult, GraphicsResult, TextResult, ImagesResult, GraphicsResult, AuthenticityResult, EncryptedRCLResult, DocBarCodeInfo, LicenseResult, GraphicsResult, MRZPositionResult, BarcodePositionResult, MRZTestQualityResult, DocumentTypesCandidatesResult, DocumentPositionResult, MRZDetectorResult, ChosenDocumentTypeResult, FaceDetectionResult]]:
134
+ def from_dict(cls, obj: Dict[str, Any]) -> Optional[Union[DocumentImageResult, DocumentBinaryInfoResult, RFIDTextDataResult, GraphicsResult, DocumentBinaryInfoResult, RFIDGraphicsInfoResult, ByteArrayResult, MDLResult, VDSNCDataResult, VDSDataResult, LexicalAnalysisResult, DocumentImageResult, TextDataResult, TextDataResult, GraphicsResult, AuthenticityResult, TextDataResult, TextDataResult, ImageQualityResult, GraphicsResult, StatusResult, AuthenticityResult, GraphicsResult, TextResult, ImagesResult, GraphicsResult, AuthenticityResult, EncryptedRCLResult, DocBarCodeInfo, LicenseResult, GraphicsResult, MRZPositionResult, BarcodePositionResult, MRZTestQualityResult, DocumentTypesCandidatesResult, DocumentPositionResult, MRZDetectorResult, ChosenDocumentTypeResult, FaceDetectionResult]]:
132
135
  """Create an instance of ResultItem from a dict"""
133
136
  # look up the object type based on discriminator mapping
134
137
  object_type = cls.get_discriminator_value(obj)
@@ -146,6 +149,12 @@ class ResultItem(BaseModel):
146
149
  return import_module("regula.documentreader.webclient.gen.models.rfid_graphics_info_result").RFIDGraphicsInfoResult.from_dict(obj)
147
150
  if object_type == 'ByteArrayResult':
148
151
  return import_module("regula.documentreader.webclient.gen.models.byte_array_result").ByteArrayResult.from_dict(obj)
152
+ if object_type == 'MDLResult':
153
+ return import_module("regula.documentreader.webclient.gen.models.mdl_result").MDLResult.from_dict(obj)
154
+ if object_type == 'VDSNCDataResult':
155
+ return import_module("regula.documentreader.webclient.gen.models.vdsnc_data_result").VDSNCDataResult.from_dict(obj)
156
+ if object_type == 'VDSDataResult':
157
+ return import_module("regula.documentreader.webclient.gen.models.vds_data_result").VDSDataResult.from_dict(obj)
149
158
  if object_type == 'LexicalAnalysisResult':
150
159
  return import_module("regula.documentreader.webclient.gen.models.lexical_analysis_result").LexicalAnalysisResult.from_dict(obj)
151
160
  if object_type == 'DocumentImageResult':
@@ -71,7 +71,7 @@ class ResultMRZDetector(BaseModel):
71
71
  _items = []
72
72
  if self.mrz_rows:
73
73
  for _item_mrz_rows in self.mrz_rows:
74
- if _item_mrz_rows:
74
+ if _item_mrz_rows and hasattr(_item_mrz_rows, "to_dict"):
75
75
  _items.append(_item_mrz_rows.to_dict())
76
76
  _dict['MRZRows'] = _items
77
77
  return _dict
@@ -65,7 +65,7 @@ class ResultMRZDetectorItem(BaseModel):
65
65
  exclude_none=True,
66
66
  )
67
67
  # override the default output from pydantic by calling `to_dict()` of result_mrz_detector
68
- if self.result_mrz_detector:
68
+ if self.result_mrz_detector and isinstance(self.result_mrz_detector, ResultMRZDetector):
69
69
  _dict['ResultMRZDetector'] = self.result_mrz_detector.to_dict()
70
70
  return _dict
71
71
 
@@ -76,7 +76,7 @@ class RfidApplication(BaseModel):
76
76
  _items = []
77
77
  if self.files:
78
78
  for _item_files in self.files:
79
- if _item_files:
79
+ if _item_files and hasattr(_item_files, "to_dict"):
80
80
  _items.append(_item_files.to_dict())
81
81
  _dict['Files'] = _items
82
82
  return _dict
@@ -66,7 +66,7 @@ class RfidAttributeName(BaseModel):
66
66
  exclude_none=True,
67
67
  )
68
68
  # override the default output from pydantic by calling `to_dict()` of value
69
- if self.value:
69
+ if self.value and isinstance(self.value, TrfFtString):
70
70
  _dict['Value'] = self.value.to_dict()
71
71
  return _dict
72
72
 
@@ -83,23 +83,23 @@ class RfidCertificateEx(BaseModel):
83
83
  exclude_none=True,
84
84
  )
85
85
  # override the default output from pydantic by calling `to_dict()` of issuer
86
- if self.issuer:
86
+ if self.issuer and isinstance(self.issuer, RfidDistinguishedName):
87
87
  _dict['Issuer'] = self.issuer.to_dict()
88
88
  # override the default output from pydantic by calling `to_dict()` of validity
89
- if self.validity:
89
+ if self.validity and isinstance(self.validity, RfidValidity):
90
90
  _dict['Validity'] = self.validity.to_dict()
91
91
  # override the default output from pydantic by calling `to_dict()` of subject
92
- if self.subject:
92
+ if self.subject and isinstance(self.subject, RfidDistinguishedName):
93
93
  _dict['Subject'] = self.subject.to_dict()
94
94
  # override the default output from pydantic by calling `to_dict()` of each item in extensions (list)
95
95
  _items = []
96
96
  if self.extensions:
97
97
  for _item_extensions in self.extensions:
98
- if _item_extensions:
98
+ if _item_extensions and hasattr(_item_extensions, "to_dict"):
99
99
  _items.append(_item_extensions.to_dict())
100
100
  _dict['Extensions'] = _items
101
101
  # override the default output from pydantic by calling `to_dict()` of file_name
102
- if self.file_name:
102
+ if self.file_name and isinstance(self.file_name, TrfFtString):
103
103
  _dict['FileName'] = self.file_name.to_dict()
104
104
  return _dict
105
105
 
@@ -82,13 +82,13 @@ class RfidDataFile(BaseModel):
82
82
  exclude_none=True,
83
83
  )
84
84
  # override the default output from pydantic by calling `to_dict()` of file_data
85
- if self.file_data:
85
+ if self.file_data and isinstance(self.file_data, TrfFtBytes):
86
86
  _dict['FileData'] = self.file_data.to_dict()
87
87
  # override the default output from pydantic by calling `to_dict()` of parsed_data
88
- if self.parsed_data:
88
+ if self.parsed_data and isinstance(self.parsed_data, ParsedData):
89
89
  _dict['ParsedData'] = self.parsed_data.to_dict()
90
90
  # override the default output from pydantic by calling `to_dict()` of security_object_certificates
91
- if self.security_object_certificates:
91
+ if self.security_object_certificates and isinstance(self.security_object_certificates, SecurityObjectCertificates):
92
92
  _dict['SecurityObject_Certificates'] = self.security_object_certificates.to_dict()
93
93
  return _dict
94
94
 
@@ -68,13 +68,13 @@ class RfidDistinguishedName(BaseModel):
68
68
  exclude_none=True,
69
69
  )
70
70
  # override the default output from pydantic by calling `to_dict()` of friendly_name
71
- if self.friendly_name:
71
+ if self.friendly_name and isinstance(self.friendly_name, TrfFtString):
72
72
  _dict['FriendlyName'] = self.friendly_name.to_dict()
73
73
  # override the default output from pydantic by calling `to_dict()` of each item in attributes (list)
74
74
  _items = []
75
75
  if self.attributes:
76
76
  for _item_attributes in self.attributes:
77
- if _item_attributes:
77
+ if _item_attributes and hasattr(_item_attributes, "to_dict"):
78
78
  _items.append(_item_attributes.to_dict())
79
79
  _dict['Attributes'] = _items
80
80
  return _dict
@@ -85,7 +85,7 @@ class RFIDDocVisualExtendedField(BaseModel):
85
85
  _items = []
86
86
  if self.strings_result:
87
87
  for _item_strings_result in self.strings_result:
88
- if _item_strings_result:
88
+ if _item_strings_result and hasattr(_item_strings_result, "to_dict"):
89
89
  _items.append(_item_strings_result.to_dict())
90
90
  _dict['StringsResult'] = _items
91
91
  return _dict
@@ -69,7 +69,7 @@ class RFIDDocVisualExtendedInfo(BaseModel):
69
69
  _items = []
70
70
  if self.p_array_fields:
71
71
  for _item_p_array_fields in self.p_array_fields:
72
- if _item_p_array_fields:
72
+ if _item_p_array_fields and hasattr(_item_p_array_fields, "to_dict"):
73
73
  _items.append(_item_p_array_fields.to_dict())
74
74
  _dict['pArrayFields'] = _items
75
75
  return _dict
@@ -65,7 +65,7 @@ class RFIDDocVisualExtendedInfoItem(BaseModel):
65
65
  exclude_none=True,
66
66
  )
67
67
  # override the default output from pydantic by calling `to_dict()` of doc_visual_extended_info
68
- if self.doc_visual_extended_info:
68
+ if self.doc_visual_extended_info and isinstance(self.doc_visual_extended_info, RFIDDocVisualExtendedInfo):
69
69
  _dict['DocVisualExtendedInfo'] = self.doc_visual_extended_info.to_dict()
70
70
  return _dict
71
71
 
@@ -67,7 +67,7 @@ class RFIDGraphicsInfoResult(ResultItem):
67
67
  exclude_none=True,
68
68
  )
69
69
  # override the default output from pydantic by calling `to_dict()` of t_original_rfid_graphics_info
70
- if self.t_original_rfid_graphics_info:
70
+ if self.t_original_rfid_graphics_info and isinstance(self.t_original_rfid_graphics_info, TOriginalRFIDGraphicsInfo):
71
71
  _dict['TOriginalRFIDGraphicsInfo'] = self.t_original_rfid_graphics_info.to_dict()
72
72
  return _dict
73
73
 
@@ -72,7 +72,7 @@ class RfidSecurityObject(BaseModel):
72
72
  _items = []
73
73
  if self.signer_infos:
74
74
  for _item_signer_infos in self.signer_infos:
75
- if _item_signer_infos:
75
+ if _item_signer_infos and hasattr(_item_signer_infos, "to_dict"):
76
76
  _items.append(_item_signer_infos.to_dict())
77
77
  _dict['SignerInfos'] = _items
78
78
  return _dict
@@ -92,30 +92,30 @@ class RfidSessionData(BaseModel):
92
92
  _items = []
93
93
  if self.applications:
94
94
  for _item_applications in self.applications:
95
- if _item_applications:
95
+ if _item_applications and hasattr(_item_applications, "to_dict"):
96
96
  _items.append(_item_applications.to_dict())
97
97
  _dict['Applications'] = _items
98
98
  # override the default output from pydantic by calling `to_dict()` of each item in access_controls (list)
99
99
  _items = []
100
100
  if self.access_controls:
101
101
  for _item_access_controls in self.access_controls:
102
- if _item_access_controls:
102
+ if _item_access_controls and hasattr(_item_access_controls, "to_dict"):
103
103
  _items.append(_item_access_controls.to_dict())
104
104
  _dict['AccessControls'] = _items
105
105
  # override the default output from pydantic by calling `to_dict()` of card_properties
106
- if self.card_properties:
106
+ if self.card_properties and isinstance(self.card_properties, RfidCardPropertiesExt):
107
107
  _dict['CardProperties'] = self.card_properties.to_dict()
108
108
  # override the default output from pydantic by calling `to_dict()` of session_key
109
- if self.session_key:
109
+ if self.session_key and isinstance(self.session_key, RfidAccessKey):
110
110
  _dict['Session_key'] = self.session_key.to_dict()
111
111
  # override the default output from pydantic by calling `to_dict()` of session_terminal
112
- if self.session_terminal:
112
+ if self.session_terminal and isinstance(self.session_terminal, RfidTerminal):
113
113
  _dict['Session_terminal'] = self.session_terminal.to_dict()
114
114
  # override the default output from pydantic by calling `to_dict()` of each item in security_objects (list)
115
115
  _items = []
116
116
  if self.security_objects:
117
117
  for _item_security_objects in self.security_objects:
118
- if _item_security_objects:
118
+ if _item_security_objects and hasattr(_item_security_objects, "to_dict"):
119
119
  _items.append(_item_security_objects.to_dict())
120
120
  _dict['SecurityObjects'] = _items
121
121
  return _dict
@@ -80,29 +80,29 @@ class RfidSignerInfoEx(BaseModel):
80
80
  exclude_none=True,
81
81
  )
82
82
  # override the default output from pydantic by calling `to_dict()` of issuer
83
- if self.issuer:
83
+ if self.issuer and isinstance(self.issuer, RfidDistinguishedName):
84
84
  _dict['Issuer'] = self.issuer.to_dict()
85
85
  # override the default output from pydantic by calling `to_dict()` of serial_number
86
- if self.serial_number:
86
+ if self.serial_number and isinstance(self.serial_number, TrfFtBytes):
87
87
  _dict['SerialNumber'] = self.serial_number.to_dict()
88
88
  # override the default output from pydantic by calling `to_dict()` of subject_key_identifier
89
- if self.subject_key_identifier:
89
+ if self.subject_key_identifier and isinstance(self.subject_key_identifier, TrfFtBytes):
90
90
  _dict['SubjectKeyIdentifier'] = self.subject_key_identifier.to_dict()
91
91
  # override the default output from pydantic by calling `to_dict()` of each item in signed_attributes (list)
92
92
  _items = []
93
93
  if self.signed_attributes:
94
94
  for _item_signed_attributes in self.signed_attributes:
95
- if _item_signed_attributes:
95
+ if _item_signed_attributes and hasattr(_item_signed_attributes, "to_dict"):
96
96
  _items.append(_item_signed_attributes.to_dict())
97
97
  _dict['SignedAttributes'] = _items
98
98
  # override the default output from pydantic by calling `to_dict()` of signature
99
- if self.signature:
99
+ if self.signature and isinstance(self.signature, TrfFtBytes):
100
100
  _dict['Signature'] = self.signature.to_dict()
101
101
  # override the default output from pydantic by calling `to_dict()` of each item in certificate_chain (list)
102
102
  _items = []
103
103
  if self.certificate_chain:
104
104
  for _item_certificate_chain in self.certificate_chain:
105
- if _item_certificate_chain:
105
+ if _item_certificate_chain and hasattr(_item_certificate_chain, "to_dict"):
106
106
  _items.append(_item_certificate_chain.to_dict())
107
107
  _dict['CertificateChain'] = _items
108
108
  return _dict
@@ -67,7 +67,7 @@ class RFIDTextDataResult(ResultItem):
67
67
  exclude_none=True,
68
68
  )
69
69
  # override the default output from pydantic by calling `to_dict()` of doc_visual_extended_info
70
- if self.doc_visual_extended_info:
70
+ if self.doc_visual_extended_info and isinstance(self.doc_visual_extended_info, RFIDDocVisualExtendedInfo):
71
71
  _dict['DocVisualExtendedInfo'] = self.doc_visual_extended_info.to_dict()
72
72
  return _dict
73
73
 
@@ -66,10 +66,10 @@ class RfidValidity(BaseModel):
66
66
  exclude_none=True,
67
67
  )
68
68
  # override the default output from pydantic by calling `to_dict()` of not_before
69
- if self.not_before:
69
+ if self.not_before and isinstance(self.not_before, TrfFtString):
70
70
  _dict['NotBefore'] = self.not_before.to_dict()
71
71
  # override the default output from pydantic by calling `to_dict()` of not_after
72
- if self.not_after:
72
+ if self.not_after and isinstance(self.not_after, TrfFtString):
73
73
  _dict['NotAfter'] = self.not_after.to_dict()
74
74
  return _dict
75
75
 
@@ -74,10 +74,10 @@ class SecurityFeatureItem(BaseModel):
74
74
  exclude_none=True,
75
75
  )
76
76
  # override the default output from pydantic by calling `to_dict()` of element_rect
77
- if self.element_rect:
77
+ if self.element_rect and isinstance(self.element_rect, RectangleCoordinates):
78
78
  _dict['ElementRect'] = self.element_rect.to_dict()
79
79
  # override the default output from pydantic by calling `to_dict()` of area_list
80
- if self.area_list:
80
+ if self.area_list and isinstance(self.area_list, AreaContainer):
81
81
  _dict['AreaList'] = self.area_list.to_dict()
82
82
  return _dict
83
83
 
@@ -78,10 +78,10 @@ class SecurityFeatureResult(AuthenticityCheckResultItem):
78
78
  exclude_none=True,
79
79
  )
80
80
  # override the default output from pydantic by calling `to_dict()` of element_rect
81
- if self.element_rect:
81
+ if self.element_rect and isinstance(self.element_rect, RectangleCoordinates):
82
82
  _dict['ElementRect'] = self.element_rect.to_dict()
83
83
  # override the default output from pydantic by calling `to_dict()` of area_list
84
- if self.area_list:
84
+ if self.area_list and isinstance(self.area_list, AreaContainer):
85
85
  _dict['AreaList'] = self.area_list.to_dict()
86
86
  return _dict
87
87
 
@@ -65,7 +65,7 @@ class SecurityObjectCertificates(BaseModel):
65
65
  exclude_none=True,
66
66
  )
67
67
  # override the default output from pydantic by calling `to_dict()` of certificate_data
68
- if self.certificate_data:
68
+ if self.certificate_data and isinstance(self.certificate_data, CertificateData):
69
69
  _dict['Certificate_Data'] = self.certificate_data.to_dict()
70
70
  return _dict
71
71
 
@@ -12,6 +12,7 @@ import json
12
12
  from pydantic import BaseModel, ConfigDict, Field
13
13
  from typing import Any, ClassVar, Dict, List, Optional
14
14
  from regula.documentreader.webclient.gen.models.check_result import CheckResult
15
+ from regula.documentreader.webclient.gen.models.details_age import DetailsAge
15
16
  from regula.documentreader.webclient.gen.models.details_optical import DetailsOptical
16
17
  from regula.documentreader.webclient.gen.models.details_rfid import DetailsRFID
17
18
  from typing import Optional, Set
@@ -29,7 +30,10 @@ class Status(BaseModel):
29
30
  stop_list: SkipValidation[CheckResult] = Field(alias="stopList")
30
31
  details_rfid: SkipValidation[Optional[DetailsRFID]] = Field(alias="detailsRFID", default=None)
31
32
  details_optical: SkipValidation[DetailsOptical] = Field(alias="detailsOptical")
32
- __properties: ClassVar[List[str]] = ["overallStatus", "optical", "portrait", "rfid", "stopList", "detailsRFID", "detailsOptical"]
33
+ age: SkipValidation[CheckResult] = Field(alias="age")
34
+ details_age: SkipValidation[DetailsAge] = Field(alias="detailsAge")
35
+ m_dl: SkipValidation[CheckResult] = Field(alias="mDL")
36
+ __properties: ClassVar[List[str]] = ["overallStatus", "optical", "portrait", "rfid", "stopList", "detailsRFID", "detailsOptical", "age", "detailsAge", "mDL"]
33
37
 
34
38
  model_config = ConfigDict(
35
39
  populate_by_name=True,
@@ -73,11 +77,14 @@ class Status(BaseModel):
73
77
  exclude_none=True,
74
78
  )
75
79
  # override the default output from pydantic by calling `to_dict()` of details_rfid
76
- if self.details_rfid:
80
+ if self.details_rfid and isinstance(self.details_rfid, DetailsRFID):
77
81
  _dict['detailsRFID'] = self.details_rfid.to_dict()
78
82
  # override the default output from pydantic by calling `to_dict()` of details_optical
79
- if self.details_optical:
83
+ if self.details_optical and isinstance(self.details_optical, DetailsOptical):
80
84
  _dict['detailsOptical'] = self.details_optical.to_dict()
85
+ # override the default output from pydantic by calling `to_dict()` of details_age
86
+ if self.details_age and isinstance(self.details_age, DetailsAge):
87
+ _dict['detailsAge'] = self.details_age.to_dict()
81
88
  return _dict
82
89
 
83
90
  @classmethod
@@ -96,7 +103,10 @@ class Status(BaseModel):
96
103
  "rfid": obj.get("rfid"),
97
104
  "stopList": obj.get("stopList"),
98
105
  "detailsRFID": DetailsRFID.from_dict(obj["detailsRFID"]) if obj.get("detailsRFID") is not None else None,
99
- "detailsOptical": DetailsOptical.from_dict(obj["detailsOptical"]) if obj.get("detailsOptical") is not None else None
106
+ "detailsOptical": DetailsOptical.from_dict(obj["detailsOptical"]) if obj.get("detailsOptical") is not None else None,
107
+ "age": obj.get("age"),
108
+ "detailsAge": DetailsAge.from_dict(obj["detailsAge"]) if obj.get("detailsAge") is not None else None,
109
+ "mDL": obj.get("mDL")
100
110
  })
101
111
  return _obj
102
112