czech_post_b2b_client 1.0.3 → 1.2.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (475) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop.yml +1 -1
  3. data/CHANGELOG.md +26 -1
  4. data/README.md +265 -199
  5. data/doc/CzechPostB2bClient.html +31 -35
  6. data/doc/CzechPostB2bClient/B2BErrors.html +26 -13
  7. data/doc/CzechPostB2bClient/B2BErrors/BadRequestError.html +7 -7
  8. data/doc/CzechPostB2bClient/B2BErrors/BaseError.html +75 -40
  9. data/doc/CzechPostB2bClient/B2BErrors/CustomerRequestsCountOverflowError.html +7 -7
  10. data/doc/CzechPostB2bClient/B2BErrors/InternalB2BServerError.html +7 -7
  11. data/doc/CzechPostB2bClient/B2BErrors/InternalBackendServerError.html +7 -7
  12. data/doc/CzechPostB2bClient/B2BErrors/InternalDataPersistenceServerError.html +7 -7
  13. data/doc/CzechPostB2bClient/B2BErrors/ProcessingUnfinishedYetError.html +7 -7
  14. data/doc/CzechPostB2bClient/B2BErrors/ServiceBusyError.html +7 -7
  15. data/doc/CzechPostB2bClient/B2BErrors/UnauthorizedContractAccessError.html +7 -7
  16. data/doc/CzechPostB2bClient/B2BErrors/UnauthorizedRoleAccessError.html +7 -7
  17. data/doc/CzechPostB2bClient/Configuration.html +33 -25
  18. data/doc/CzechPostB2bClient/Error.html +6 -6
  19. data/doc/CzechPostB2bClient/PostServices.html +197 -0
  20. data/doc/CzechPostB2bClient/PostServices/AddreseeVerification.html +129 -0
  21. data/doc/CzechPostB2bClient/PostServices/AddresseeAlertOfArrivalByEmail.html +129 -0
  22. data/doc/CzechPostB2bClient/PostServices/AddresseeAlertOfArrivalBySms.html +140 -0
  23. data/doc/CzechPostB2bClient/PostServices/AddresseeAlertOfArrivalBySmsAndEmail.html +129 -0
  24. data/doc/CzechPostB2bClient/PostServices/AddresseeVerificationOnDelivery.html +129 -0
  25. data/doc/CzechPostB2bClient/PostServices/AfternoonDelivery.html +129 -0
  26. data/doc/CzechPostB2bClient/PostServices/Base.html +351 -0
  27. data/doc/CzechPostB2bClient/PostServices/CashOnDeliveryByPKA.html +129 -0
  28. data/doc/CzechPostB2bClient/PostServices/CashOnDeliveryByPKC.html +129 -0
  29. data/doc/CzechPostB2bClient/PostServices/CashOnDeliveryInternational.html +129 -0
  30. data/doc/CzechPostB2bClient/PostServices/CertificateOfDelivery.html +148 -0
  31. data/doc/CzechPostB2bClient/PostServices/CertificateOfDeliveryWithDeliverToAdresseeOnly.html +140 -0
  32. data/doc/CzechPostB2bClient/PostServices/CertificateOfDeliveryWithDeliverToAdresseePersonOnly.html +129 -0
  33. data/doc/CzechPostB2bClient/PostServices/CompanyRegisteredMail.html +141 -0
  34. data/doc/CzechPostB2bClient/PostServices/CompleteDelivery.html +129 -0
  35. data/doc/CzechPostB2bClient/PostServices/Consignment.html +129 -0
  36. data/doc/CzechPostB2bClient/PostServices/CumbersomeParcel.html +129 -0
  37. data/doc/CzechPostB2bClient/PostServices/DeliverToAdresseeOnly.html +129 -0
  38. data/doc/CzechPostB2bClient/PostServices/DeliverToAdresseePersonOnly.html +129 -0
  39. data/doc/CzechPostB2bClient/PostServices/DeliverToCompany.html +147 -0
  40. data/doc/CzechPostB2bClient/PostServices/DepositFor10Days.html +129 -0
  41. data/doc/CzechPostB2bClient/PostServices/DepositFor10WorkingDays.html +129 -0
  42. data/doc/CzechPostB2bClient/PostServices/DepositFor3Days.html +129 -0
  43. data/doc/CzechPostB2bClient/PostServices/DepositFor7Days.html +129 -0
  44. data/doc/CzechPostB2bClient/PostServices/DepositFor90Days.html +129 -0
  45. data/doc/CzechPostB2bClient/PostServices/DepositIfAdresseeIsUnreachable.html +141 -0
  46. data/doc/CzechPostB2bClient/PostServices/DiscountForCollectiveShippment.html +129 -0
  47. data/doc/CzechPostB2bClient/PostServices/DiscountForOnlinePosting.html +129 -0
  48. data/doc/CzechPostB2bClient/PostServices/DoNotDeposit.html +129 -0
  49. data/doc/CzechPostB2bClient/PostServices/DoNotExtendCollectionTime.html +148 -0
  50. data/doc/CzechPostB2bClient/PostServices/DoNotPutIntoMailbox.html +129 -0
  51. data/doc/CzechPostB2bClient/PostServices/DoNotResend.html +129 -0
  52. data/doc/CzechPostB2bClient/PostServices/DoNotReturnLeaveItInMailbox.html +129 -0
  53. data/doc/CzechPostB2bClient/PostServices/DoNotReturnToSender.html +129 -0
  54. data/doc/CzechPostB2bClient/PostServices/Document.html +129 -0
  55. data/doc/CzechPostB2bClient/PostServices/DocumentlessCashOnDelivery.html +147 -0
  56. data/doc/CzechPostB2bClient/PostServices/DocumentsSignedAtDelivery.html +129 -0
  57. data/doc/CzechPostB2bClient/PostServices/EAlertOfDeliveryEmail.html +129 -0
  58. data/doc/CzechPostB2bClient/PostServices/EAlertOfDeliverySms.html +140 -0
  59. data/doc/CzechPostB2bClient/PostServices/EAlertOfDeliverySmsAndEmail.html +129 -0
  60. data/doc/CzechPostB2bClient/PostServices/EconomyDelivery.html +140 -0
  61. data/doc/CzechPostB2bClient/PostServices/ExtendedCollectionTime.html +129 -0
  62. data/doc/CzechPostB2bClient/PostServices/ForenoonDelivery.html +129 -0
  63. data/doc/CzechPostB2bClient/PostServices/Fragile.html +129 -0
  64. data/doc/CzechPostB2bClient/PostServices/GiftOrNonCommercialGoods.html +148 -0
  65. data/doc/CzechPostB2bClient/PostServices/GoodsWithExportDocumentsProcessed.html +148 -0
  66. data/doc/CzechPostB2bClient/PostServices/GuaranteedDeliveryTimeAtSaturday.html +129 -0
  67. data/doc/CzechPostB2bClient/PostServices/GuaranteedDeliveryTimeAtWeekend.html +129 -0
  68. data/doc/CzechPostB2bClient/PostServices/GuaranteedDeliveryTimeTo2PM.html +129 -0
  69. data/doc/CzechPostB2bClient/PostServices/HeavyParcelDeliveryToHand.html +129 -0
  70. data/doc/CzechPostB2bClient/PostServices/InformSenderAboutDelivery.html +129 -0
  71. data/doc/CzechPostB2bClient/PostServices/InternationalMail.html +129 -0
  72. data/doc/CzechPostB2bClient/PostServices/InternationalMailForBlinds.html +129 -0
  73. data/doc/CzechPostB2bClient/PostServices/InternationalPrintedMatterBag.html +129 -0
  74. data/doc/CzechPostB2bClient/PostServices/InternationalRegisteredMail.html +129 -0
  75. data/doc/CzechPostB2bClient/PostServices/InternationalRegisteredMailForBlinds.html +129 -0
  76. data/doc/CzechPostB2bClient/PostServices/InternationalRegisteredPrintedMatterBag.html +129 -0
  77. data/doc/CzechPostB2bClient/PostServices/ListedPrice.html +129 -0
  78. data/doc/CzechPostB2bClient/PostServices/Missed.html +129 -0
  79. data/doc/CzechPostB2bClient/PostServices/Missive.html +129 -0
  80. data/doc/CzechPostB2bClient/PostServices/MissiveStandard.html +129 -0
  81. data/doc/CzechPostB2bClient/PostServices/MultiParcelShippment.html +129 -0
  82. data/doc/CzechPostB2bClient/PostServices/MultiParcelShippmentBig.html +129 -0
  83. data/doc/CzechPostB2bClient/PostServices/NonStandardPackage.html +148 -0
  84. data/doc/CzechPostB2bClient/PostServices/OldApplianceRemoval.html +129 -0
  85. data/doc/CzechPostB2bClient/PostServices/OnPalette.html +140 -0
  86. data/doc/CzechPostB2bClient/PostServices/ParcelSizeL.html +129 -0
  87. data/doc/CzechPostB2bClient/PostServices/ParcelSizeM.html +129 -0
  88. data/doc/CzechPostB2bClient/PostServices/ParcelSizeS.html +129 -0
  89. data/doc/CzechPostB2bClient/PostServices/ParcelSizeXL.html +129 -0
  90. data/doc/CzechPostB2bClient/PostServices/PickupByThirdPerson.html +129 -0
  91. data/doc/CzechPostB2bClient/PostServices/PosteRestante.html +129 -0
  92. data/doc/CzechPostB2bClient/PostServices/PreprocessedBySorting.html +148 -0
  93. data/doc/CzechPostB2bClient/PostServices/PrioritaireByAir.html +129 -0
  94. data/doc/CzechPostB2bClient/PostServices/RegisteredMail.html +129 -0
  95. data/doc/CzechPostB2bClient/PostServices/RegisteredMailForBlinds.html +129 -0
  96. data/doc/CzechPostB2bClient/PostServices/RegisteredMailStandard.html +129 -0
  97. data/doc/CzechPostB2bClient/PostServices/ResendToOtherAddress.html +129 -0
  98. data/doc/CzechPostB2bClient/PostServices/ResponseEnvelope.html +129 -0
  99. data/doc/CzechPostB2bClient/PostServices/ResponseShipment.html +129 -0
  100. data/doc/CzechPostB2bClient/PostServices/ReturnByAir.html +129 -0
  101. data/doc/CzechPostB2bClient/PostServices/ReturnEconomically.html +129 -0
  102. data/doc/CzechPostB2bClient/PostServices/ReturnOfGoods.html +129 -0
  103. data/doc/CzechPostB2bClient/PostServices/ReturnToSenderAfterXDays.html +148 -0
  104. data/doc/CzechPostB2bClient/PostServices/ReturnToSenderImmediately.html +129 -0
  105. data/doc/CzechPostB2bClient/PostServices/SaveKey.html +148 -0
  106. data/doc/CzechPostB2bClient/PostServices/SubmissionByPostbox.html +129 -0
  107. data/doc/CzechPostB2bClient/PostServices/SubmissionReceiptCopy.html +129 -0
  108. data/doc/CzechPostB2bClient/PostServices/ThisSideUp.html +148 -0
  109. data/doc/CzechPostB2bClient/PostServices/ValuableContent.html +129 -0
  110. data/doc/CzechPostB2bClient/PrintingTemplates.html +16 -16
  111. data/doc/CzechPostB2bClient/PrintingTemplates/AddressData3x8.html +6 -6
  112. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel.html +6 -6
  113. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/Blank.html +6 -6
  114. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/Blank4OnPage.html +6 -6
  115. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/BlankLandscape.html +6 -6
  116. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/ForeignPackage.html +7 -7
  117. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/ForeignPackage/EMS.html +6 -6
  118. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/ForeignPackage/EMS2x4.html +6 -6
  119. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/ForeignPackage/HarmonizedLabel.html +141 -0
  120. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/ForeignPackage/HarmonizedLabel4OnPage.html +129 -0
  121. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/ForeignPackage/Standard.html +6 -6
  122. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/ForeignPackage/Standard2OnPage.html +129 -0
  123. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/ForeignPackage/Valuable.html +6 -6
  124. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/ForeignPackage/Valuable4OnPage.html +6 -6
  125. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/Simple.html +6 -6
  126. data/doc/CzechPostB2bClient/PrintingTemplates/AdressLabel/SimpleWithCODVoucherA.html +6 -6
  127. data/doc/CzechPostB2bClient/PrintingTemplates/Base.html +16 -16
  128. data/doc/CzechPostB2bClient/PrintingTemplates/CODVoucherA.html +6 -6
  129. data/doc/CzechPostB2bClient/PrintingTemplates/CODVoucherA3OnPage.html +6 -6
  130. data/doc/CzechPostB2bClient/PrintingTemplates/CODVoucherC.html +6 -6
  131. data/doc/CzechPostB2bClient/PrintingTemplates/CODVoucherForCSOB.html +6 -6
  132. data/doc/CzechPostB2bClient/PrintingTemplates/CustomDeclaration.html +115 -0
  133. data/doc/CzechPostB2bClient/PrintingTemplates/CustomDeclaration/CN22.html +129 -0
  134. data/doc/CzechPostB2bClient/PrintingTemplates/CustomDeclaration/CN224OnPage.html +129 -0
  135. data/doc/CzechPostB2bClient/PrintingTemplates/CustomDeclaration/CN22WithCK.html +129 -0
  136. data/doc/CzechPostB2bClient/PrintingTemplates/CustomDeclaration/CN22WithCK4OnPage.html +129 -0
  137. data/doc/CzechPostB2bClient/PrintingTemplates/CustomDeclaration/CN23.html +129 -0
  138. data/doc/CzechPostB2bClient/PrintingTemplates/DeliveryTicket.html +6 -6
  139. data/doc/CzechPostB2bClient/PrintingTemplates/Envelope.html +6 -6
  140. data/doc/CzechPostB2bClient/PrintingTemplates/Envelope/EnvelopeB4.html +6 -6
  141. data/doc/CzechPostB2bClient/PrintingTemplates/Envelope/EnvelopeC5.html +6 -6
  142. data/doc/CzechPostB2bClient/PrintingTemplates/Envelope/EnvelopeC6.html +6 -6
  143. data/doc/CzechPostB2bClient/PrintingTemplates/Envelope/EnvelopeDL.html +6 -6
  144. data/doc/CzechPostB2bClient/PrintingTemplates/IntegratedDocument.html +6 -6
  145. data/doc/CzechPostB2bClient/PrintingTemplates/RRLabels3x8.html +6 -6
  146. data/doc/CzechPostB2bClient/RequestBuilders.html +8 -8
  147. data/doc/CzechPostB2bClient/RequestBuilders/BaseBuilder.html +9 -9
  148. data/doc/CzechPostB2bClient/RequestBuilders/GetParcelStateBuilder.html +8 -8
  149. data/doc/CzechPostB2bClient/RequestBuilders/GetParcelsPrintingBuilder.html +26 -26
  150. data/doc/CzechPostB2bClient/RequestBuilders/GetResultParcelsBuilder.html +8 -8
  151. data/doc/CzechPostB2bClient/RequestBuilders/GetStatsBuilder.html +9 -9
  152. data/doc/CzechPostB2bClient/RequestBuilders/ParcelServiceSyncBuilder.html +414 -0
  153. data/doc/CzechPostB2bClient/RequestBuilders/SendParcelsBuilder.html +32 -21
  154. data/doc/CzechPostB2bClient/ResponseCodes.html +51 -27
  155. data/doc/CzechPostB2bClient/ResponseCodes/AddressAllowedForBalikovnaOnly.html +7 -7
  156. data/doc/CzechPostB2bClient/ResponseCodes/AddressIsNotValidForSubject.html +7 -7
  157. data/doc/CzechPostB2bClient/ResponseCodes/AddressNeedsPhoneNumber.html +7 -7
  158. data/doc/CzechPostB2bClient/ResponseCodes/AddressSuitableForLocalDelivery.html +7 -7
  159. data/doc/CzechPostB2bClient/ResponseCodes/AddressValidOnlyForNaPostu.html +7 -7
  160. data/doc/CzechPostB2bClient/ResponseCodes/AddressValidOnlyForNaPostuDuplicate.html +7 -7
  161. data/doc/CzechPostB2bClient/ResponseCodes/AddresseeCityRequired.html +7 -7
  162. data/doc/CzechPostB2bClient/ResponseCodes/AlreadyAssignedOrderNumber.html +7 -7
  163. data/doc/CzechPostB2bClient/ResponseCodes/BadAddressee.html +7 -7
  164. data/doc/CzechPostB2bClient/ResponseCodes/BadCODAmount.html +7 -7
  165. data/doc/CzechPostB2bClient/ResponseCodes/BadFormatReturnNumberDays.html +7 -7
  166. data/doc/CzechPostB2bClient/ResponseCodes/BadHeight.html +7 -7
  167. data/doc/CzechPostB2bClient/ResponseCodes/BadLength.html +7 -7
  168. data/doc/CzechPostB2bClient/ResponseCodes/BadPrefix.html +7 -7
  169. data/doc/CzechPostB2bClient/ResponseCodes/BadPrefixForAddress.html +7 -7
  170. data/doc/CzechPostB2bClient/ResponseCodes/BadPrice.html +7 -7
  171. data/doc/CzechPostB2bClient/ResponseCodes/BadVariableSymbol.html +7 -7
  172. data/doc/CzechPostB2bClient/ResponseCodes/BadWeight.html +7 -7
  173. data/doc/CzechPostB2bClient/ResponseCodes/BadWidth.html +7 -7
  174. data/doc/CzechPostB2bClient/ResponseCodes/BaseCode.html +211 -121
  175. data/doc/CzechPostB2bClient/ResponseCodes/BatchClosed.html +7 -7
  176. data/doc/CzechPostB2bClient/ResponseCodes/BatchInvalid.html +7 -7
  177. data/doc/CzechPostB2bClient/ResponseCodes/BatchUnfinished.html +7 -7
  178. data/doc/CzechPostB2bClient/ResponseCodes/CODAmountOutOfRange.html +7 -7
  179. data/doc/CzechPostB2bClient/ResponseCodes/CODAmountTooBig.html +7 -7
  180. data/doc/CzechPostB2bClient/ResponseCodes/CanceledOrderNumber.html +7 -7
  181. data/doc/CzechPostB2bClient/ResponseCodes/CustomGoodQuantityOutOfRange.html +7 -7
  182. data/doc/CzechPostB2bClient/ResponseCodes/CustomerIDNotInAccordanceWithParcelCode.html +7 -7
  183. data/doc/CzechPostB2bClient/ResponseCodes/DensityOutOfRange.html +7 -7
  184. data/doc/CzechPostB2bClient/ResponseCodes/DuplicateDuplicateParcelCode.html +7 -7
  185. data/doc/CzechPostB2bClient/ResponseCodes/DuplicateParcel.html +7 -7
  186. data/doc/CzechPostB2bClient/ResponseCodes/DuplicateParcelCode.html +7 -7
  187. data/doc/CzechPostB2bClient/ResponseCodes/DuplicitParcelCode.html +7 -7
  188. data/doc/CzechPostB2bClient/ResponseCodes/FullSequence.html +7 -7
  189. data/doc/CzechPostB2bClient/ResponseCodes/FullSequenceDuplicate.html +7 -7
  190. data/doc/CzechPostB2bClient/ResponseCodes/IllegalCombinationOfServices.html +7 -7
  191. data/doc/CzechPostB2bClient/ResponseCodes/InfoAddRequiredService75.html +7 -7
  192. data/doc/CzechPostB2bClient/ResponseCodes/InfoAddService1A.html +7 -7
  193. data/doc/CzechPostB2bClient/ResponseCodes/InfoAddService1B.html +7 -7
  194. data/doc/CzechPostB2bClient/ResponseCodes/InfoAddService1D.html +7 -7
  195. data/doc/CzechPostB2bClient/ResponseCodes/InfoAddService9.html +7 -7
  196. data/doc/CzechPostB2bClient/ResponseCodes/InfoAddressWasModified.html +7 -7
  197. data/doc/CzechPostB2bClient/ResponseCodes/InfoAddresseeToLong.html +7 -7
  198. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelCustCardNumber.html +7 -7
  199. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelCustCardNumberAddresseeDocument.html +7 -7
  200. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelHeight.html +7 -7
  201. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelLength.html +7 -7
  202. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelMobilePhoneOrEmailAddresseeDocument.html +7 -7
  203. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelPalettsNumber.html +7 -7
  204. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelPersonalIdentificationNumber.html +7 -7
  205. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService1AB.html +7 -7
  206. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService1ABForService40.html +7 -7
  207. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService1AForPostCode.html +7 -7
  208. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService1AForService40.html +7 -7
  209. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService1AWith1B.html +7 -7
  210. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService1B.html +7 -7
  211. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService1BAddService1A.html +7 -7
  212. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService1BForPostCode.html +7 -7
  213. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService1BWith1A.html +7 -7
  214. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService1D.html +7 -7
  215. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService1E.html +7 -7
  216. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService1V.html +7 -7
  217. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService25.html +7 -7
  218. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService27.html +7 -7
  219. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService29.html +7 -7
  220. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService30.html +7 -7
  221. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService31.html +7 -7
  222. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService34.html +7 -7
  223. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService34InvalidPhoneNumber.html +7 -7
  224. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService45.html +7 -7
  225. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService45InvalidPhoneNumber.html +7 -7
  226. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService46.html +7 -7
  227. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService47.html +7 -7
  228. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService5B.html +7 -7
  229. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService5BAnd5C.html +7 -7
  230. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService5BAnd5D.html +7 -7
  231. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService5C.html +7 -7
  232. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService5CAnd5D.html +7 -7
  233. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService5D.html +7 -7
  234. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelService9.html +134 -0
  235. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelVSVoucher.html +7 -7
  236. data/doc/CzechPostB2bClient/ResponseCodes/InfoCancelWidth.html +7 -7
  237. data/doc/CzechPostB2bClient/ResponseCodes/InfoCityChanged.html +7 -7
  238. data/doc/CzechPostB2bClient/ResponseCodes/InfoInexactAddress.html +7 -7
  239. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidAccount.html +7 -7
  240. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidBankCode.html +7 -7
  241. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidBirthDay.html +7 -7
  242. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidCODAmount.html +7 -7
  243. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidCategoryCustomDecalaration.html +7 -7
  244. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidEmail.html +7 -7
  245. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidMobilePhoneNumber.html +7 -7
  246. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidPhoneNumber.html +7 -7
  247. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidPrefixAccount.html +7 -7
  248. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidPrice.html +7 -7
  249. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidSpecificSymbol.html +7 -7
  250. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidTelephoneNumber.html +7 -7
  251. data/doc/CzechPostB2bClient/ResponseCodes/InfoInvalidWeight.html +7 -7
  252. data/doc/CzechPostB2bClient/ResponseCodes/InfoMissingPartCityServiceDeliveryOnSundayOrHolidayMayNotBeRealized.html +18 -7
  253. data/doc/CzechPostB2bClient/ResponseCodes/InfoPriceIsNotNumber.html +7 -7
  254. data/doc/CzechPostB2bClient/ResponseCodes/InfoPriceIsTooBig.html +7 -7
  255. data/doc/CzechPostB2bClient/ResponseCodes/InfoService29And47.html +7 -7
  256. data/doc/CzechPostB2bClient/ResponseCodes/InfoSpecialPackagingRequest.html +7 -7
  257. data/doc/CzechPostB2bClient/ResponseCodes/InternalApplicationError.html +7 -7
  258. data/doc/CzechPostB2bClient/ResponseCodes/InvalidAddressAddresseeDocumentForParcelType.html +7 -7
  259. data/doc/CzechPostB2bClient/ResponseCodes/InvalidAddressAddresseeDocumentObjectNotFound.html +7 -7
  260. data/doc/CzechPostB2bClient/ResponseCodes/InvalidAddressAddresseeDocumentWrongCity.html +7 -7
  261. data/doc/CzechPostB2bClient/ResponseCodes/InvalidAddressForBalikovna.html +7 -7
  262. data/doc/CzechPostB2bClient/ResponseCodes/InvalidAddressForBigPackage.html +7 -7
  263. data/doc/CzechPostB2bClient/ResponseCodes/InvalidAddressForCODAmountOver20000.html +7 -7
  264. data/doc/CzechPostB2bClient/ResponseCodes/InvalidAddressForParcelType.html +7 -7
  265. data/doc/CzechPostB2bClient/ResponseCodes/InvalidAddressee.html +7 -7
  266. data/doc/CzechPostB2bClient/ResponseCodes/InvalidAmount.html +7 -7
  267. data/doc/CzechPostB2bClient/ResponseCodes/InvalidAmountCurrency.html +7 -7
  268. data/doc/CzechPostB2bClient/ResponseCodes/InvalidAmountType.html +7 -7
  269. data/doc/CzechPostB2bClient/ResponseCodes/InvalidCODAmount.html +7 -7
  270. data/doc/CzechPostB2bClient/ResponseCodes/InvalidCODCurrency.html +7 -7
  271. data/doc/CzechPostB2bClient/ResponseCodes/InvalidCODCurrencyAccordance.html +7 -7
  272. data/doc/CzechPostB2bClient/ResponseCodes/InvalidCategoryCustomDecalaration.html +7 -7
  273. data/doc/CzechPostB2bClient/ResponseCodes/InvalidContentCustomGood.html +7 -7
  274. data/doc/CzechPostB2bClient/ResponseCodes/InvalidCurrencyCustomDecalaration.html +7 -7
  275. data/doc/CzechPostB2bClient/ResponseCodes/InvalidCustomGoodNumber.html +7 -7
  276. data/doc/CzechPostB2bClient/ResponseCodes/InvalidCustomerCardNumber.html +7 -7
  277. data/doc/CzechPostB2bClient/ResponseCodes/InvalidCustomerId.html +7 -7
  278. data/doc/CzechPostB2bClient/ResponseCodes/InvalidDensity.html +7 -7
  279. data/doc/CzechPostB2bClient/ResponseCodes/InvalidEmail.html +7 -7
  280. data/doc/CzechPostB2bClient/ResponseCodes/InvalidHeight.html +7 -7
  281. data/doc/CzechPostB2bClient/ResponseCodes/InvalidHsCodeCustomGood.html +7 -7
  282. data/doc/CzechPostB2bClient/ResponseCodes/InvalidIsoCustomGood.html +7 -7
  283. data/doc/CzechPostB2bClient/ResponseCodes/InvalidIsoCustomGoodFormat.html +7 -7
  284. data/doc/CzechPostB2bClient/ResponseCodes/InvalidLength.html +7 -7
  285. data/doc/CzechPostB2bClient/ResponseCodes/InvalidLocation.html +7 -7
  286. data/doc/CzechPostB2bClient/ResponseCodes/InvalidMRNCode.html +7 -7
  287. data/doc/CzechPostB2bClient/ResponseCodes/InvalidMRNCodeControl.html +7 -7
  288. data/doc/CzechPostB2bClient/ResponseCodes/InvalidNumberClosure.html +7 -7
  289. data/doc/CzechPostB2bClient/ResponseCodes/InvalidOrderNumber.html +7 -7
  290. data/doc/CzechPostB2bClient/ResponseCodes/InvalidParcelBarcode.html +7 -7
  291. data/doc/CzechPostB2bClient/ResponseCodes/InvalidParcelBarcodeDuplicate.html +7 -7
  292. data/doc/CzechPostB2bClient/ResponseCodes/InvalidParcelCode.html +7 -7
  293. data/doc/CzechPostB2bClient/ResponseCodes/InvalidParcelCodeControl.html +7 -7
  294. data/doc/CzechPostB2bClient/ResponseCodes/InvalidParcelResponseCode.html +7 -7
  295. data/doc/CzechPostB2bClient/ResponseCodes/InvalidParcelTypeForID.html +7 -7
  296. data/doc/CzechPostB2bClient/ResponseCodes/InvalidPartnerCode.html +7 -7
  297. data/doc/CzechPostB2bClient/ResponseCodes/InvalidPayday.html +7 -7
  298. data/doc/CzechPostB2bClient/ResponseCodes/InvalidPhoneNumber.html +7 -7
  299. data/doc/CzechPostB2bClient/ResponseCodes/InvalidPostCode.html +7 -7
  300. data/doc/CzechPostB2bClient/ResponseCodes/InvalidPrefixAccordance.html +7 -7
  301. data/doc/CzechPostB2bClient/ResponseCodes/InvalidPrefixCombination.html +7 -7
  302. data/doc/CzechPostB2bClient/ResponseCodes/InvalidPrefixForDimensionsAndFragile.html +7 -7
  303. data/doc/CzechPostB2bClient/ResponseCodes/InvalidPrice.html +7 -7
  304. data/doc/CzechPostB2bClient/ResponseCodes/InvalidPriceCurrency.html +7 -7
  305. data/doc/CzechPostB2bClient/ResponseCodes/InvalidPriceCurrencyAccordance.html +7 -7
  306. data/doc/CzechPostB2bClient/ResponseCodes/InvalidPriceCustomGood.html +7 -7
  307. data/doc/CzechPostB2bClient/ResponseCodes/InvalidQuantityCustomGood.html +7 -7
  308. data/doc/CzechPostB2bClient/ResponseCodes/InvalidResponsibleConsignmentNumber.html +7 -7
  309. data/doc/CzechPostB2bClient/ResponseCodes/InvalidReturnNumberDays.html +7 -7
  310. data/doc/CzechPostB2bClient/ResponseCodes/InvalidService18.html +7 -7
  311. data/doc/CzechPostB2bClient/ResponseCodes/InvalidService19.html +7 -7
  312. data/doc/CzechPostB2bClient/ResponseCodes/InvalidServiceCombination.html +7 -7
  313. data/doc/CzechPostB2bClient/ResponseCodes/InvalidServicesForDimensions.html +7 -7
  314. data/doc/CzechPostB2bClient/ResponseCodes/InvalidSignNumber.html +7 -7
  315. data/doc/CzechPostB2bClient/ResponseCodes/InvalidSubisoCountry.html +7 -7
  316. data/doc/CzechPostB2bClient/ResponseCodes/InvalidTareWeight.html +7 -7
  317. data/doc/CzechPostB2bClient/ResponseCodes/InvalidTiming.html +7 -7
  318. data/doc/CzechPostB2bClient/ResponseCodes/InvalidTransmissionDate.html +7 -7
  319. data/doc/CzechPostB2bClient/ResponseCodes/InvalidTypePrefix.html +7 -7
  320. data/doc/CzechPostB2bClient/ResponseCodes/InvalidUseOfService36.html +7 -7
  321. data/doc/CzechPostB2bClient/ResponseCodes/InvalidUseOfService37.html +7 -7
  322. data/doc/CzechPostB2bClient/ResponseCodes/InvalidUseOfService38.html +7 -7
  323. data/doc/CzechPostB2bClient/ResponseCodes/InvalidWeight.html +7 -7
  324. data/doc/CzechPostB2bClient/ResponseCodes/InvalidWeightCustomGood.html +7 -7
  325. data/doc/CzechPostB2bClient/ResponseCodes/InvalidWeightCustomGoodSummary.html +7 -7
  326. data/doc/CzechPostB2bClient/ResponseCodes/InvalidWeightForService11.html +7 -7
  327. data/doc/CzechPostB2bClient/ResponseCodes/InvalidWidth.html +7 -7
  328. data/doc/CzechPostB2bClient/ResponseCodes/InvalidZPROOrderNumber.html +7 -7
  329. data/doc/CzechPostB2bClient/ResponseCodes/InvalidZPROOrderNumberFormat.html +7 -7
  330. data/doc/CzechPostB2bClient/ResponseCodes/InvalidostCodeOrCity.html +7 -7
  331. data/doc/CzechPostB2bClient/ResponseCodes/MIssingParcelCode.html +7 -7
  332. data/doc/CzechPostB2bClient/ResponseCodes/MissingAddressee.html +7 -7
  333. data/doc/CzechPostB2bClient/ResponseCodes/MissingAddresseeCity.html +7 -7
  334. data/doc/CzechPostB2bClient/ResponseCodes/MissingAddresseeStreet.html +7 -7
  335. data/doc/CzechPostB2bClient/ResponseCodes/MissingAddresseeZipCode.html +7 -7
  336. data/doc/CzechPostB2bClient/ResponseCodes/MissingCODAmount.html +7 -7
  337. data/doc/CzechPostB2bClient/ResponseCodes/MissingCODAmountType.html +7 -7
  338. data/doc/CzechPostB2bClient/ResponseCodes/MissingCategoryCustomDecalaration.html +7 -7
  339. data/doc/CzechPostB2bClient/ResponseCodes/MissingCompanyName.html +7 -7
  340. data/doc/CzechPostB2bClient/ResponseCodes/MissingContentCustomGood.html +7 -7
  341. data/doc/CzechPostB2bClient/ResponseCodes/MissingCurrencyCustomDeclaration.html +7 -7
  342. data/doc/CzechPostB2bClient/ResponseCodes/MissingHandlingInstructions.html +7 -7
  343. data/doc/CzechPostB2bClient/ResponseCodes/MissingHeight.html +7 -7
  344. data/doc/CzechPostB2bClient/ResponseCodes/MissingHsCodeCustomGood.html +7 -7
  345. data/doc/CzechPostB2bClient/ResponseCodes/MissingIsoCustomGood.html +7 -7
  346. data/doc/CzechPostB2bClient/ResponseCodes/MissingLength.html +7 -7
  347. data/doc/CzechPostB2bClient/ResponseCodes/MissingPalettsNumber.html +7 -7
  348. data/doc/CzechPostB2bClient/ResponseCodes/MissingParcelCustomGood.html +7 -7
  349. data/doc/CzechPostB2bClient/ResponseCodes/MissingParcelCustomGoods.html +7 -7
  350. data/doc/CzechPostB2bClient/ResponseCodes/MissingPhoneNumber.html +7 -7
  351. data/doc/CzechPostB2bClient/ResponseCodes/MissingPrefix.html +7 -7
  352. data/doc/CzechPostB2bClient/ResponseCodes/MissingPrice.html +7 -7
  353. data/doc/CzechPostB2bClient/ResponseCodes/MissingPriceCustomGood.html +7 -7
  354. data/doc/CzechPostB2bClient/ResponseCodes/MissingQuantityCustomGood.html +7 -7
  355. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredAddresseeDocument.html +7 -7
  356. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredAddresseeDocumentDuplicate.html +7 -7
  357. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredAddresseeEmail.html +7 -7
  358. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredEmail.html +7 -7
  359. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredFirstNameAddresseeDocument.html +7 -7
  360. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredMRNCode.html +7 -7
  361. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredMobileNumber.html +7 -7
  362. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredMobileNumberOrEmail.html +7 -7
  363. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredParcelCode.html +7 -7
  364. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredPayday.html +7 -7
  365. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredPhoneNumber.html +7 -7
  366. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredPhoneNumberOrEmail.html +7 -7
  367. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredPhoneNumberOrWhat.html +7 -7
  368. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredPrice.html +7 -7
  369. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredService.html +7 -7
  370. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredService10.html +7 -7
  371. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredService1AB.html +7 -7
  372. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredService1X.html +7 -7
  373. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredService2X.html +7 -7
  374. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredService3X.html +7 -7
  375. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredService3XTrinity.html +7 -7
  376. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredService4.html +7 -7
  377. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredService4X.html +7 -7
  378. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredService4x.html +7 -7
  379. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredVoucherPrice.html +7 -7
  380. data/doc/CzechPostB2bClient/ResponseCodes/MissingRequiredZPROOrderNumber.html +7 -7
  381. data/doc/CzechPostB2bClient/ResponseCodes/MissingReturnInstructions.html +7 -7
  382. data/doc/CzechPostB2bClient/ResponseCodes/MissingReturnNumberDays.html +7 -7
  383. data/doc/CzechPostB2bClient/ResponseCodes/MissingSenderEmail.html +7 -7
  384. data/doc/CzechPostB2bClient/ResponseCodes/MissingSizeCategory.html +7 -7
  385. data/doc/CzechPostB2bClient/ResponseCodes/MissingSurname.html +7 -7
  386. data/doc/CzechPostB2bClient/ResponseCodes/MissingVariableSymbol.html +7 -7
  387. data/doc/CzechPostB2bClient/ResponseCodes/MissingVariableSymbolDuplicate.html +7 -7
  388. data/doc/CzechPostB2bClient/ResponseCodes/MissingWeightCustomGood.html +7 -7
  389. data/doc/CzechPostB2bClient/ResponseCodes/MissingWidth.html +7 -7
  390. data/doc/CzechPostB2bClient/ResponseCodes/NoContractService41.html +7 -7
  391. data/doc/CzechPostB2bClient/ResponseCodes/NoContractServiceReturnReceipt.html +7 -7
  392. data/doc/CzechPostB2bClient/ResponseCodes/NotExistingOrderNumber.html +7 -7
  393. data/doc/CzechPostB2bClient/ResponseCodes/Ok.html +7 -7
  394. data/doc/CzechPostB2bClient/ResponseCodes/OverenoVecerniDorucovani.html +7 -7
  395. data/doc/CzechPostB2bClient/ResponseCodes/PalettsNumberOutOfRange.html +7 -7
  396. data/doc/CzechPostB2bClient/ResponseCodes/ParcelCodeNotAllowed.html +7 -7
  397. data/doc/CzechPostB2bClient/ResponseCodes/ParcelCodeNotInAssignedRange.html +7 -7
  398. data/doc/CzechPostB2bClient/ResponseCodes/ParcelDoesNotMeetTheRequirementsForm.html +7 -7
  399. data/doc/CzechPostB2bClient/ResponseCodes/PriceAndCODAmountTooBig.html +7 -7
  400. data/doc/CzechPostB2bClient/ResponseCodes/PriceOutOfRange.html +7 -7
  401. data/doc/CzechPostB2bClient/ResponseCodes/PriceTooBig.html +7 -7
  402. data/doc/CzechPostB2bClient/ResponseCodes/PriceTooLow.html +7 -7
  403. data/doc/CzechPostB2bClient/ResponseCodes/ResponsibleConsignmentNumberCannotBeImported.html +7 -7
  404. data/doc/CzechPostB2bClient/ResponseCodes/ResponsibleConsignmentNumberOutOfRange.html +7 -7
  405. data/doc/CzechPostB2bClient/ResponseCodes/ServicesCombinationNotAllowed.html +7 -7
  406. data/doc/CzechPostB2bClient/ResponseCodes/TransmissionAlreadyClosed.html +7 -7
  407. data/doc/CzechPostB2bClient/ResponseCodes/TransmissionNotExists.html +7 -7
  408. data/doc/CzechPostB2bClient/ResponseCodes/TransmissionOpened.html +7 -7
  409. data/doc/CzechPostB2bClient/ResponseCodes/TransmissionUnfinished.html +7 -7
  410. data/doc/CzechPostB2bClient/ResponseCodes/UnauthorizedAccess.html +7 -7
  411. data/doc/CzechPostB2bClient/ResponseCodes/UnknownAddresseeCity.html +7 -7
  412. data/doc/CzechPostB2bClient/ResponseCodes/UnknownAddresseePostCode.html +7 -7
  413. data/doc/CzechPostB2bClient/ResponseCodes/UnknownPrefix.html +7 -7
  414. data/doc/CzechPostB2bClient/ResponseCodes/VariableSymbolIsNotNumber.html +7 -7
  415. data/doc/CzechPostB2bClient/ResponseCodes/WeightCustomGoodOutOfRange.html +7 -7
  416. data/doc/CzechPostB2bClient/ResponseCodes/WeightIsOutOfRange.html +7 -7
  417. data/doc/CzechPostB2bClient/ResponseCodes/WeightIsOutOfRangeDuplicate.html +7 -7
  418. data/doc/CzechPostB2bClient/ResponseParsers.html +8 -8
  419. data/doc/CzechPostB2bClient/ResponseParsers/BaseParser.html +8 -8
  420. data/doc/CzechPostB2bClient/ResponseParsers/GetParcelStateParser.html +31 -16
  421. data/doc/CzechPostB2bClient/ResponseParsers/GetParcelsPrintingParser.html +21 -21
  422. data/doc/CzechPostB2bClient/ResponseParsers/GetResultParcelsParser.html +18 -12
  423. data/doc/CzechPostB2bClient/ResponseParsers/GetStatsParser.html +6 -6
  424. data/doc/CzechPostB2bClient/ResponseParsers/ParcelServiceSyncParser.html +805 -0
  425. data/doc/CzechPostB2bClient/ResponseParsers/SendParcelsParser.html +153 -10
  426. data/doc/CzechPostB2bClient/Services.html +8 -8
  427. data/doc/CzechPostB2bClient/Services/AddressSheetsGenerator.html +9 -9
  428. data/doc/CzechPostB2bClient/Services/ApiCaller.html +11 -7
  429. data/doc/CzechPostB2bClient/Services/Communicator.html +7 -7
  430. data/doc/CzechPostB2bClient/Services/DeliveringInspector.html +8 -8
  431. data/doc/CzechPostB2bClient/Services/Orchestrator.html +6 -6
  432. data/doc/CzechPostB2bClient/Services/ParcelsAsyncSender.html +402 -0
  433. data/doc/CzechPostB2bClient/Services/ParcelsSendProcessUpdater.html +8 -8
  434. data/doc/CzechPostB2bClient/Services/ParcelsSender.html +21 -233
  435. data/doc/CzechPostB2bClient/Services/ParcelsSubmissionCloser.html +12 -12
  436. data/doc/CzechPostB2bClient/Services/ParcelsSyncSender.html +464 -0
  437. data/doc/CzechPostB2bClient/Services/TimePeriodStatisticator.html +10 -10
  438. data/doc/CzechPostB2bClient/Services/XsdsDownloader.html +289 -0
  439. data/doc/SteppedService.html +8 -7
  440. data/doc/SteppedService/Base.html +31 -31
  441. data/doc/SteppedService/Errors.html +6 -6
  442. data/doc/_index.html +739 -23
  443. data/doc/class_list.html +3 -3
  444. data/doc/css/style.css +2 -2
  445. data/doc/file.README.html +219 -194
  446. data/doc/file_list.html +2 -2
  447. data/doc/frames.html +2 -2
  448. data/doc/index.html +219 -194
  449. data/doc/js/app.js +14 -3
  450. data/doc/method_list.html +278 -70
  451. data/doc/top-level-namespace.html +6 -6
  452. data/lib/czech_post_b2b_client.rb +2 -1
  453. data/lib/czech_post_b2b_client/configuration.rb +12 -7
  454. data/lib/czech_post_b2b_client/logger.rb +31 -0
  455. data/lib/czech_post_b2b_client/post_services.rb +2 -1
  456. data/lib/czech_post_b2b_client/printing_templates.rb +142 -39
  457. data/lib/czech_post_b2b_client/request_builders.rb +1 -0
  458. data/lib/czech_post_b2b_client/request_builders/get_parcels_printing_builder.rb +1 -1
  459. data/lib/czech_post_b2b_client/request_builders/parcel_service_sync_builder.rb +286 -0
  460. data/lib/czech_post_b2b_client/request_builders/send_parcels_builder.rb +38 -17
  461. data/lib/czech_post_b2b_client/response_codes.rb +2 -1
  462. data/lib/czech_post_b2b_client/response_parsers.rb +1 -0
  463. data/lib/czech_post_b2b_client/response_parsers/base_parser.rb +7 -1
  464. data/lib/czech_post_b2b_client/response_parsers/get_result_parcels_parser.rb +4 -3
  465. data/lib/czech_post_b2b_client/response_parsers/parcel_service_sync_parser.rb +82 -0
  466. data/lib/czech_post_b2b_client/services.rb +3 -2
  467. data/lib/czech_post_b2b_client/services/api_caller.rb +10 -0
  468. data/lib/czech_post_b2b_client/services/delivering_inspector.rb +0 -2
  469. data/lib/czech_post_b2b_client/services/parcels_async_sender.rb +53 -0
  470. data/lib/czech_post_b2b_client/services/parcels_sender.rb +4 -45
  471. data/lib/czech_post_b2b_client/services/parcels_submission_closer.rb +1 -1
  472. data/lib/czech_post_b2b_client/services/{parcels_immediate_sender.rb → parcels_sync_sender.rb} +9 -8
  473. data/lib/czech_post_b2b_client/services/xsds_downloader.rb +2 -0
  474. data/lib/czech_post_b2b_client/version.rb +1 -1
  475. metadata +118 -9
