Namespace: | http://www.rowa.de/wsdl/posps |
Description: |
Web service to connect a point of sale (POS) to the pharmacy system (PS). The point
of sale acts as the client, which uses the services provided by the pharmacy system
server. See
overview
for a general introduction.
Client identificationIf several posps clients are configured to access the same server, the server has to be able to identify the clients. For example, when an article has to be delivered the server has to determine the output location for the articles ordered by a specific client. The specification provides a simple means to identify the calling client by using the posId element. This ID is previously agreed upon between client and server and stored in their configuration (by implementation-specific means which are not covered in this specification).
The posId element is only used as parameter in calls where the server cannot determine
the caller ID by other means. For example, it is used in The posId can't be used to securely authenticate the client. If authentication is required between client and server, it should be implemented on the transport level (e. g. by using TLS and certificates) or by using other standards like WS-Security. Using the posId element in the server is optional. If the server only supports one client, or if the server works the same for all clients, the server can ignore the ID. Support for different countries and regulationsThe posps web service is designed to be adapted for usage in different countries. This does not mean that implementations will have to support all countries that are supported by the specification. It is usually enough if one country is supported.
Country-specific extensions are implemented in several places of the interface. This
is done by defining elements that are of the type
An implementation must support the country-specific types of at least one country.
There may be cases where additional types are also supported. The implementation
might, for example, support several different concrete implementations of
At the moment, the specification only defines country-specific types for Germany. Monetary unitsAll monetary amounts in elements are given in the smallest unit of the currency of the country in which the sale is carried out. The amount is given without fractions. For example, in Germany prices are given in Euro-Cents, so an amount of 123 means 1.23€. Operators
The operator is the person who serves and advises the customer at the posps client.
Usually this is done by a pharmacist or a pharmacy technician. Since the posps
interface is used in circumstances where posps clients are operated by pharmacists
who are not usually working for the pharmacy where the client is installed (e. g.
service center pharmacists), a mapping from a posps operator to an operator
configured the posps server is problematic. The posps interface therefore defines no
mechanism to query, create or update operators of the the posps server. It instead
assumes that the posps client has its own mechanism for maintaining a database of
allowed operators. The operator authenticates with the client and the server is
merely informed about this by the client calling
It should also be noted that it is possible that a customer may be served by several operators consecutively in the same sale/pickup. |
Port Name: | SalePort |
Address: | http://www.rowa.de/example/sale |
Protocol: | SOAP |
Default style: | document |
Transport: | SOAP over HTTP |
A sale is described by a hierarchical data model defined by the XML Schema
posps.xsd
. The root element is
sale
. The data model is created by the server on request by the client when calling a
startSale
operation
. The client then manipulates the model by calling the various operations of the
port. The server changes the data model, inserts additional information derived from
the data, and sends the updated model back to the client.
The server is in control of the data. The client supplies new data when it calls an operation but must discard the data and accept whatever the server sends back as response as the valid form of the data. This makes it possible for the server to correct data, map it to its own native data format, or ignore unsupported information. It also prevents a divergence in the sale as seen by the client and the server.
Description: |
Adds a charge/rebate to the charges/rebates of this sale. If there already exists a charge of the given kind in the sale, the amount given is added to the existing amount. If no amount is given, the server is expected to add an amount configured on the server side, e. g. it could calculate shipping charges or use a preset night duty charge. |
SOAP Action: | http://www.rowa.de/wsdl/posps/addSaleCharge |
Input: |
SaleaddSaleChargeRequest (soap:body
, use =
literal)
parameters
[ addSaleCharge ]
|
Output: |
SaleaddSaleChargeResponse (soap:body
, use =
literal)
parameters
[ addSaleChargeResponse ]
|
Fault: |
illegalStateFault (soap:fault
, use =
literal)
parameters
[ illegalStateFault ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: |
Adds a person to the sale with the given saleId.
The person can either be a person already known to the server and referenced by a personId obtained by a person search or a new person with the data supplied by the client. It is up to the server to decide whether it should create a new entry in the server person store for a person supplied by the client. If it thinks the person data matches an existing entry, it might return the corresponding personId instead of creating a new entry.
The role the person plays in the sale depends on from where it is referenced. It
might be the customer if it is referenced by
The server responds with the updated data model. Usually, it contains a new
|
SOAP Action: | http://www.rowa.de/wsdl/posps/addSalePerson |
Input: |
SaleaddSalePersonRequest (soap:body
, use =
literal)
parameters
[ addSalePerson ]
|
Output: |
SaleaddSalePersonResponse (soap:body
, use =
literal)
parameters
[ addSalePersonResponse ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: |
Adds a position to the sale with the given saleId.
The position describes the sale of an article with a given quantity. The articleId should be taken from an article search. The position can optionally reference a prescription which prescribes the article. After a position was created, the article cannot be changed. The server creates a new positionId which is used to refer to the position. The positionId is only valid in the context of the current sale.
The server responds with the updated data model. Usually, it contains a
new |
SOAP Action: | http://www.rowa.de/wsdl/posps/addSalePosition |
Input: |
SaleaddSalePositionRequest (soap:body
, use =
literal)
parameters
[ addSalePosition ]
|
Output: |
SaleaddSalePositionResponse (soap:body
, use =
literal)
parameters
[ addSalePositionResponse ]
|
Fault: |
illegalStateFault (soap:fault
, use =
literal)
parameters
[ illegalStateFault ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: |
Adds a prescription to the sale with the given saleId.
A prescription can be referenced by one or more positions meaning that the position is sold as indicated by the prescription. This can change the price the customer has to pay for the position according to local laws. The prescription can reference to two person elements - to the patient and the physician.
The server responds with the updated data model. Usually, it contains a
new |
SOAP Action: | http://www.rowa.de/wsdl/posps/addSalePrescription |
Input: |
SaleaddSalePrescriptionRequest (soap:body
, use =
literal)
parameters
[ addSalePrescription ]
|
Output: |
SaleaddSalePrescriptionResponse (soap:body
, use =
literal)
parameters
[ addSalePrescriptionResponse ]
|
Fault: |
illegalStateFault (soap:fault
, use =
literal)
parameters
[ illegalStateFault ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: |
Closes the sale indicating that the client will not use the sale any further. After
a call to
closeSale
, the saleId must become invalid and calls which use this ID must raise an
UnknownIdFault
.
|
SOAP Action: | http://www.rowa.de/wsdl/posps/closeSale |
Input: |
SalecloseSaleRequest (soap:body
, use =
literal)
parameters
[ closeSale ]
|
Output: |
SalecloseSaleResponse (soap:body
, use =
literal)
parameters
[ closeSaleResponse ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: | Notification to the server that client has successfully delivered (dispensed) some or all packs belonging to this sale to the customer. The operation takes as parameters the position(s) and amount of packs which have been delivered. The client must only call this operation after it has ordered the articles via the Order port and the packs have been delivered and handed out to the customer. This operation is usually called only once after payment has been confirmed, but may be called multiple times, perhaps for different positions. |
SOAP Action: | http://www.rowa.de/wsdl/posps/confirmSaleDelivery |
Input: |
SaleconfirmSaleDeliveryRequest (soap:body
, use =
literal)
parameters
[ confirmSaleDelivery ]
|
Output: |
SaleconfirmSaleDeliveryResponse (soap:body
, use =
literal)
parameters
[ confirmSaleDeliveryResponse ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: |
Notification to the server about the payment process selected by the client for this sale. If the payment is canceled (the canceled parameter is true), the payment has been aborted and the customer has been given back his money. Otherwise (an "uncanceled payment"), the client has collected the total amount which the server has specified for this sale and this transaction cannot be undone any more. The client can confirm an arbitrary number of canceled payments, but once an uncanceled payment has been confirmed, there must be no more payment transactions.
After confirmation of an uncanceled payment the server will reject all changes
to the sale that would change the total with a
|
SOAP Action: | http://www.rowa.de/wsdl/posps/confirmSalePayment |
Input: |
SaleconfirmSalePaymentRequest (soap:body
, use =
literal)
parameters
[ confirmSalePayment ]
|
Output: |
SaleconfirmSalePaymentResponse (soap:body
, use =
literal)
parameters
[ confirmSalePaymentResponse ]
|
Fault: |
illegalStateFault (soap:fault
, use =
literal)
parameters
[ illegalStateFault ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: | Creates a receipt with the data of the given sale. If the sale is still incomplete (payment not confirmed), the server will not return a receipt. The format of the receipt has to be previously agreed upon by server and client. (TODO: receipt format specification) |
SOAP Action: | http://www.rowa.de/wsdl/posps/createSaleReceipt |
Input: |
SalecreateSaleReceiptRequest (soap:body
, use =
literal)
parameters
[ createSaleReceipt ]
|
Output: |
SalecreateSaleReceiptResponse (soap:body
, use =
literal)
parameters
[ createSaleReceiptResponse ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: |
Deletes the charge of the given type from the sale. |
SOAP Action: | http://www.rowa.de/wsdl/posps/deleteSaleCharge |
Input: |
SaledeleteSaleChargeRequest (soap:body
, use =
literal)
parameters
[ deleteSaleCharge ]
|
Output: |
SaledeleteSaleChargeResponse (soap:body
, use =
literal)
parameters
[ deleteSaleChargeResponse ]
|
Fault: |
illegalStateFault (soap:fault
, use =
literal)
parameters
[ illegalStateFault ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: |
Deletes the given Person from the sale. The server responds with the updated data model.
Usually, the person
is removed and perhaps the
total
is updated.
|
SOAP Action: | http://www.rowa.de/wsdl/posps/deleteSalePerson |
Input: |
SaledeleteSalePersonRequest (soap:body
, use =
literal)
parameters
[ deleteSalePerson ]
|
Output: |
SaledeleteSalePersonResponse (soap:body
, use =
literal)
parameters
[ deleteSalePersonResponse ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Fault: |
idReferencedFault (soap:fault
, use =
literal)
parameters
[ idReferencedFault ]
|
Description: |
Deletes the given position from the sale. The server responds with the updated data model.
Usually, the position is removed and the total entry has been
updated.
|
SOAP Action: | http://www.rowa.de/wsdl/posps/deleteSalePosition |
Input: |
SaledeleteSalePositionRequest (soap:body
, use =
literal)
parameters
[ deleteSalePosition ]
|
Output: |
SaledeleteSalePositionResponse (soap:body
, use =
literal)
parameters
[ deleteSalePositionResponse ]
|
Fault: |
illegalStateFault (soap:fault
, use =
literal)
parameters
[ illegalStateFault ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: |
Deletes the given prescription from the sale. The server responds with the updated data model.
Usually, the prescription element is removed.
|
SOAP Action: | http://www.rowa.de/wsdl/posps/deleteSalePrescription |
Input: |
SaledeleteSalePrescriptionRequest (soap:body
, use =
literal)
parameters
[ deleteSalePrescription ]
|
Output: |
SaledeleteSalePrescriptionResponse (soap:body
, use =
literal)
parameters
[ deleteSalePrescriptionResponse ]
|
Fault: |
illegalStateFault (soap:fault
, use =
literal)
parameters
[ illegalStateFault ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Fault: |
idReferencedFault (soap:fault
, use =
literal)
parameters
[ idReferencedFault ]
|
Description: |
Changes the data of a person previously added to the sale. The server responds with the updated data model.
Usually, the
person
and perhaps the
total
will have been updated.
|
SOAP Action: | http://www.rowa.de/wsdl/posps/editSalePerson |
Input: |
SaleeditSalePersonRequest (soap:body
, use =
literal)
parameters
[ editSalePerson ]
|
Output: |
SaleeditSalePersonResponse (soap:body
, use =
literal)
parameters
[ editSalePersonResponse ]
|
Fault: |
illegalStateFault (soap:fault
, use =
literal)
parameters
[ illegalStateFault ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: |
Changes one or more parameters of the given position. The server responds with the updated data model.
Usually, the position and the total have been updated.
|
SOAP Action: | http://www.rowa.de/wsdl/posps/editSalePosition |
Input: |
SaleeditSalePositionRequest (soap:body
, use =
literal)
parameters
[ editSalePosition ]
|
Output: |
SaleeditSalePositionResponse (soap:body
, use =
literal)
parameters
[ editSalePositionResponse ]
|
Fault: |
illegalStateFault (soap:fault
, use =
literal)
parameters
[ illegalStateFault ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: |
Changes the data of a prescription previously added to the sale. The server responds with the updated data model.
Usually, it contains an updated
prescription
entry for the changed prescription and perhaps updated
position
entries and an updated
total
entry.
|
SOAP Action: | http://www.rowa.de/wsdl/posps/editSalePrescription |
Input: |
SaleeditSalePrescriptionRequest (soap:body
, use =
literal)
parameters
[ editSalePrescription ]
|
Output: |
SaleeditSalePrescriptionResponse (soap:body
, use =
literal)
parameters
[ editSalePrescriptionResponse ]
|
Fault: |
illegalStateFault (soap:fault
, use =
literal)
parameters
[ illegalStateFault ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: |
Asks the server to enable pickup for the given sale.
If pickup is enabled, the client will be allowed to sell articles which it currently
cannot deliver. The customer can return later to the pharmacy and pick up the
articles which were not delivered. To allow this,
If the server allows pickup, it will set the
The client can try to enable pickup at any time in the sale, as long it is not too late to roll back the transaction if the server does not allow pickup. If pickup is already enabled, the call will be ignored and the server should return an unchanged data model. |
SOAP Action: | http://www.rowa.de/wsdl/posps/enableSalePickup |
Input: |
SaleenableSalePickupRequest (soap:body
, use =
literal)
parameters
[ enableSalePickup ]
|
Output: |
SaleenableSalePickupResponse (soap:body
, use =
literal)
parameters
[ enableSalePickupResponse ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: |
Asks the server to enable shipment for the given sale.
If shipment is enabled, the client will be allowed to sell articles which it currently cannot deliver. The pharmacist will send the undelivered articles to the person set by the operation. To disable shipment, pass a nil value for the personId.
If the server allows shipment, it will set the
|
SOAP Action: | http://www.rowa.de/wsdl/posps/enableSaleShipment |
Input: |
SaleenableSaleShipmentRequest (soap:body
, use =
literal)
parameters
[ enableSaleShipment ]
|
Output: |
SaleenableSaleShipmentResponse (soap:body
, use =
literal)
parameters
[ enableSaleShipmentResponse ]
|
Fault: |
illegalStateFault (soap:fault
, use =
literal)
parameters
[ illegalStateFault ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: |
Returns whether the server is currently ready to start new sales processes. If the operation
returns
false
, calls to startSale will fail. If
true
is returned, a sale may be started. The client could use this information to go into
an "out-of-order" state while the server is not ready.
The server may not be ready, for example, when a server component did not boot completely.
|
SOAP Action: | http://www.rowa.de/wsdl/posps/readyForSale |
Input: |
SalereadyForSaleRequest (soap:body
, use =
literal)
parameters
[ readyForSale ]
|
Output: |
SalereadyForSaleResponse (soap:body
, use =
literal)
parameters
[ readyForSaleResponse ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: |
Sets the customer who is served by the client.
If there is not already a person element for the customer, the server will add it to the sale. Setting the customer is optional, for a simple sale no customer data is needed. If a customer is already set when the operation is called, the old customer will be overwritten with the new one. To delete the customer from the sale, pass a nil value.
The server responds with the updated data model. Usually, it contains a
|
SOAP Action: | http://www.rowa.de/wsdl/posps/setSaleCustomer |
Input: |
SalesetSaleCustomerRequest (soap:body
, use =
literal)
parameters
[ setSaleCustomer ]
|
Output: |
SalesetSaleCustomerResponse (soap:body
, use =
literal)
parameters
[ setSaleCustomerResponse ]
|
Fault: |
illegalStateFault (soap:fault
, use =
literal)
parameters
[ illegalStateFault ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: |
Sets the pharmacist who is operating the client and serving the customer.
Setting the operator of a sale is optional since there is no operator in case of a self-service sale. If an operator is already set when the operation is called, the old operator will be overwritten with the new one. To delete the operator from the sale, pass a nil value.
The server responds with the updated data model. Usually, it contains an
|
SOAP Action: | http://www.rowa.de/wsdl/posps/setSaleOperator |
Input: |
SalesetSaleOperatorRequest (soap:body
, use =
literal)
parameters
[ setSaleOperator ]
|
Output: |
SalesetSaleOperatorResponse (soap:body
, use =
literal)
parameters
[ setSaleOperatorResponse ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: | Starts a new sale and returns its saleId. Initially, the sale is empty. A server must support multiple concurrent open sales per client. |
SOAP Action: | http://www.rowa.de/wsdl/posps/startSale |
Input: |
SalestartSaleRequest (soap:body
, use =
literal)
parameters
[ startSale ]
|
Output: |
SalestartSaleResponse (soap:body
, use =
literal)
parameters
[ startSaleResponse ]
|
Fault: |
illegalStateFault (soap:fault
, use =
literal)
parameters
[ illegalStateFault ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Port Name: | SearchPort |
Address: | http://www.rowa.de/example/search |
Protocol: | SOAP |
Default style: | document |
Transport: | SOAP over HTTP |
Searches are usually performed during a sale to look up articles and persons that are to be included in the search. Alternatively, the client can use a user interface to perform searches independently of a sale.
In order to achieve fast feedback for searches, server and client can control how
many elements from the search result are to be returned for each operation invocation. The
search...
returns the first elements of the result, and the remaining elements (if any) can be
fetched by repeatedly calling
getNextSearchResults
.
The many possibilities for which the search port can be used also means that the
server must support several concurrently open searches. The open searches are
identified by their searchResultId
. A search result is closed if
either the client has received all search result elements or it invokes
discardSearchResults
, or the server discards it after the client has
not used the search result ID for a long time. If the server has an internal limit on
the number of parallel searches and the limit is reached, it raises
a TooManySearchesFault
. The client should react by closing other
search results before starting a new search.
Description: | Discards any remaining results of a search which have not been fetched yet. The client may not use the searchId any longer after it called this operation. If the operation is called with an unknown searchId or a searchId without remaining elements, it will be ignored. |
SOAP Action: | http://www.rowa.de/wsdl/posps/discardSearchResults |
Input: |
SearchdiscardSearchResultsRequest (soap:body
, use =
literal)
parameters
[ discardSearchResults ]
|
Output: |
SearchdiscardSearchResultsResponse (soap:body
, use =
literal)
parameters
[ discardSearchResultsResponse ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: | Returns the next elements from the set of results of a search. Once all results are returned, the client must not use the searchResultId any longer. |
SOAP Action: | http://www.rowa.de/wsdl/posps/getNextSearchResults |
Input: |
SearchgetNextSearchResultsRequest (soap:body
, use =
literal)
parameters
[ getNextSearchResults ]
|
Output: |
SearchgetNextSearchResultsResponse (soap:body
, use =
literal)
parameters
[ getNextSearchResultsResponse ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: |
Searches the article database for articles matching the given pattern.
This is usually the first step when adding an article to a sale. The pharmacist
searches for an article, and the
If not all elements from the search result are returned, the remaining elements
can be requested with
|
SOAP Action: | http://www.rowa.de/wsdl/posps/searchArticle |
Input: |
SearchsearchArticleRequest (soap:body
, use =
literal)
parameters
[ searchArticle ]
|
Output: |
SearchsearchArticleResponse (soap:body
, use =
literal)
parameters
[ searchArticleResponse ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Fault: |
tooManySearchesFault (soap:fault
, use =
literal)
parameters
[ tooManySearchesFault ]
|
Description: |
Searches the person database for persons matching the given pattern. If not all
elements from the search result are returned, the remaining elements can be
requested with
getNextSearchResults
using the searchResultId returned by this operation.
|
SOAP Action: | http://www.rowa.de/wsdl/posps/searchPerson |
Input: |
SearchsearchPersonRequest (soap:body
, use =
literal)
parameters
[ searchPerson ]
|
Output: |
SearchsearchPersonResponse (soap:body
, use =
literal)
parameters
[ searchPersonResponse ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Fault: |
tooManySearchesFault (soap:fault
, use =
literal)
parameters
[ tooManySearchesFault ]
|
Port Name: | OrderPort |
Address: | http://www.rowa.de/example/order |
Protocol: | SOAP |
Default style: | document |
Transport: | SOAP over HTTP |
Instead of communicating with the robot directly to fetch sold articles, the posps service leaves it to the pharmacy system to control the article delivery. This enables the pharmacy system to correctly maintain the inventory and to implement advanced features such as reservation of items.
IMPORTANT: If the OrderPort is supported by the server, all other ports must be supported (implemented) too.
Description: |
Aborts a running order and cancels all outstanding packs.
The server should try to stop the delivery of all packs that have not
already been delivered. This will not always be possible since the server may
already have sent an order to the robot. Since some articles may still be in
delivery, the order can still be incomplete and has to be tracked to await
completion. Packs which were not delivered due to the order being aborted are
listed as failed articles with reason code
A call to abort on an already aborted order is ignored. |
SOAP Action: | http://www.rowa.de/wsdl/posps/abortOrder |
Input: |
OrderabortOrderRequest (soap:body
, use =
literal)
parameters
[ abortOrder ]
|
Output: |
OrderabortOrderResponse (soap:body
, use =
literal)
parameters
[ abortOrderResponse ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: |
Returns whether the server is currently ready to deliver articles ordered by the client.
If the operation returns
false
, calls to orderArticles and orderPickupOrders will always result in delivery errors. If
true
is returned, orders placed may or may not succeed. The client can use this
information to go into an "out-of-order" state while the server is not
ready.
|
SOAP Action: | http://www.rowa.de/wsdl/posps/acceptsOrders |
Input: |
OrderacceptsOrdersRequest (soap:body
, use =
literal)
parameters
[ acceptsOrders ]
|
Output: |
OrderacceptsOrdersResponse (soap:body
, use =
literal)
parameters
[ acceptsOrdersResponse ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: |
Requests one or more articles for delivery to the client.
The server will try to deliver the articles to the output location configured for the client. The operation returns immediately, returning an orderId which the client can use to track the status of the order. The orderId may only be valid for the client that placed the order. A client may place several orders at the same time that the server should handle in FIFO order. A server implementation should try to handle as many concurrent orders as possible, but if for some reason it currently cannot accept more orders, it raises a TooManyOrdersFault. The server must guarantee that the article delivered for an articleId matches the data (especially product and price) that the server supplies for a sale position with the same articleId. The details which data must match is dependent on the regulations of the country in which the system is used. The PS must also try as far as possible not to deliver an article that has already expired. |
SOAP Action: | http://www.rowa.de/wsdl/posps/orderArticles |
Input: |
OrderorderArticlesRequest (soap:body
, use =
literal)
parameters
[ orderArticles ]
|
Output: |
OrderorderArticlesResponse (soap:body
, use =
literal)
parameters
[ orderArticlesResponse ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Fault: |
tooManyOrdersFault (soap:fault
, use =
literal)
parameters
[ tooManyOrdersFault ]
|
Description: |
Requests a pickup order for delivery to the client.
A pickup order may consist of one or more articles. The server is responsible for assigning the pickupOrderId to the packages that have to be delivered. Either the pharmacist pre-packaged the articles into a single package or the PS orders the articles individually from the pharmacy robot. In both cases, the articles should be listed individually in the result to this call. The server will try to deliver the pack(s) to the output location configured for the client. The operation returns immediately, returning an orderId that the client can use to track the status of the order. The orderId may only be valid for the client that placed the order. A client may place several orders at the same time that the server should handle in FIFO order. A server implementation should try to handle as many concurrent orders as possible, but if for some reason it currently cannot accept more orders, it raises a TooManyOrdersFault. |
SOAP Action: | http://www.rowa.de/wsdl/posps/orderPickupOrder |
Input: |
OrderorderPickupOrderRequest (soap:body
, use =
literal)
parameters
[ orderPickupOrder ]
|
Output: |
OrderorderPickupOrderResponse (soap:body
, use =
literal)
parameters
[ orderPickupOrderResponse ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Fault: |
tooManyOrdersFault (soap:fault
, use =
literal)
parameters
[ tooManyOrdersFault ]
|
Description: |
Returns the status of an order previously placed using orderArticles or orderPickupOrder or of all
articles from this sale.
If trackOrder is requested with orderId it returns a list with the current order statuses of the ordered packs. If trackOrder is requested with saleId it returns a list with the current order statuses of all articles from this sale. The client will poll until all packs of the order/sale have been processed (either delivered or failed). The server may discard the orderId after the sale is closed or aborted. |
SOAP Action: | http://www.rowa.de/wsdl/posps/trackOrder |
Input: |
OrdertrackOrderRequest (soap:body
, use =
literal)
parameters
[ trackOrder ]
|
Output: |
OrdertrackOrderResponse (soap:body
, use =
literal)
parameters
[ trackOrderResponse ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Port Name: | PickupPort |
Address: | http://www.rowa.de/example/pickup |
Protocol: | SOAP |
Default style: | document |
Transport: | SOAP over HTTP |
A pickup is described by a hierarchical data model defined by the XML Schema
posps.xsd
. The root element is
pickup
. The data model is created by the server on request by the client when calling the
operation
startPickup
. The client then manipulates the model by calling the various operations of the
port. The server changes the data model, inserts additional information derived from
the data, and sends the updated data model back to the client.
The server is in control of the data. The client supplies new data when calling an operation but must discard the data and accept whatever the server sends back as response as the valid form of the data. This enables the server to correct data, map it to its own native data format, or ignore unsupported information. It also prevents a divergence in the pickup as seen by the client and the server.
Description: |
Closes the pickup, indicating that the client will not use the pickup any further.
After a call to
closePickup
, the pickupId must become invalid and calls which use the ID must raise an
UnknownIdFault
.
|
SOAP Action: | http://www.rowa.de/wsdl/posps/closePickup |
Input: |
PickupclosePickupRequest (soap:body
, use =
literal)
parameters
[ closePickup ]
|
Output: |
PickupclosePickupResponse (soap:body
, use =
literal)
parameters
[ closePickupResponse ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: | Notification to the server that client has successfully delivered (dispensed) the packs belonging to this pickup order to the customer. The server will set the delivered amount of all positions equal to the total amount. The client must only call this operation after it has ordered the pickup order via the Order port and the packs have been delivered and handed out to the customer. If article delivery has failed for some or all packs, the client must not confirm the delivery, but cancel this pickup order (also cancelling any payment which has already happened). The same has to be done if the ordered packs cannot be dispensed to the customer, e. g. due to a failure in the output tray hardware. |
SOAP Action: | http://www.rowa.de/wsdl/posps/confirmPickupDelivery |
Input: |
PickupconfirmPickupDeliveryRequest (soap:body
, use =
literal)
parameters
[ confirmPickupDelivery ]
|
Output: |
PickupconfirmPickupDeliveryResponse (soap:body
, use =
literal)
parameters
[ confirmPickupDeliveryResponse ]
|
Fault: |
illegalStateFault (soap:fault
, use =
literal)
parameters
[ illegalStateFault ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: |
Notification to the server that the client has successfully collected the total
amount from the customer. If the receipt is to contain information on the payment type (as it is customary done),
the payment must be confirmed before createPickupReceipt is called. If there are
problems handing out the picked-up articles afterwards, the client will give the
customer his money back and inform the server by a call to cancelPickupPayment .
|
SOAP Action: | http://www.rowa.de/wsdl/posps/confirmPickupPayment |
Input: |
PickupconfirmPickupPaymentRequest (soap:body
, use =
literal)
parameters
[ confirmPickupPayment ]
|
Output: |
PickupconfirmPickupPaymentResponse (soap:body
, use =
literal)
parameters
[ confirmPickupPaymentResponse ]
|
Fault: |
illegalStateFault (soap:fault
, use =
literal)
parameters
[ illegalStateFault ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: | Creates a receipt from the data of the given pickup. If the pickup is still incomplete (payment not confirmed), the server will not return a receipt. The format of the receipt has to be previously agreed upon by server and client. |
SOAP Action: | http://www.rowa.de/wsdl/posps/createPickupReceipt |
Input: |
PickupcreatePickupReceiptRequest (soap:body
, use =
literal)
parameters
[ createPickupReceipt ]
|
Output: |
PickupcreatePickupReceiptResponse (soap:body
, use =
literal)
parameters
[ createPickupReceiptResponse ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: |
Returns whether the server is currently ready to start new pickups. If the operation
returns
false
, calls to startSale will fail. If
true
is returned, a pickup may be started. The client might use this information to go into
an "out-of-order" state while the server is not ready. The server may not be
ready, for example, when a server component did not boot completely.
|
SOAP Action: | http://www.rowa.de/wsdl/posps/readyForPickup |
Input: |
PickupreadyForPickupRequest (soap:body
, use =
literal)
parameters
[ readyForPickup ]
|
Output: |
PickupreadyForPickupResponse (soap:body
, use =
literal)
parameters
[ readyForPickupResponse ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: |
Sets the pickup code for the pickup with the given pickupId.
Sets the customer-provided code which identifies a pickup order to the server. The customer must have earlier aquired the code by some means not specified by this interface. The specification does not define how the code is to be generated. To prevent customers from picking up pickup orders that are not meant for them, it should not be easy to guess valid codes. On the other hand, codes should not be too long so that it is not too difficult for the customer to enter it.
Codes not accepted by the server (invalid format, unknown, etc.) are reported by
|
SOAP Action: | http://www.rowa.de/wsdl/posps/setPickupCode |
Input: |
PickupsetPickupCodeRequest (soap:body
, use =
literal)
parameters
[ setPickupCode ]
|
Output: |
PickupsetPickupCodeResponse (soap:body
, use =
literal)
parameters
[ setPickupCodeResponse ]
|
Fault: |
illegalStateFault (soap:fault
, use =
literal)
parameters
[ illegalStateFault ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Fault: |
unknownPickupCodeFault (soap:fault
, use =
literal)
parameters
[ unknownPickupCodeFault ]
|
Fault: |
authenticationRejectedFault (soap:fault
, use =
literal)
parameters
[ authenticationRejectedFault ]
|
Description: |
Sets the pharmacist who is operating the client and serving the customer.
Setting the operator of a pickup is optional since there is no operator in case of a self-service sale. If an operator is already set when the operation is called, the old operator will be overwritten with the new one. To delete the operator from the pickup, pass a nil value.
The server responds with the updated the data model. Usually, it contains an
|
SOAP Action: | http://www.rowa.de/wsdl/posps/setPickupOperator |
Input: |
PickupsetPickupOperatorRequest (soap:body
, use =
literal)
parameters
[ setPickupOperator ]
|
Output: |
PickupsetPickupOperatorResponse (soap:body
, use =
literal)
parameters
[ setPickupOperatorResponse ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Description: | Starts a new pickup and returns its pickupId. Initially, the pickup is empty. A server must support multiple concurrent open pickups per client. |
SOAP Action: | http://www.rowa.de/wsdl/posps/startPickup |
Input: |
PickupstartPickupRequest (soap:body
, use =
literal)
parameters
[ startPickup ]
|
Output: |
PickupstartPickupResponse (soap:body
, use =
literal)
parameters
[ startPickupResponse ]
|
Fault: |
unknownIdFault (soap:fault
, use =
literal)
parameters
[ unknownIdFault ]
|
Fault: |
illegalStateFault (soap:fault
, use =
literal)
parameters
[ illegalStateFault ]
|
Port Name: | PospsPort |
Address: | http://www.rowa.de/example/posps |
Protocol: | SOAP |
Default style: | document |
Transport: | SOAP over HTTP |
The implementation of PospsPort is required for working with all other ports.
Description: | Returns some identification of the "location" where the posps server is installed. This information is meant to help service personnel check that the posps client is talking to the correct server. It is not supposed to be interpreted by the client software itself. For IT systems installed in the pharmacy, this operation might return the pharmacy name and address. |
SOAP Action: | http://www.rowa.de/wsdl/posps/getPospsServerIdentificationInfo |
Input: |
getPospsServerIdentificationInfoRequest (soap:body
, use =
literal)
parameters
[ getPospsServerIdentificationInfo ]
|
Output: |
getPospsServerIdentificationInfoResponse (soap:body
, use =
literal)
parameters
[ getPospsServerIdentificationInfoResponse ]
|
Description: | Returns information on the software product which implements the posps server. |
SOAP Action: | http://www.rowa.de/wsdl/posps/getPospsServerProduct |
Input: |
getPospsServerProductRequest (soap:body
, use =
literal)
parameters
[ getPospsServerProduct ]
|
Output: |
getPospsServerProductResponse (soap:body
, use =
literal)
parameters
[ getPospsServerProductResponse ]
|
Description: | Returns the name of the vendor of this posps server software. |
SOAP Action: | http://www.rowa.de/wsdl/posps/getPospsServerVendor |
Input: |
getPospsServerVendorRequest (soap:body
, use =
literal)
parameters
[ getPospsServerVendor ]
|
Output: |
getPospsServerVendorResponse (soap:body
, use =
literal)
parameters
[ getPospsServerVendorResponse ]
|
Description: | Returns the version number of the posps specification implemented by this posps server. |
SOAP Action: | http://www.rowa.de/wsdl/posps/getPospsVersion |
Input: |
getPospsVersionRequest (soap:body
, use =
literal)
parameters
[ getPospsVersion ]
|
Output: |
getPospsVersionResponse (soap:body
, use =
literal)
parameters
[ getPospsVersionResponse ]
|
Description: | Returns the list of profiles or "functionality subsets" supported by this popsps server. |
SOAP Action: | http://www.rowa.de/wsdl/posps/getSupportedPospsProfiles |
Input: |
getSupportedPospsProfilesRequest (soap:body
, use =
literal)
parameters
[ getSupportedPospsProfiles ]
|
Output: |
getSupportedPospsProfilesResponse (soap:body
, use =
literal)
parameters
[ getSupportedPospsProfilesResponse ]
|