{"id":345589,"date":"2026-08-15T10:01:48","date_gmt":"2026-08-15T10:01:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/bg-couriers-for-woocommerce\/"},"modified":"2026-09-18T08:31:48","modified_gmt":"2026-09-18T08:31:48","slug":"bg-couriers","status":"publish","type":"plugin","link":"https:\/\/vi.wordpress.org\/plugins\/bg-couriers\/","author":18750600,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.4.15","stable_tag":"0.4.15","tested":"7.1.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"BG Couriers for WooCommerce","header_author":"\u0414\u0430\u043d \u0413\u043e\u0440\u044f\u0439\u043d\u043e\u0432","header_description":"Shipping with Bulgarian couriers (Speedy, Econt, BOX NOW, Pigeon, Sameday) - office\/address\/locker delivery, live rates, labels and tracking.","assets_banners_color":"43b297","last_updated":"2026-09-18 08:31:48","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/revolut.me\/danq6lus","header_plugin_uri":"https:\/\/github.com\/dangoriaynov\/bg-couriers","header_author_uri":"https:\/\/github.com\/dangoriaynov","rating":0,"author_block_rating":0,"active_installs":0,"downloads":929,"num_ratings":0,"support_threads":1,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.2.20":{"tag":"0.2.20","author":"winter2007d","date":"2026-08-15 10:01:31","revision":3648394},"0.2.21":{"tag":"0.2.21","author":"winter2007d","date":"2026-08-15 10:35:59","revision":3648445},"0.2.24":{"tag":"0.2.24","author":"winter2007d","date":"2026-08-16 08:41:30","revision":3649434},"0.2.25":{"tag":"0.2.25","author":"winter2007d","date":"2026-08-16 09:54:37","revision":3649512},"0.2.26":{"tag":"0.2.26","author":"winter2007d","date":"2026-08-16 12:59:26","revision":3649736},"0.3.0":{"tag":"0.3.0","author":"winter2007d","date":"2026-08-16 17:37:02","revision":3649975},"0.3.1":{"tag":"0.3.1","author":"winter2007d","date":"2026-08-16 19:00:27","revision":3650073},"0.3.2":{"tag":"0.3.2","author":"winter2007d","date":"2026-08-17 14:38:11","revision":3651288},"0.3.5":{"tag":"0.3.5","author":"winter2007d","date":"2026-08-17 22:33:35","revision":3651785},"0.3.6":{"tag":"0.3.6","author":"winter2007d","date":"2026-08-18 17:54:58","revision":3653356},"0.3.7":{"tag":"0.3.7","author":"winter2007d","date":"2026-08-18 19:23:25","revision":3653457},"0.3.8":{"tag":"0.3.8","author":"winter2007d","date":"2026-08-24 05:59:55","revision":3662685},"0.4.0":{"tag":"0.4.0","author":"winter2007d","date":"2026-08-27 19:28:45","revision":3669436},"0.4.1":{"tag":"0.4.1","author":"winter2007d","date":"2026-08-27 20:44:09","revision":3669502},"0.4.10":{"tag":"0.4.10","author":"winter2007d","date":"2026-09-14 21:10:48","revision":3695938},"0.4.11":{"tag":"0.4.11","author":"winter2007d","date":"2026-09-14 21:45:29","revision":3695990},"0.4.12":{"tag":"0.4.12","author":"winter2007d","date":"2026-09-16 10:58:25","revision":3698403},"0.4.14":{"tag":"0.4.14","author":"winter2007d","date":"2026-09-18 08:09:39","revision":3701563},"0.4.15":{"tag":"0.4.15","author":"winter2007d","date":"2026-09-18 08:31:48","revision":3701593},"0.4.2":{"tag":"0.4.2","author":"winter2007d","date":"2026-09-02 16:36:56","revision":3678371},"0.4.3":{"tag":"0.4.3","author":"winter2007d","date":"2026-09-03 10:25:39","revision":3679559},"0.4.5":{"tag":"0.4.5","author":"winter2007d","date":"2026-09-08 10:06:52","revision":3686365},"0.4.6":{"tag":"0.4.6","author":"winter2007d","date":"2026-09-11 19:12:12","revision":3691970},"0.4.7":{"tag":"0.4.7","author":"winter2007d","date":"2026-09-12 10:15:33","revision":3692558},"0.4.8":{"tag":"0.4.8","author":"winter2007d","date":"2026-09-12 22:24:18","revision":3693167},"0.4.9":{"tag":"0.4.9","author":"winter2007d","date":"2026-09-14 12:47:37","revision":3695239}},"upgrade_notice":{"0.4.12":"<p>A shop whose BOX NOW webhook was registered had every message refused, so parcel stages never arrived. Ask BOX NOW to send the header the settings now show, with your secret as its value.<\/p>","0.4.10":"<p>Fixes a delivery estimate that read low before a town was chosen for couriers that charge their own VAT (Speedy, Express One, Sameday) on shops with no shipping tax - the price shown could sit under the amount charged once a town was picked.<\/p>","0.4.6":"<p>Fixes a BOX NOW checkout that could not be completed: the order was refused with &quot;choose a locker&quot; over a locker already picked. Also a delivery box that sat beside the courier&#039;s name on some themes, and a set of phone fixes.<\/p>","0.4.1":"<p>A courier you had switched off was still being offered at the checkout. Automatic labels can now be set per courier, and start off for couriers that come for the parcel as soon as a waybill exists (Sameday).<\/p>","0.4.0":"<p>Adds Express One as a sixth courier. Fixes a real overcharge: a product with no weight was quoted at 100 g and posted at a kilo, on every courier. &quot;Re-issue waybill&quot; no longer fails when the courier has already voided the old one.<\/p>","0.3.8":"<p>The checkout can now require an e-mail address (off by default). A Pigeon Express parcel sent back by an uncollected delivery moves the order again.<\/p>","0.3.7":"<p>Adds &quot;Request a courier&quot; for Speedy and Econt. BOX NOW is no longer told the value of a prepaid parcel unless you enable it.<\/p>","0.3.6":"<p>Cash on delivery was never priced, so COD orders were undercharged. Deleting the plugin now removes its data.<\/p>","0.3.5":"<p>Delivery was quoted about 20% high before a town was chosen, and the map could disagree with the checkout.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3648392,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3648392,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3695935,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3695935,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.2.20","0.2.21","0.2.24","0.2.25","0.2.26","0.3.0","0.3.1","0.3.2","0.3.5","0.3.6","0.3.7","0.3.8","0.4.0","0.4.1","0.4.10","0.4.11","0.4.12","0.4.14","0.4.15","0.4.2","0.4.3","0.4.5","0.4.6","0.4.7","0.4.8","0.4.9"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3648427,"resolution":"1","location":"assets","locale":"","width":994,"height":1322},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3648427,"resolution":"2","location":"assets","locale":"","width":994,"height":1322},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3651784,"resolution":"3","location":"assets","locale":"","width":1600,"height":870},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3651784,"resolution":"4","location":"assets","locale":"","width":1600,"height":870},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3648427,"resolution":"5","location":"assets","locale":"","width":1522,"height":920},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3648427,"resolution":"6","location":"assets","locale":"","width":1600,"height":1115},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3648427,"resolution":"7","location":"assets","locale":"","width":1600,"height":296},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3648427,"resolution":"8","location":"assets","locale":"","width":1600,"height":296}},"screenshots":{"1":"Checkout: every courier with its own live price, delivery-type tabs (to office \/ to address \/ to APS locker) and searchable city and office pickers.","2":"Checkout: choosing an office - the list searches as you type, and each entry shows the full address.","3":"The interactive map: every courier's offices and lockers for a town at once, each with its own price - and, once the customer shows where they are, how far each one is and which is closest.","4":"Choosing a point: which courier, how the parcel is collected, the price, the address and how far away it is - with one button to take it.","5":"Cart: what each courier charges, before the customer reaches the checkout.","6":"Order screen: the shipment panel (waybill, print, track, cancel) and the delivery editor - courier, delivery option, town and office, changed in place.","7":"Orders list: the Waybill column - generate a label, or print, track and cancel an existing one, per order.","8":"Orders list: the shipment's current state, and when it was last checked, on hover."}},"plugin_section":[],"plugin_tags":[281404,196632,281405,175252,206280],"plugin_category":[45],"plugin_contributors":[206282],"plugin_business_model":[],"class_list":["post-345589","plugin","type-plugin","status-publish","hentry","plugin_tags-box-now","plugin_tags-econt","plugin_tags-express-one","plugin_tags-sameday","plugin_tags-speedy","plugin_category-ecommerce","plugin_contributors-winter2007d","plugin_committers-winter2007d"],"banners":{"banner":"https:\/\/ps.w.org\/bg-couriers\/assets\/banner-772x250.png?rev=3695935","banner_2x":"https:\/\/ps.w.org\/bg-couriers\/assets\/banner-1544x500.png?rev=3695935","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/bg-couriers\/assets\/icon-128x128.png?rev=3648392","icon_2x":"https:\/\/ps.w.org\/bg-couriers\/assets\/icon-256x256.png?rev=3648392","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/bg-couriers\/assets\/screenshot-1.png?rev=3648427","caption":"Checkout: every courier with its own live price, delivery-type tabs (to office \/ to address \/ to APS locker) and searchable city and office pickers."},{"src":"https:\/\/ps.w.org\/bg-couriers\/assets\/screenshot-2.png?rev=3648427","caption":"Checkout: choosing an office - the list searches as you type, and each entry shows the full address."},{"src":"https:\/\/ps.w.org\/bg-couriers\/assets\/screenshot-3.jpg?rev=3651784","caption":"The interactive map: every courier's offices and lockers for a town at once, each with its own price - and, once the customer shows where they are, how far each one is and which is closest."},{"src":"https:\/\/ps.w.org\/bg-couriers\/assets\/screenshot-4.jpg?rev=3651784","caption":"Choosing a point: which courier, how the parcel is collected, the price, the address and how far away it is - with one button to take it."},{"src":"https:\/\/ps.w.org\/bg-couriers\/assets\/screenshot-5.png?rev=3648427","caption":"Cart: what each courier charges, before the customer reaches the checkout."},{"src":"https:\/\/ps.w.org\/bg-couriers\/assets\/screenshot-6.png?rev=3648427","caption":"Order screen: the shipment panel (waybill, print, track, cancel) and the delivery editor - courier, delivery option, town and office, changed in place."},{"src":"https:\/\/ps.w.org\/bg-couriers\/assets\/screenshot-7.png?rev=3648427","caption":"Orders list: the Waybill column - generate a label, or print, track and cancel an existing one, per order."},{"src":"https:\/\/ps.w.org\/bg-couriers\/assets\/screenshot-8.png?rev=3648427","caption":"Orders list: the shipment's current state, and when it was last checked, on hover."}],"raw_content":"<!--section=description-->\n<p>BG Couriers puts Bulgaria's couriers inside WooCommerce: your customer chooses where the parcel goes and sees what that delivery costs, and you print the label and follow the parcel without leaving WordPress.<\/p>\n\n<p><strong>At the checkout<\/strong> every courier you switch on shows its own price for the basket, live from that courier's API. Your customer picks how the parcel is delivered - to an office, to an address, or to a locker\/APS - and finds the office by typing the town, or by pointing at it on one map that carries every courier's offices and lockers at once, each with its own price. The map can also say which pickup point is closest to them.<\/p>\n\n<p><strong>In the admin<\/strong> one click issues the waybill and the label - one order, or fifty of them into a single PDF (A6 labels or an A4 sheet). The plugin then keeps each shipment's status up to date by itself, and your customer sees the waybill and a tracking link on their order and in the e-mails you already send them.<\/p>\n\n<p><strong>It is free<\/strong>, GPL, and stays that way: every courier, every feature, no paid tier. Deliveries are within Bulgaria.<\/p>\n\n<p><strong>\u041d\u0430 \u0431\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438:<\/strong> \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0430 \u0441 \u043a\u0443\u0440\u0438\u0435\u0440 \u0437\u0430 WooCommerce - \u0421\u043f\u0438\u0434\u0438, \u0415\u043a\u043e\u043d\u0442, BOX NOW, Sameday (easyBox), Pigeon Express, Express One \u0438 \u0415\u0432\u0440\u043e\u043f\u044a\u0442. \u0412\u0441\u0438\u0447\u043a\u0438 \u043a\u0443\u0440\u0438\u0435\u0440\u0438 \u0432 \u0435\u0434\u0438\u043d \u043f\u043b\u044a\u0433\u0438\u043d: \u0434\u043e \u043e\u0444\u0438\u0441, \u0434\u043e \u0430\u0434\u0440\u0435\u0441 \u0438\u043b\u0438 \u0434\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442, \u043d\u0430\u043b\u043e\u0436\u0435\u043d \u043f\u043b\u0430\u0442\u0435\u0436, \u0442\u043e\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u043d\u0438\u0446\u0438 \u0438 \u0435\u0442\u0438\u043a\u0435\u0442\u0438 \u0441 \u0435\u0434\u043d\u043e \u043a\u043b\u0438\u043a\u0432\u0430\u043d\u0435, \u043f\u0440\u043e\u0441\u043b\u0435\u0434\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u043f\u0440\u0430\u0442\u043a\u0430\u0442\u0430. \u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044a\u0442 \u0435 \u0438\u0437\u0446\u044f\u043b\u043e \u043d\u0430 \u0431\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438.<\/p>\n\n<h4>Couriers<\/h4>\n\n<ul>\n<li><strong>Speedy (\u0421\u043f\u0438\u0434\u0438)<\/strong> - office \/ address \/ APS. Live rates, labels, tracking.<\/li>\n<li><strong>Econt (\u0415\u043a\u043e\u043d\u0442)<\/strong> - office \/ address \/ Econtomat. Live rates, labels, tracking, and <strong>cash on delivery (\u043d\u0430\u043b\u043e\u0436\u0435\u043d \u043f\u043b\u0430\u0442\u0435\u0436)<\/strong> with an itemised packing list.<\/li>\n<li><strong>Pigeon Express<\/strong> - office \/ address \/ locker. Live rates, labels, tracking.<\/li>\n<li><strong>Sameday<\/strong> - office \/ address \/ easyBox. Live rates, labels, tracking.<\/li>\n<li><strong>BOX NOW<\/strong> (BoxNow) - lockers (APM) only, picked by town and locker like every other courier (the towns are read off its lockers). Flat rate.<\/li>\n<li><strong>Express One<\/strong> - office \/ address \/ EXOBOX locker. Live rates, labels, tracking. The address is chosen from Express One's own street list, which is what its waybills require.<\/li>\n<li><strong>\u0415\u0432\u0440\u043e\u043f\u044a\u0442 (Evropat)<\/strong> - office \/ address. Live rates, labels, tracking. The address is chosen from \u0415\u0432\u0440\u043e\u043f\u044a\u0442's own street list, which its waybills require.<\/li>\n<\/ul>\n\n<h4>Setting it up<\/h4>\n\n<p>You need your own account with each courier you want to offer: the prices your customers see and the labels you print are your own contract's, and nothing is resold through this plugin. Once you have the API credentials, a courier takes a couple of minutes:<\/p>\n\n<ol>\n<li>Paste the credentials on that courier's tab and switch the courier on - it checks them with the courier there and then, and says so plainly if they are refused.<\/li>\n<li>Sync its towns and offices - one button.<\/li>\n<li>Add it to your <strong>Bulgaria<\/strong> shipping zone - and to the zone of any other country you deliver to.<\/li>\n<\/ol>\n\n<p>Everything else already has a working default: the prices, the map, the checkout fields and the label size all work as they ship.<\/p>\n\n<h4>Also included<\/h4>\n\n<ul>\n<li><strong>Cash on delivery (\u043d\u0430\u043b\u043e\u0436\u0435\u043d \u043f\u043b\u0430\u0442\u0435\u0436)<\/strong>, with the choice of who pays the delivery - and the amount to collect follows that choice.<\/li>\n<li>Free-shipping thresholds, per courier and per delivery type.<\/li>\n<li>Several parcels in one shipment, and insurance for a value you set (Speedy, Sameday).<\/li>\n<li>A delivery estimate on the cart page, before the customer reaches the checkout.<\/li>\n<li>Labels issued automatically when an order reaches a status you choose - or per courier, or not at all.<\/li>\n<li>Works on both the classic and the block checkout.<\/li>\n<li>Fully translated to Bulgarian.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>The plugin uses the online API of each courier <strong>you enable<\/strong>, to price a delivery, to create a label and to track a parcel. Nothing is sent to a courier you have not configured.<\/p>\n\n<h4>What is sent, and when<\/h4>\n\n<ul>\n<li><strong>Price quote<\/strong> (cart \/ checkout) - the parcel weight, the destination town or office, and the delivery type. When the customer views the shipping options.<\/li>\n<li><strong>Label<\/strong> (admin) - the recipient's name, phone, e-mail, the chosen address or office\/locker, the parcel weight, and, with cash on delivery, the amount to collect and the item list. When you generate the label.<\/li>\n<li><strong>Tracking<\/strong> - the waybill number. When tracking is opened or refreshed.<\/li>\n<\/ul>\n\n<h4>Courier APIs<\/h4>\n\n<ul>\n<li><strong>Speedy<\/strong> - <a href=\"https:\/\/api.speedy.bg\">api.speedy.bg<\/a>. <a href=\"https:\/\/www.speedy.bg\/en\/terms-and-conditions\">Terms<\/a> \u00b7 <a href=\"https:\/\/www.speedy.bg\/en\/gdpr\">Privacy<\/a><\/li>\n<li><strong>Econt<\/strong> - <a href=\"https:\/\/ee.econt.com\">ee.econt.com<\/a>. <a href=\"https:\/\/www.econt.com\/en\/terms\">Terms<\/a> \u00b7 <a href=\"https:\/\/www.econt.com\/en\/privacy-policy\">Privacy<\/a><\/li>\n<li><strong>Pigeon Express<\/strong> - <a href=\"https:\/\/api.pigeonexpress.com\">api.pigeonexpress.com<\/a> (<a href=\"https:\/\/api-demo.pigeonexpress.com\">api-demo.pigeonexpress.com<\/a> in test mode). <a href=\"https:\/\/pigeonexpress.com\/terms\">Terms<\/a> \u00b7 <a href=\"https:\/\/pigeonexpress.com\/privacy\">Privacy<\/a><\/li>\n<li><strong>Sameday<\/strong> - <a href=\"https:\/\/api.sameday.bg\">api.sameday.bg<\/a> (<a href=\"https:\/\/sameday-api-bg.demo.zitec.com\">sameday-api-bg.demo.zitec.com<\/a> in test mode). <a href=\"https:\/\/sameday.bg\/terms-and-conditions-delivery-courier-services-bg\/\">Terms<\/a> \u00b7 <a href=\"https:\/\/sameday.bg\/politika-za-poveritelnost\/\">Privacy<\/a><\/li>\n<li><strong>Express One<\/strong> - <a href=\"https:\/\/system.expressone.bg\">system.expressone.bg<\/a>. <a href=\"https:\/\/expressone.bg\/bg\/terms\">Terms<\/a> \u00b7 <a href=\"https:\/\/expressone.bg\/bg\/privacy-policy\">Privacy<\/a><\/li>\n<li><strong>BOX NOW<\/strong> - <a href=\"https:\/\/api-production.boxnow.bg\">api-production.boxnow.bg<\/a> (<a href=\"https:\/\/api-stage.boxnow.bg\">api-stage.boxnow.bg<\/a> in test mode). <a href=\"https:\/\/boxnow.bg\/terms-of-use-for-shipping-services\">Terms<\/a> \u00b7 <a href=\"https:\/\/boxnow.bg\/personal-data-processing-notice\">Privacy<\/a><\/li>\n<li><strong>\u0415\u0432\u0440\u043e\u043f\u044a\u0442 (Evropat)<\/strong> - <a href=\"https:\/\/api.evropat.com\">api.evropat.com<\/a>. <a href=\"https:\/\/evropat.bg\/terms\/\">Terms<\/a> \u00b7 <a href=\"https:\/\/evropat.bg\/%D0%9F%D0%BE%D0%BB%D0%B8%D1%82%D0%B8%D0%BA%D0%B0+%D0%B7%D0%B0+%D0%BF%D0%BE%D0%B2%D0%B5%D1%80%D0%B8%D1%82%D0%B5%D0%BB%D0%BD%D0%BE%D1%81%D1%82+%D0%BD%D0%B0+%D0%95%D0%B2%D1%80%D0%BE%D0%BF%D1%8A%D1%82\">Privacy<\/a><\/li>\n<\/ul>\n\n<h4>Maps and address lookup<\/h4>\n\n<ul>\n<li><strong>OpenStreetMap tiles<\/strong> - <a href=\"https:\/\/tile.openstreetmap.org\">tile.openstreetmap.org<\/a>. Map tiles only, loaded when the customer opens a map. <a href=\"https:\/\/operations.osmfoundation.org\/policies\/tiles\/\">Tile policy<\/a> \u00b7 <a href=\"https:\/\/wiki.osmfoundation.org\/wiki\/Privacy_Policy\">Privacy<\/a><\/li>\n<li><strong>OpenStreetMap Nominatim<\/strong> - <a href=\"https:\/\/nominatim.openstreetmap.org\">nominatim.openstreetmap.org<\/a>. One set of coordinates, turned into an address or a town name. It happens in two cases only: the customer drops a pin on the <strong>address map picker<\/strong> (a setting, <strong>off by default<\/strong>), or presses \"find me\" on the map before naming a town, so the town can be filled in for them. <a href=\"https:\/\/operations.osmfoundation.org\/policies\/nominatim\/\">Nominatim policy<\/a> \u00b7 <a href=\"https:\/\/wiki.osmfoundation.org\/wiki\/Privacy_Policy\">Privacy<\/a><\/li>\n<li><strong>Google Maps Geocoding<\/strong> - <a href=\"https:\/\/maps.googleapis.com\">maps.googleapis.com<\/a>. Takes over those same lookups, and only if you set a Google Maps API key in the settings (optional; OpenStreetMap is used if the key is empty or Google does not answer). It receives the coordinates and nothing else. <a href=\"https:\/\/cloud.google.com\/maps-platform\/terms\">Terms<\/a> \u00b7 <a href=\"https:\/\/policies.google.com\/privacy\">Privacy<\/a><\/li>\n<\/ul>\n\n<p>The map's \"closest to you\" (on by default, switchable off) works out the distances in the customer's own browser. Their position is never stored on the site and is forgotten when the page is closed.<\/p>\n\n<p>No data is sent to any service you have not configured, and the plugin sends nothing to its author.<\/p>\n\n<h3>Contributing<\/h3>\n\n<p>The plugin is developed in the open. Bugs, ideas and pull requests are welcome on <a href=\"https:\/\/github.com\/dangoriaynov\/bg-couriers\/issues\">GitHub<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/bg-couriers<\/code> (or install via the Plugins screen) and activate it. WooCommerce must be active.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Settings \u2192 BG Couriers<\/strong>.<\/li>\n<li>Open a courier's tab, enter its API credentials, click <strong>Validate<\/strong>, then <strong>Sync<\/strong> its cities\/offices.<\/li>\n<li>Add the courier's shipping method to your <strong>Bulgaria<\/strong> shipping zone (WooCommerce \u2192 Settings \u2192 Shipping), and to the zone of any other country you deliver to.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20countries%20are%20supported%3F\"><h3>Which countries are supported?<\/h3><\/dt>\n<dd><p>Bulgaria, by seven Bulgarian networks: <strong>Speedy<\/strong>, <strong>Econt<\/strong>, <strong>Pigeon Express<\/strong>, <strong>Sameday<\/strong> and <strong>Express One<\/strong> deliver to an office, to a street address or to a locker, <strong>\u0415\u0432\u0440\u043e\u043f\u044a\u0442<\/strong> to an office or a street address, and <strong>BOX NOW<\/strong> to its lockers (APM). Delivery outside Bulgaria is not offered.<\/p><\/dd>\n<dt id=\"how%20can%20i%20support%20the%20development%3F\"><h3>How can I support the development?<\/h3><\/dt>\n<dd><p>The plugin is free, GPL, and stays that way - every courier, every feature, no paid tier. If it has saved you work and you would like to put something behind it: <a href=\"https:\/\/revolut.me\/danq6lus\">revolut.me\/danq6lus<\/a>. It is entirely voluntary and changes nothing about the support you get. Reporting a bug in the <a href=\"https:\/\/wordpress.org\/support\/plugin\/bg-couriers\/\">support forum<\/a>, or leaving a review, helps just as much.<\/p><\/dd>\n<dt id=\"when%20is%20the%20waybill%20created%2C%20and%20when%20should%20it%20be%3F\"><h3>When is the waybill created, and when should it be?<\/h3><\/dt>\n<dd><p>Either when you choose, or by itself. <strong>Auto-generate labels<\/strong> (BG Couriers -&gt; General) issues the waybill the moment an order reaches the status you pick; each courier's own tab can overrule that for itself. With it off, an order shows a <strong>Generate<\/strong> button instead, and the bulk action <strong>Print waybills A4\/A6<\/strong> creates any that are missing and hands you one PDF - so you print at the packing table and the waybill is made at that moment.<\/p>\n\n<p>If the order says when it ships - a dispatch day shown at the checkout, the way the Order Delivery Date plugin records one - <strong>Wait for the dispatch day<\/strong> (General, on by default for new installs) holds the automatic waybill for the morning of that day rather than the moment of payment; the order says so in a note and the shipment panel shows the day. Generating by hand is never held back, and an order that names no day is labelled at once. Shops that were already running keep issuing at once until they tick the box. Any other source of a dispatch day can answer through the <code>bgcouriers_dispatch_time<\/code> filter.<\/p>\n\n<p>It matters more than it sounds. For most couriers a waybill is only data, and the visit is a separate request you make with <strong>Request a courier<\/strong>. <strong>Sameday has no such request<\/strong>: creating the AWB is what puts the parcel in that day's collection list, and its courier comes for it - measured within two hours. A waybill issued the moment an order is paid therefore sends a van to a parcel nobody has packed yet, the courier finds an empty counter and voids the waybill. So for couriers that behave that way this plugin leaves automatic labels <strong>off by default<\/strong>, whatever the general setting says, and you turn them on only if your parcels really are ready that early. Shops that were already running keep whatever they had.<\/p><\/dd>\n<dt id=\"do%20i%20need%20an%20account%20with%20the%20couriers%3F\"><h3>Do I need an account with the couriers?<\/h3><\/dt>\n<dd><p>Yes. Each courier requires its own API credentials, obtained from that courier. Enter them on the courier's settings tab.<\/p><\/dd>\n<dt id=\"how%20are%20prices%20calculated%3F\"><h3>How are prices calculated?<\/h3><\/dt>\n<dd><p>Live from each courier's API for the parcel weight and destination. If the API is briefly unreachable, a daily reference price (or your configured default) is used. BOX NOW uses a flat rate you set (it has no rate API).<\/p><\/dd>\n<dt id=\"does%20it%20bundle%20any%20third-party%20libraries%3F\"><h3>Does it bundle any third-party libraries?<\/h3><\/dt>\n<dd><p>Yes, and all are GPL-compatible and shipped with their source: <strong>FPDF<\/strong> (permissive) and <strong>FPDI<\/strong> (MIT) to compose label PDFs, and <strong>Leaflet<\/strong> (BSD-2-Clause) with OpenStreetMap tiles for the map picker. The courier and courier brand names are used only to identify the services the plugin integrates with; this plugin is not affiliated with or endorsed by any of them.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.4.15<\/h4>\n\n<ul>\n<li>Changed: on the plugin page, every service address (api.speedy.bg, ee.econt.com, the map providers and the rest) is a link, like the terms and privacy links beside it. Readme only, no code change.<\/li>\n<\/ul>\n\n<h4>0.4.14<\/h4>\n\n<ul>\n<li>Added: <strong>Speedy \"Send parcels from\"<\/strong> - choose the Speedy office you hand parcels in at, and every price quote and every waybill starts there (Speedy's drop-off office) instead of a courier pickup from your address. Whether that is cheaper depends on your Speedy contract; the estimate shown before a town is picked is re-quoted the moment you change it.<\/li>\n<li>Fixed: the \"Add X more for free delivery\" notice keeps the text colour your theme gives it. On a theme that paints the notice blue with white text it read dark grey on blue.<\/li>\n<\/ul>\n\n<h4>0.4.13<\/h4>\n\n<ul>\n<li>Changed: the plugin page's tags and description carry the names people search for - Express One and BOX NOW as they are written, and \u0421\u043f\u0438\u0434\u0438, \u0415\u043a\u043e\u043d\u0442 and \u0415\u0432\u0440\u043e\u043f\u044a\u0442 in Bulgarian, with a Bulgarian summary. Every courier's terms and privacy policy is a link, and the page has real headings. Readme only, no code change.<\/li>\n<\/ul>\n\n<h4>0.4.12<\/h4>\n\n<ul>\n<li>Fixed: <strong>the BOX NOW webhook accepts the header BOX NOW actually sends, and a refused message says why.<\/strong> When you register the webhook URL with BOX NOW, give them the header name X-BGC-Webhook-Secret with your secret as its value (the settings show both); a message BOX NOW signs is still accepted, as hex or Base64. A refusal now names the reason, and with debug logging on says what arrived.<\/li>\n<li>Fixed: a BOX NOW webhook message is read by its event, as BOX NOW's guide says, so a parcel waiting in the locker, in the depot or expired and on its way back lands on its own stage instead of \"in transit\".<\/li>\n<\/ul>\n\n<h4>0.4.11<\/h4>\n\n<ul>\n<li>Fixed: the \u0415\u0432\u0440\u043e\u043f\u044a\u0442 privacy-policy link now shows as a link rather than a long encoded web address.<\/li>\n<\/ul>\n\n<h4>0.4.10<\/h4>\n\n<ul>\n<li>Fixed: <strong>the estimated delivery price shown before a town is picked no longer reads about 20% low<\/strong> for a courier that charges its own VAT (Speedy, Express One, Sameday) on a shop WooCommerce adds no shipping tax to - the estimate now carries the courier's tax and matches the price once a town is chosen.<\/li>\n<li>Added: <strong>the map, and the checkout's automat dropdown, show which Sameday easyBox lockers are full and grey them out, kept live.<\/strong> A full locker cannot be chosen; \"full\" follows your parcel's size against the box's small, medium and large compartments. Only Sameday reports free compartments, and staffed points are never marked full.<\/li>\n<li>Fixed: the address map now shows a delivery as free once the order has earned free shipping, matching the checkout row instead of the ordinary per-office price.<\/li>\n<li>Fixed: the checkout block's address hide and required phone now hold on the Store API even when another plugin reads the country locale early, so an order is no longer refused for a street or town the block never showed.<\/li>\n<\/ul>\n\n<h4>0.4.9<\/h4>\n\n<ul>\n<li>Fixed: a delivery street that shares its name with another in the same town (Sofia's \u0431\u0443\u043b. \u0412\u0418\u0422\u041e\u0428\u0410 and \u0443\u043b. \u0412\u0418\u0422\u041e\u0428\u0410) is no longer refused by the courier - the order now carries the exact street. Covers Speedy, Express One, \u0415\u0432\u0440\u043e\u043f\u044a\u0442 and Pigeon, and streets chosen on the address map.<\/li>\n<li>Fixed: a Pigeon Express street can now be found in a big town (only the first page of its street list was read before).<\/li>\n<li>Checkout block: on WooCommerce's block-based checkout the courier pickers now come to life and re-price after a tab click, the address is asked once instead of twice, the phone is required in place, cash on delivery re-prices the rate, a house number typed just before Place Order is kept, and a fresh cart no longer shows refusals before anything is done.<\/li>\n<li>Added: the waybill on the order screen and the orders list now shows when it is out of date (the order changed after it was issued) and when it still needs printing.<\/li>\n<li>Fixed: the \"track this parcel\" links for BOX NOW and Sameday now open the courier's tracking page.<\/li>\n<li>Fixed: an Econt address refusal is shown in the courier's own words.<\/li>\n<li>Faster: a town's street list is fetched once a day instead of on every keystroke; town search now lists a name that starts with what you typed before one that merely contains it.<\/li>\n<li>Fixed: switching the plugin off clears its scheduled tasks; the \"Checkout dropdown results\" setting honours its default of 20.<\/li>\n<\/ul>\n\n<p>Earlier versions, and the full account of every entry above - what each fix was and how it was found - are in docs\/CHANGELOG.md in the plugin's repository.<\/p>","raw_excerpt":"Bulgaria&#039;s couriers in WooCommerce: Speedy, Econt, BOX NOW, Pigeon, Sameday, Express One, Evropat - office, address and locker delivery, live rates.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/345589","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=345589"}],"author":[{"embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/winter2007d"}],"wp:attachment":[{"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=345589"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=345589"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=345589"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=345589"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=345589"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=345589"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}