@@ -6,15 +6,15 @@
6
6
  <title>
7
7
  Top Level Namespace
8
8
 
9
- &mdash; Documentation by YARD 0.9.19
9
+ &mdash; Documentation by YARD 0.9.24
10
10
 
11
11
  </title>
12
12
 
13
- <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" />
14
14
 
15
- <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" />
16
16
 
17
- <script type="text/javascript" charset="utf-8">
17
+ <script type="text/javascript">
18
18
  pathId = "";
19
19
  relpath = '';
20
20
  </script>
@@ -100,9 +100,9 @@
100
100
  </div>
101
101
 
102
102
  <div id="footer">
103
- Generated on Fri Mar 20 17:49:05 2020 by
103
+ Generated on Thu May 28 17:06:47 2020 by
104
104
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
105
- 0.9.19 (ruby-2.4.1).
105
+ 0.9.24 (ruby-2.4.1).
106
106
  </div>
107
107
 
108
108
  </div>
@@ -5,6 +5,7 @@ require 'stepped_service'
5
5
 
6
6
  require 'czech_post_b2b_client/version'
7
7
  require 'czech_post_b2b_client/configuration'
8
+ require 'czech_post_b2b_client/logger'
8
9
 
9
10
  require 'czech_post_b2b_client/b2b_errors'
