Teller Cash Mgmt Solution Concept

Teller Cash Mgmt Solution Concept

The following document is in draft and subject to change.

All UML Diagrams created with UMLet, attached you'll find all design files.

Proposal

A Teller could hold one of the following states:

  • inactive

    • Teller is ready to be opened

  • active

    • Teller is opened and ready to use for postings and settling

  • pending

    • Teller is settled and needs to be closed

 

To ease the reporting of Transactions and the related Teller Journal all postings are stored in the related account and an entity Transaction is created.



A Transaction could be one of the following types:

  • open

  • receipt

  • payment

  • settle

  • close

The Journal collects all related transaction information and provides a summary for the Teller.

Activity Diagram

Definition

Teller

Teller Domain Object
{ "id" : 1, "officeId" : 1 "debitAccountId" : 1, "creditAccountId" : 2, "name" : "T1-O1-D1-C2", "description" : null, "startDate" : "2014-01-01T00:00:00", "endDate" : "2014-12-31T23:59:59", "status" : "active", "hasTransactions" : true, "hasMappedCashiers" : true }

Resource /tellers

HTTP Method

Query Parameter

Request Body

Response Body

HTTP Status Code

HTTP Method

Query Parameter

Request Body

Response Body

HTTP Status Code

GET

officeId

NA

List<Teller>

200, 404, 500

POST

NA

Teller

NA

201, 400, 404, 500

Resource /tellers/{id}

HTTP Method

Query Parameter

Request Body

Response Body

HTTP Status Code

HTTP Method

Query Parameter

Request Body

Response Body

HTTP Status Code

GET

NA

NA

Teller

200, 404, 500

PUT

NA

Teller

Teller

201, 400, 404, 500

PATCH

NA

TellerChangeRequest

NA

200, 400, 404, 500

DELETE

NA

NA

NA

200, 404, 500

Class Diagram

Because of simplicity, implementations are omitted!

Cashier

Cashier Domain Object
{ "id" : 1, "officeId" : 1, "staffId" : 1, "tellerId" : 1, "descriptio" : null, "startDate" : "2014-01-01T00:00:00", "endDate" : "2014-12-31T23:59:59", "partTime" : true, "fromTime" : "08:00:00", "toTime" : "11:59:59" }

Resource /cashiers

HTTP Method

Query Parameter

Request Body

Response Body

HTTP Status Code

HTTP Method

Query Parameter

Request Body

Response Body

HTTP Status Code

GET

officeId

tellerId

statffId

date = today

NA

List<Cashier>

200, 404, 500

Resource /tellers/{id}/cashiers

HTTP Method

Query Parameter

Request Body

Response Body

HTTP Status Code

HTTP Method

Query Parameter

Request Body

Response Body

HTTP Status Code

GET

date = today

NA

List<Cashier>

200, 404, 500

POST

NA

Cashier

NA

201, 400, 404, 500