Summary: | Integrating a cash register system into Koha: An Example | ||
---|---|---|---|
Product: | Koha | Reporter: | Lari Taskula <lari.taskula> |
Component: | Patrons | Assignee: | Bugs List <koha-bugs> |
Status: | CLOSED WONTFIX | QA Contact: | Testopia <testopia> |
Severity: | new feature | ||
Priority: | P5 - low | CC: | gmcharlt, hector.hecaxmmx, kyle.m.hall, lisettepalouse+koha, martin.renvoize |
Version: | Main | ||
Hardware: | All | ||
OS: | All | ||
See Also: |
http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=6934 http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=11373 https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=13985 |
||
Change sponsored?: | --- | Patch complexity: | --- |
Documentation contact: | Documentation submission: | ||
Text to go in the release notes: | Version(s) released in: | ||
Bug Depends on: | 14698 | ||
Bug Blocks: | |||
Attachments: | Bug 15654: Integrate cash register system into Koha (An Example: case CPU) |
Description
Lari Taskula
2016-01-25 13:31:10 UTC
Created attachment 47256 [details] [review] Bug 15654: Integrate cash register system into Koha (An Example: case CPU) Integrates Koha with cash register system. Adds "payments_transactions" and "payments_transactions_accountlines" database tables to hold the cash register system payments. Adds REST API endpoints - /api/v1/pos/cpu/100 GET information about a payment - /api/v1/pos/cpu/100/report POST to tell Koha that payment is completed / cancelled. Adds some configurations for the integration to koha-conf. Intranet template modifications for the integration. After payment is sent to the cash register server, a loading screen is shown until the payment is either completed or cancelled at the cash register. Adds system preferences to enable/disable the integration and to map Koha fines to codes recognized by the cash register (as YAML-config). Ability to set SSL certificates for the connection between Koha server and the cash register server. ----------------------------------------------------------------------- Step by step how it works: - Borrower wants to pay fines. - Librarian confirms to pay the fines. - Payment is created into payments_transactions. The selected accountlines related to this payment are stored into payments_transactions_accountlines. - A new loading screen opens. An Ajax call is made to Koha server. - Koha receives the call and starts to go through the selected payments. - Koha "translates" Koha-fine-types (accounttypes) into codes recognized by the cash register and forms a JSON object for the payment. - JSON is sent as a long polling request to cash register server. - Librarian completes payment at cash register. Koha receives a response. - Ajax call gets an response and tells the librarian whether the payment was completed/cancelled. - REST API receives a message from the cash register server. The message tells whether the payment was completed/cancelled. According to this information, the payment at "payments_transactions" table gets an updated status. - Librarian is forwarded into Account tab of Borrower's Fines. If the payment was paid, it should be now shown. ----------------------------------------------------------------------- THIS PATCH ONLY SUPPORTS OUR LOCAL PROVIDER. It is provided as an example in hope to start discussion whether a feature like this is wanted in the Koha community. This patch cannot easily be tested with the actual cash register server, because the server is not open source. However, if you wish to proceed into actually testing the integration, leave a comment in Bug 15654 and we can discuss it further. One possibility would be to create a simple script that responds the way the integration expects. |