10
11
  require 'czech_post_b2b_client/response_codes'
@@ -26,7 +27,7 @@ module CzechPostB2bClient
26
27
  end
27
28
 
28
29
  def self.logger
29
- self.configuration.logger
30
+ CzechPostB2bClient::Logger.new(self.configuration)
30
31
  end
31
32
 
32
33
  def self.root
@@ -14,25 +14,30 @@ module CzechPostB2bClient
14
14
  :namespaces,
15
15
  :language,
16
16
  :logger,
17
- :b2b_api_base_uri
17
+ :b2b_api_base_uri,
18
+ :print_options,
19
+ :custom_card_number,
20
+ :log_messages_at_least_as
18
21
 
19
22
  def initialize
20
23
  # set defaults here
21
24
 
22
25
  # ours, accessible, but maybe out of date, for test usage
23
- @namespaces = {
24
- 'xmlns' => 'https://raw.githubusercontent.com/foton/czech_post_b2b_client/master/doc/20181023/B2BCommon-v1.1.xsd',
25
- 'xmlns:ns2' => 'https://raw.githubusercontent.com/foton/czech_post_b2b_client/master/doc/20181023/B2B-POLServices-v1.6.xsd'
26
- }
27
- # original, accessible only with setup certificates
28
26
  @namespaces = {
29
27
  'xmlns' => 'https://b2b.postaonline.cz/schema/B2BCommon-v1',
30
- 'xmlns:ns2' => 'https://b2b.postaonline.cz/schema/POLServices-v1'
28
+ 'xmlns:ns2' => 'https://b2b.postaonline.cz/schema/POLServices-v1',
29
+ 'xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance',
30
+ 'xsi:noNamespaceSchemaLocation' => 'https://raw.githubusercontent.com/foton/czech_post_b2b_client/master/documents/latest_xsds/B2BCommon.xsd',
31
+ 'xsi:schemaLocation' => 'https://b2b.postaonline.cz/schema/POLServices-v1 https://raw.githubusercontent.com/foton/czech_post_b2b_client/master/documents/latest_xsds/B2BPOLServices.xsd'
31
32
  }
33
+
32
34
  @language = :cs
33
35
  @logger = defined?(Rails) ? ::Rails.logger : ::Logger.new(STDOUT)
34
36
  @b2b_api_base_uri = 'https://b2b.postaonline.cz/services/POLService/v1'
35
37
  @sending_post_office_location_number = 1
38
+
39
+ # set this to :error in production for API debug logs in production.log
40
+ @log_messages_at_least_as = :debug # so all logs keeps their level
36
41
  end
37
42
  end
38
43
  end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'logger'
4
+
5
+ module CzechPostB2bClient
6
+ class Logger
7
+ attr_reader :target_logger, :min_log_level
8
+
9
+ LEVELS = { debug: 0, info: 1, error: 2 }.freeze
10
+
11
+ def initialize(configuration)
12
+ @target_logger = configuration.logger
13
+ @min_log_level = configuration.log_messages_at_least_as
14
+ end
15
+
16
+ def log(original_level, message)
17
+ puts("#{message} #{original_level} => #{modified_log_level(original_level)}")
18
+ target_logger.send(modified_log_level(original_level), message)
19
+ end
20
+
21
+ LEVELS.each_key do |level|
22
+ define_method(level) { |message| log(level, message) }
23
+ end
24
+
25
+ private
26
+
27
+ def modified_log_level(original_level)
28
+ LEVELS[original_level] > LEVELS[min_log_level] ? original_level : min_log_level
29
+ end
30
+ end
31
+ end
@@ -768,7 +768,8 @@ module CzechPostB2bClient
768
768
 
769
769
  # has to be at the end, to load all subcasses before
770
770
  def self.all_classes
771
- ObjectSpace.each_object(CzechPostB2bClient::PostServices::Base.singleton_class)
771
+ base_class = CzechPostB2bClient::PostServices::Base
772
+ ObjectSpace.each_object(base_class.singleton_class).reject { |c| c == base_class }
772
773
  end
773
774
  end
774
775
  end
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # rubocop:disable Style/AsciiComments
4
+
3
5
  # Available printing templates, which can be used in AdressSheetsGenerator `options[:template_id]`
4
6
  #
5
7
  # Do not miss `CzechPostB2bClient::PrintingTemplates.all_classes` method,
@@ -8,64 +10,82 @@ module CzechPostB2bClient
8
10
  module PrintingTemplates
9
11
  class Base
10
12
  class << self
11
- attr_reader :id, :description
13
+ attr_reader :id, :description, :page_dimensions
12
14
  end
13
15
  end
14
16
 
15
- module AdressLabel
17
+ module AddressLabel
16
18
  class Simple < Base
17
19
  @id = 7
18
- @description = 'adresní štítek (alonž) - samostatný'
20
+ @description = 'adresní štítek (alonž) [1x1/4 A4'
21
+ @page_dimensions = 'A4 portrait (210 × 297 mm)'
22
+ end
23
+
24
+ class SimpleA6FourOnPage < Base
25
+ @id = 103
26
+ @description = 'Adresní štítek A6 : 4x'
27
+ @page_dimensions = 'A4 portrait (210 × 297 mm)'
19
28
  end
20
29
 
21
30
  class SimpleWithCODVoucherA < Base
22
31
  @id = 8
23
- @description = 'adresní štítek (alonž) + dobírková poukázka A'
32
+ @description = 'adresní štítek (alonž) + dobírková poukázka A [(1x1/4 A4 + 1x1/2 A4)'
33
+ @page_dimensions = 'A4 portrait (210 × 297 mm)'
24
34
  end
25
- class Blank4OnPage < Base
35
+
36
+ class BiancoFourOnPage < Base
26
37
  @id = 20
27
- @description = 'adresní štítek bianco - 4x (A4)'
38
+ @description = 'adresní štítek bianco : 4x'
39
+ @page_dimensions = 'A4 landscape (297 × 210 mm)'
28
40
  end
29
41
 
30
- class Blank < Base
42
+ class Bianco < Base
31
43
  @id = 21
32
- @description = 'adresní štítek bianco - samostatný'
44
+ @description = 'adresní štítek bianco'
45
+ @page_dimensions = 'A6 portrait (105 × 148 mm)'
33
46
  end
34
47
 
35
- class BlankLandscape < Base
48
+ class BiancoLandscape < Base
36
49
  @id = 39
37
- @description = 'adresní štítek bianco - samostatný (na šířku)'
50
+ @description = 'adresní štítek bianco - na šířku'
51
+ @page_dimensions = 'A6 landscape (148 × 105 mm)'
38
52
  end
39
53
 
40
54
  module ForeignPackage
41
55
  class Standard < Base
42
56
  @id = 58
43
- @description = 'AŠ - samostatný Standardní balík do zahraničí'
57
+ @description = 'CP72 - standardní balík do zahraničí' # or 'AŠ - samostatný Standardní balík do zahraničí'
58
+ @page_dimensions = 'A5 landscape (210 × 148 mm)'
44
59
  end
45
60
 
46
- class Standard4OnPage < Base
61
+ class StandardTwoOnPage < Base
47
62
  @id = 59
48
- @description = 'AŠ - 4xA4 Standardní balík do zahraničí'
63
+ @description = 'CP72 - standardní balík do zahraničí : 2x' # or 'AŠ - 4xA4 Standardní balík do zahraničí'
64
+ @page_dimensions = 'A4 portrait (297 × 210 mm)'
49
65
  end
50
66
 
51
- class Valuable < Base
67
+ class Insured < Base
52
68
  @id = 60
53
- @description = 'AŠ - samostatný Cenný balík do zahraničí'
69
+ @description = 'CP72 - cenný balík do zahraničí' # or 'AŠ - samostatný Cenný balík do zahraničí'
70
+ @page_dimensions = 'A5 landscape (210 × 148 mm)'
54
71
  end
55
72
 
56
- class Valuable4OnPage < Base
73
+ class InsuredFourOnPage < Base
57
74
  @id = 61
58
- @description = '4xA4 Cenný balík do zahraničí'
75
+ @description = 'CP72 - cenný balík do zahraničí : 2x' # or '4xA4 Cenný balík do zahraničí'
76
+ @page_dimensions = 'A4 portrait (297 × 210 mm)'
59
77
  end
60
78
 
61
79
  class EMS < Base
62
80
  @id = 62
63
81
  @description = 'AŠ - samostatný EMS zahraničí'
82
+ @page_dimensions = 'unverified'
64
83
  end
65
84
 
66
- class EMS2x4 < Base
85
+ class EMSTwoOnPage < Base
67
86
  @id = 63
68
- @description = 'AŠ - 2xA4 EMS do zahraničí'
87
+ @description = 'AŠ - EMS do zahraničí : 2x'
88
+ @page_dimensions = 'unverified A4'
69
89
  end
70
90
  end
71
91
  end
@@ -74,89 +94,172 @@ module CzechPostB2bClient
74
94
  class EnvelopeC6 < Base
75
95
  @id = 22
76
96
  @description = 'obálka 1 - C6'
97
+ @page_dimensions = 'C6 portrait (114 × 162 mm)'
77
98
  end
78
99
 
79
100
  class EnvelopeC5 < Base
80
101
  @id = 23
81
102
  @description = 'obálka 2 - C5'
103
+ @page_dimensions = 'C5/prc7 portrait (162 × 229 mm)'
82
104
  end
83
105
 
84
106
  class EnvelopeB4 < Base
85
107
  @id = 24
86
108
  @description = 'obálka 3 - B4'
109
+ @page_dimensions = 'B4 portrait (250 × 353 mm)'
87
110
  end
88
111
 
89
112
  class EnvelopeDL < Base
90
113
  @id = 25
91
114
  @description = 'obálka 4 - DL bez okénka'
115
+ @page_dimensions = 'DL/prc5 portrait (109 × 219 mm)'
92
116
  end
93
117
  end
94
118
 
95
119
  class CODVoucherA < Base
96
120
  @id = 10
97
121
  @description = 'poštovní dobírková poukázka A - samostatná'
122
+ @page_dimensions = '102 × 210 mm'
98
123
  end
99
124
 
100
- class CODVoucherA3OnPage < Base
125
+ class CODVoucherAThreeOnPage < Base
101
126
  @id = 11
102
- @description = 'poštovní dobírková poukázka A - 3x (A4)'
127
+ @description = 'poštovní dobírková poukázka A - 3x'
128
+ @page_dimensions = '210 × 306 mm'
103
129
  end
104
130
 
105
131
  class CODVoucherC < Base
106
132
  @id = 12
107
133
  @description = 'Poštovní dobírková poukázka C'
134
+ @page_dimensions = 'unverified'
108
135
  end
109
136
 
110
137
  class CODVoucherForCSOB < Base
111
138
  @id = 13
112
139
  @description = 'Dobírková složenka ČSOB'
140
+ @page_dimensions = 'unverified'
113
141
  end
114
142
 
115
143
  class RRLabels3x8 < Base
116
144
  @id = 26
117
- @description = 'štítky pro RR - 3x8 (A4)'
145
+ @description = 'štítky pro RR : 3x8'
146
+ @page_dimensions = 'A4 portrait (210 × 297 mm)'
118
147
  end
119
148
 
120
149
  class IntegratedDocument < Base
121
150
  @id = 38
122
151
  @description = 'Integrovaný doklad'
152
+ @page_dimensions = 'unverified'
123
153
  end
124
154
 
125
155
  class AddressData3x8 < Base
126
156
  @id = 40
127
- @description = 'Adresní údaje 3x8 (A4)'
157
+ @description = 'Adresní údaje : 3x8'
158
+ @page_dimensions = 'A4 portrait (210 × 297 mm)'
128
159
  end
129
160
 
130
161
  class DeliveryTicket < Base
131
162
  @id = 41
132
163
  @description = 'Dodejka'
164
+ @page_dimensions = 'unverified'
133
165
  end
134
166
 
135
- class CustomDeclarationCN22 < Base
136
- @id = 56
137
- @description = 'Celní prohlášení CN22'
138
- end
167
+ module CustomsDeclaration
168
+ class CN22 < Base
169
+ @id = 56
170
+ @description = 'Celní prohlášení CN22 [samotný tisk je velikosti cca A6 vlevo nahořu od středu]'
171
+ @page_dimensions = 'A4 portrait (210 × 297 mm)'
172
+ end
173
+
174
+ class CN23 < Base
175
+ @id = 57
176
+ @description = 'Celní prohlášení CN23'
177
+ @page_dimensions = 'A5 landscape (210 × 148 mm)'
178
+ end
139
179
 
140
- class CustomDeclarationCN23 < Base
141
- @id = 57
142
- @description = 'Celní prohlášení CN23'
180
+ class CN22FourOnPage < Base
181
+ @id = 74
182
+ @description = 'Celní prohlášení CN22 : 4x (A4)'
183
+ @page_dimensions = 'unverified A4'
184
+ end
185
+
186
+ class CN22WithCK < Base
187
+ @id = 75
188
+ @description = 'Celní prohlášení CN22 s ČK (A4)'
189
+ @page_dimensions = 'unverified A4'
190
+ end
191
+
192
+ class CN22WithCKFourOnPage < Base
193
+ @id = 76
194
+ @description = 'Celní prohlášení CN22 s ČK : 4x (A4)'
195
+ @page_dimensions = 'unverified A4'
196
+ end
143
197
  end
144
198
 
145
- # Formulare ID 72 a 73 je mozno pouzit pouze pro zasilky s prefixem CE
146
- # do zemi AT, DE, FR, GR, HR, CH, IS, LU, LV, NO, PL, SK
147
- class HarmonizedLabel < Base
148
- @id = 72
149
- @description = 'Harmonizovaný štítek pro MZ produkty – samostatný'
199
+ class CN22FourOnPage < Base
200
+ @id = 74
201
+ @description = 'Celní prohlášení CN22 : 4x'
202
+ @page_dimensions = 'A4 portrait (210 × 297 mm)'
150
203
  end
151
204
 
152
- class HarmonizedLabel4OnPage < Base
153
- @id = 73
154
- @description = 'Harmonizovaný štítek pro MZ produkty – 4x (A4)'
205
+ module HarmonizedLabel
206
+ # Formulare ID 72 a 73 je mozno pouzit pouze pro zasilky s prefixem CE
207
+ # do zemi AT, DE, FR, GR, HR, CH, IS, LU, LV, NO, PL, SK
208
+ class Simple < Base
209
+ @id = 72
210
+ @description = 'Obchodní balík do zahraničí' # or 'Harmonizovaný štítek pro MZ produkty-samostatný'
211
+ @page_dimensions = 'unverified'
212
+ end
213
+
214
+ class SimpleFourOnPage < Base
215
+ @id = 73
216
+ @description = 'Obchodní balík do zahraničí : 4x (A4)' # or 'Harmonizovaný štítek pro MZ produkty – 4x (A4)'
217
+ @page_dimensions = 'unverified A4'
218
+ end
219
+
220
+ class BiancoFourOnPage < Base
221
+ @id = 100
222
+ @description = 'Harmonizovaný štítek bianco : 4x'
223
+ @page_dimensions = 'A4 portrait (210 × 297 mm)'
224
+ end
225
+
226
+ class Bianco < Base
227
+ @id = 101
228
+ @description = 'Harmonizovaný štítek bianco'
229
+ @page_dimensions = 'A6 portrait (105 × 148 mm)'
230
+ end
231
+
232
+ class BiancoPortrait < Base
233
+ @id = 102
234
+ @description = 'Harmonizovaný štítek bianco - na výšku'
235
+ @page_dimensions = 'A6 landscape (148 × 105 mm)'
236
+ end
237
+
238
+ class ZebraBianco105x148 < Base
239
+ @id = 200
240
+ @description = 'Harmonizovaný štítek bianco - (Zebra - 105x148); nejde o PDF'
241
+ @page_dimensions = 'unverified 105 × 148 mm'
242
+ end
243
+
244
+ class ZebraBianco100x150 < Base
245
+ @id = 201
246
+ @description = 'Harmonizovaný štítek bianco - (Zebra - 100x150); nejde o PDF'
247
+ @page_dimensions = 'unverified 100 × 150 mm'
248
+ end
249
+
250
+ class ZebraBianco100x125 < Base
251
+ @id = 202
252
+ @description = 'Harmonizovaný štítek bianco - (Zebra - 100x125); nejde o PDF'
253
+ @page_dimensions = 'unverified 100 × 125 mm'
254
+ end
155
255
  end
156
256
 
157
257
  # has to be at the end, to load all subcasses before
158
258
  def self.all_classes
159
- ObjectSpace.each_object(CzechPostB2bClient::PrintingTemplates::Base.singleton_class)
259
+ base_class = CzechPostB2bClient::PrintingTemplates::Base
260
+ ObjectSpace.each_object(base_class.singleton_class).reject { |c| c == base_class }
160
261
  end
161
262
  end
162
263
  end
264
+
265
+ # rubocop:enable Style/AsciiComments
@@ -6,3 +6,4 @@ require 'czech_post_b2b_client/request_builders/get_parcels_printing_builder'
6
6
  require 'czech_post_b2b_client/request_builders/get_parcel_state_builder'
7
7
  require 'czech_post_b2b_client/request_builders/get_result_parcels_builder'
8
8
  require 'czech_post_b2b_client/request_builders/send_parcels_builder'
9
+ require 'czech_post_b2b_client/request_builders/parcel_service_sync_builder'
@@ -50,7 +50,7 @@ module CzechPostB2bClient
50
50
  new_element('ns2:doPrintingHeader').tap do |printing_header|
51
51
  add_element_to(printing_header, 'ns2:customerID', value: options[:customer_id]) # Technologicke cislo podavatele
52
52
  add_element_to(printing_header, 'ns2:contractNumber', value: options[:contract_number]) # Nepovine: ID CCK slozky podavatele
53
- add_element_to(printing_header, 'ns2:idForm', value: options[:template_id]) # Nepovine[0-20x]: ID formulare
53
+ add_element_to(printing_header, 'ns2:idForm', value: options[:template_id]) # Nepovine, default 20: ID formulare
54
54
  add_element_to(printing_header, 'ns2:shiftHorizontal', value: options[:margin_in_mm][:left]) # Hodnota posunu doprava v mm
55
55
  add_element_to(printing_header, 'ns2:shiftVertical', value: options[:margin_in_mm][:top]) # Hodnota posunu dolu v mm
56
56
  add_element_to(printing_header, 'ns2:position', value: options[:position_order]) # Nepovinna: Hodnota pozice
@@ -0,0 +1,286 @@
1
+ # frozen_string_literal: true
2
+
3
+ # rubocop:disable Layout/LineLength, Style/AsciiComments
4
+
5
+ module CzechPostB2bClient
6
+ module RequestBuilders
7
+ class ParcelServiceSyncBuilder < BaseBuilder # rubocop:disable Metrics/ClassLength
8
+ attr_reader :common_data, :parcel
9
+
10
+ def initialize(common_data:, parcel:, request_id: 1)
11
+ @common_data = common_data
12
+ @parcel = parcel
13
+ @request_id = request_id
14
+ end
15
+
16
+ private
17
+
18
+ def validate_data
19
+ validate_common_data_required_fields
20
+
21
+ if parcel.empty?
22
+ errors.add(:parcel, 'One parcel is needed!')
23
+ else
24
+ validate_parcel_required_fields
25
+ end
26
+
27
+ fail! unless errors.empty?
28
+ end
29
+
30
+ def service_data_struct
31
+ new_element('serviceData').tap do |srv_data|
32
+ add_element_to(srv_data, parcel_service_sync)
33
+ end
34
+ end
35
+
36
+ def validate_common_data_required_fields
37
+ [[:parcels_sending_date],
38
+ [:customer_id],
39
+ [:sending_post_office_code]].each do |key_chain|
40
+ value = common_data.dig(*key_chain)
41
+ if value.nil? || value == ''
42
+ errors.add(:common_data, "Missing value for key { :#{key_chain.join(' => :')} }!")
43
+ end
44
+ end
45
+ end
46
+
47
+ def validate_parcel_required_fields
48
+ rq_fields = [
49
+ %i[params parcel_id],
50
+ %i[params parcel_code_prefix],
51
+ %i[addressee address last_name],
52
+ %i[addressee address street],
53
+ %i[addressee address house_number],
54
+ %i[addressee address city],
55
+ %i[addressee address post_code]
56
+ ]
57
+
58
+ parcel_id = parcel.dig(:params, :parcel_id)
59
+ rq_fields.each do |key_chain|
60
+ value = parcel.dig(*key_chain)
61
+
62
+ if value.nil? || value == ''
63
+ errors.add(:parcel, "Missing value for key { :#{key_chain.join(' => :')} } for parcel (parcel_id: '#{parcel_id}')!")
64
+ end
65
+ end
66
+ end
67
+
68
+ def parcel_service_sync
69
+ new_element('ns2:parcelServiceSyncRequest').tap do |ps_sync_request|
70
+ add_element_to(ps_sync_request, do_parcel_header) # REQUIRED
71
+ add_element_to(ps_sync_request, do_parcel_data) # optional
72
+ end
73
+ end
74
+
75
+ def do_parcel_header # rubocop:disable Metrics/AbcSize
76
+ new_element('ns2:doPOLSyncParcelHeader').tap do |parcel_header|
77
+ add_element_to(parcel_header, 'ns2:transmissionDate', value: common_data[:parcels_sending_date].strftime('%d.%m.%Y')) # Predpokladane datum podani (format DD.MM.YYYY !)
78
+ add_element_to(parcel_header, 'ns2:customerID', value: common_data[:customer_id]) # Technologicke cislo podavatele
79
+ add_element_to(parcel_header, 'ns2:postCode', value: common_data[:sending_post_office_code]) # PSC podaci posty
80
+ add_element_to(parcel_header, 'ns2:contractNumber', value: common_data[:contract_number]) # Nepovinne: Cislo zakazky
81
+ add_element_to(parcel_header, 'ns2:frankingNumber', value: common_data[:franking_machine_number]) # Nepovinne: Cislo vyplatniho stroje
82
+ add_element_to(parcel_header, 'ns2:transmissionEnd', value: common_data[:close_requests_batch]) # Nepovinna, default true: Indikace zda uzavrit podani, nebo budou jeste nasledovat dalsi requesty pro stejne podani
83
+ add_element_to(parcel_header, 'ns2:locationNumber', value: common_data[:sending_post_office_location_number]) # Nepovinne: cislo podaciho mista (z nastaveni v Podani Online)
84
+ add_element_to(parcel_header, 'ns2:senderCustCardNum', value: sender_data[:custom_card_number]) # Nepovinne: cislo zakaznicke karty odesilatele
85
+ add_element_to(parcel_header, print_params)
86
+ end
87
+ end
88
+
89
+ def do_parcel_data
90
+ new_element('ns2:doPOLSyncParcelData').tap do |do_parcel_data|
91
+ add_element_to(do_parcel_data, do_parcel_params)
92
+ add_element_to(do_parcel_data, do_parcel_address)
93
+ add_element_to(do_parcel_data, do_parcel_address_document)
94
+ add_element_to(do_parcel_data, do_parcel_customs_declaration)
95
+ add_customs_documents_to(do_parcel_data)
96
+ end
97
+ end
98
+
99
+ def print_params
100
+ return nil unless (pp = common_data[:print_params])
101
+
102
+ new_element('ns2:printParams').tap do |print_params|
103
+ add_element_to(print_params, 'ns2:idForm', value: pp[:template_id]) # Nepovine[0-20x]: ID formulare
104
+ add_element_to(print_params, 'ns2:shiftHorizontal', value: pp[:margin_in_mm][:left]) # Hodnota posunu doprava v mm
105
+ add_element_to(print_params, 'ns2:shiftVertical', value: pp[:margin_in_mm][:top]) # Hodnota posunu dolu v mm
106
+ add_element_to(print_params, 'ns2:position', value: pp[:position_order]) # Nepovinna: Hodnota pozice
107
+ end
108
+ end
109
+
110
+ def cache_on_delivery_bank
111
+ data = common_data.dig(:cash_on_delivery, :bank_account)
112
+ return nil unless data
113
+
114
+ new_element('ns2:codBank').tap do |cod_bank|
115
+ add_bank_elements(cod_bank, data)
116
+ end
117
+ end
118
+
119
+ def sender_contacts
120
+ return nil unless sender_data
121
+
122
+ new_element('ns2:senderContacts').tap do |element|
123
+ add_contact_elements(element, sender_data) # Nepovinne. Telefon, Mobil a Email
124
+ end
125
+ end
126
+
127
+ def do_parcel_params # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
128
+ params = parcel[:params]
129
+ cod = parcel[:cash_on_delivery] || {}
130
+ new_element('ns2:doPOLSyncParcelParams').tap do |parcel_params|
131
+ add_element_to(parcel_params, 'ns2:recordID', value: params[:parcel_id]) # Unikatni ID zaznamu
132
+ add_element_to(parcel_params, 'ns2:parcelCode', value: params[:parcel_code]) # Nepovinne: ID zasilky
133
+ add_element_to(parcel_params, 'ns2:prefixParcelCode', value: params[:parcel_code_prefix]) # Typ zasilky (prefix)
134
+ add_element_to(parcel_params, 'ns2:weight', value: params[:weight_in_kg]) # Nepovinne: Hmotnost
135
+ add_element_to(parcel_params, 'ns2:insuredValue', value: params[:insured_value]) # Nepovinne: Udana cena
136
+ add_element_to(parcel_params, 'ns2:amount', value: cod[:amount]) # Nepovinne: Dobirka
137
+ add_element_to(parcel_params, 'ns2:currency', value: cod[:currency_iso_code]) # Nepovinne, default CZK: ISO kod meny dobirky
138
+ add_element_to(parcel_params, 'ns2:vsVoucher', value: params[:voucher_variable_symbol]) # Nepovinne: Variabilni symbol - poukazka
139
+ add_element_to(parcel_params, 'ns2:vsParcel', value: params[:parcel_variable_symbol]) # Nepovinne: Variabilni symbol - zasilka
140
+ add_element_to(parcel_params, 'ns2:sequenceParcel', value: params[:parcel_order]) # Nepovinne: Poradi v ramci vicekusove zasilky
141
+ add_element_to(parcel_params, 'ns2:quantityParcel', value: params[:parcels_count]) # Nepovinne: Celkovy pocet zasilek vicekusove zasilky
142
+ add_element_to(parcel_params, 'ns2:note', value: params[:note]) # Nepovinne: Poznamka
143
+ add_element_to(parcel_params, 'ns2:notePrint', value: params[:note_for_print]) # Nepovinne: Poznamka pro tisk
144
+ add_element_to(parcel_params, 'ns2:length', value: params[:length]) # Nepovinne: Delka
145
+ add_element_to(parcel_params, 'ns2:width', value: params[:width]) # Nepovinne: Sirka
146
+ add_element_to(parcel_params, 'ns2:height', value: params[:height]) # Nepovinne: Vyska
147
+ add_element_to(parcel_params, 'ns2:mrn', value: params[:mrn_code]) # Nepovinne: Kod MRN
148
+ add_element_to(parcel_params, 'ns2:referenceNumber', value: params[:reference_number]) # Nepovinne: Cislo jednaci
149
+ add_element_to(parcel_params, 'ns2:pallets', value: params[:pallets_count]) # Nepovinne: Pocet palet
150
+ add_element_to(parcel_params, 'ns2:specSym', value: params[:specific_symbol]) # Nepovinne: Specificky symbol
151
+ add_element_to(parcel_params, 'ns2:note2', value: params[:note2]) # Nepovinne: Poznamka 2
152
+ add_element_to(parcel_params, 'ns2:numSign', value: params[:documents_to_sign_count]) # Nepovinne: Počet dokumentů
153
+ add_element_to(parcel_params, 'ns2:score', value: params[:score]) # Nepovinne: Napocet ceny sluzby
154
+ add_element_to(parcel_params, 'ns2:orderNumberZPRO', value: params[:zpro_order_number]) # Nepovinne: Cislo objednavky ZPRO
155
+ add_element_to(parcel_params, 'ns2:returnNumDays', value: params[:days_to_deposit]) # Nepovinne: Pocet dni pro vraceni zasilky
156
+ add_parcel_services(parcel_params)
157
+ end
158
+ end
159
+
160
+ def add_parcel_services(parent_element)
161
+ (parcel[:services] || []).each do |p_service|
162
+ srv_element = new_element('ns2:doPOLParcelServices').tap do |dps|
163
+ add_element_to(dps, 'ns2:service', value: p_service)
164
+ end
165
+
166
+ add_element_to(parent_element, srv_element)
167
+ end
168
+ end
169
+
170
+ def do_parcel_address
171
+ add_parcel_adress_element('ns2:doPOLParcelAddress', parcel[:addressee])
172
+ end
173
+
174
+ def do_parcel_address_document
175
+ add_parcel_adress_element('ns2:doPOLParcelAddressDocument', parcel[:document_addressee])
176
+ end
177
+
178
+ def add_parcel_adress_element(element_name, addressee_data) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
179
+ return nil if addressee_data.nil?
180
+
181
+ address_data = addressee_data[:address]
182
+
183
+ new_element(element_name).tap do |do_parcel_address|
184
+ add_element_to(do_parcel_address, 'ns2:recordID', value: addressee_data[:addressee_id]) # Nepovinne: Interni oznaceni adresata
185
+ add_element_to(do_parcel_address, 'ns2:firstName', value: address_data[:first_name]) # Nepovinne: Jmeno
186
+ add_element_to(do_parcel_address, 'ns2:surname', value: address_data[:last_name]) # Nepovinne: Prijmeni
187
+ add_element_to(do_parcel_address, 'ns2:companyName', value: address_data[:company_name]) # Nepovinne: Nazev spolecnosti
188
+ add_element_to(do_parcel_address, 'ns2:aditionAddress', value: address_data[:addition_to_name]) # Nepovinne: Doplnujici iformace k nazvu podavatele
189
+
190
+ add_element_to(do_parcel_address, 'ns2:subject', value: addressee_data[:addressee_type]) # Nepovinne: Typ adresata
191
+ add_element_to(do_parcel_address, 'ns2:ic', value: addressee_data[:ic]) # Nepovinne: ICO
192
+ add_element_to(do_parcel_address, 'ns2:dic', value: addressee_data[:dic]) # Nepovinne: DIC
193
+ add_element_to(do_parcel_address, 'ns2:specification', value: addressee_data[:addressee_specification]) # Nepovinne: Specifikace napr. datum narozeni
194
+
195
+ add_element_to(do_parcel_address, 'ns2:street', value: address_data[:street]) # Nepovinne: Ulice
196
+ add_element_to(do_parcel_address, 'ns2:houseNumber', value: address_data[:house_number]) # Nepovinne: Cislo popisne
197
+ add_element_to(do_parcel_address, 'ns2:sequenceNumber', value: address_data[:sequence_number]) # Nepovinne: Cislo orientacni
198
+ add_element_to(do_parcel_address, 'ns2:partCity', value: address_data[:city_part]) # Nepovinne: Cast obce
199
+ add_element_to(do_parcel_address, 'ns2:city', value: address_data[:city]) # Nepovinne: Obec
200
+ add_element_to(do_parcel_address, 'ns2:zipCode', value: address_data[:post_code]) # Nepovinne: PSC
201
+ add_element_to(do_parcel_address, 'ns2:isoCountry', value: address_data[:country_iso_code]) # Nepovinne, default 'CZ': ISO kod zeme
202
+ add_element_to(do_parcel_address, 'ns2:subIsoCountry', value: address_data[:subcountry_iso_code]) # Nepovinne: ISO kod uzemi
203
+
204
+ add_bank_elements(do_parcel_address, addressee_data[:bank_account]) # Nepovinne. Kod banky, cislo a predcisli uctu
205
+ add_contact_elements(do_parcel_address, addressee_data) # Nepovinne. Telefon, Mobil a Email
206
+
207
+ add_element_to(do_parcel_address, 'ns2:custCardNum', value: addressee_data[:custom_card_number]) # Nepovinne: cislo zakaznicke karty
208
+
209
+ (addressee_data[:advice_informations] || []).each_with_index do |adv_info, index|
210
+ add_element_to(do_parcel_address, 'ns2:adviceInformation' + (index + 1).to_s, value: adv_info) # Nepovinne: Informace 1- 6 k dodejce
211
+ end
212
+ add_element_to(do_parcel_address, 'ns2:adviceNote', value: addressee_data[:advice_note]) # Nepovinne: Poznamka k dodejce
213
+ end
214
+ end
215
+
216
+ def do_parcel_customs_declaration
217
+ declaration_data = parcel[:custom_declaration]
218
+ return nil if declaration_data.nil?
219
+
220
+ new_element('ns2:doPOLParcelCustomsDeclaration').tap do |do_p_customs_declaration|
221
+ add_element_to(do_p_customs_declaration, 'ns2:category', value: declaration_data[:category]) # Kategorie zasilky
222
+ add_element_to(do_p_customs_declaration, 'ns2:note', value: declaration_data[:note]) # Nepovinne: Poznamka
223
+ add_element_to(do_p_customs_declaration, 'ns2:customValCur', value: declaration_data[:value_currency_iso_code]) # ISO kod meny celni hodnoty
224
+ add_element_to(do_p_customs_declaration, 'ns2:importerRefNum', value: declaration_data[:importer_reference_number]) # Nepovinne: Cislo dovozce
225
+
226
+ (declaration_data[:content_descriptions] || []).each do |dsc|
227
+ do_p_customs_declaration << custom_goods_for(dsc)
228
+ end
229
+ end
230
+ end
231
+
232
+ def add_customs_documents_to(parent_element)
233
+ (parcel[:customs_documents] || []).each do |doc_data| # 0-3 documents
234
+ doc_element = new_element('ns2:doPOLParcelCustomsDocument').tap do |do_p_customs_document| # VVD dokument
235
+ add_element_to(do_p_customs_document, 'ns2:recordID', value: doc_data[:record_id]) # ID Záznamu
236
+ add_element_to(do_p_customs_document, 'ns2:code', value: doc_data[:code]) # Typ
237
+ add_element_to(do_p_customs_document, 'ns2:name', value: doc_data[:name]) # Název
238
+ add_element_to(do_p_customs_document, 'ns2:id', value: doc_data[:id]) # Id
239
+ end
240
+
241
+ add_element_to(parent_element, doc_element)
242
+ end
243
+ end
244
+
245
+ def custom_goods_for(description_data)
246
+ new_element('ns2:doPOLParcelCustomsGoods').tap do |do_p_customs_goods|
247
+ add_element_to(do_p_customs_goods, 'ns2:sequence', value: description_data[:order].to_i) # Nepovinne: Poradi , cisl0 1-20
248
+ add_element_to(do_p_customs_goods, 'ns2:customCont', value: description_data[:description]) # Nepovinne: Popis zbozi
249
+ add_element_to(do_p_customs_goods, 'ns2:quantity', value: description_data[:quantity]) # Nepovinne: Mnozstvi
250
+ add_element_to(do_p_customs_goods, 'ns2:weight', value: description_data[:weight_in_kg]) # Nepovinne: Hmotnost
251
+ add_element_to(do_p_customs_goods, 'ns2:customVal', value: description_data[:value]) # Nepovinne: Celni hodnota
252
+ add_element_to(do_p_customs_goods, 'ns2:hsCode', value: description_data[:hs_code]) # Nepovinne: HS kod
253
+ add_element_to(do_p_customs_goods, 'ns2:iso', value: description_data[:origin_country_iso_code]) # Nepovinne: Zeme puvodu zbozi
254
+ end
255
+ end
256
+
257
+ def add_bank_elements(parent_element, bank_account)
258
+ return if bank_account.to_s == ''
259
+
260
+ if (m = bank_account.match(%r{(?:(\d+)-)?(\d+)\/(\d+)}))
261
+ prefix = m[1]
262
+ account = m[2]
263
+ bank = m[3]
264
+ else
265
+ prefix, account, bank = nil
266
+ end
267
+
268
+ add_element_to(parent_element, 'ns2:bank', value: bank) # Nepovinne: kod banky
269
+ add_element_to(parent_element, 'ns2:prefixAccount', value: prefix) # Nepovinne: Predcisli k uctu
270
+ add_element_to(parent_element, 'ns2:account', value: account) # Nepovinne: cislo uctu
271
+ end
272
+
273
+ def add_contact_elements(parent_element, data_hash)
274
+ add_element_to(parent_element, 'ns2:mobileNumber', value: data_hash[:mobile_phone]) # Nepovinne: Mobil
275
+ add_element_to(parent_element, 'ns2:phoneNumber', value: data_hash[:phone]) # Nepovinne: Telefon
276
+ add_element_to(parent_element, 'ns2:emailAddress', value: data_hash[:email]) # Nepovinne: Email
277
+ end
278
+
279
+ def sender_data
280
+ common_data[:sender]
281
+ end
282
+ end
283
+ end
284
+ end
285
+
286
+ # rubocop:enable Layout/LineLength, Style/AsciiComments