=Banking system:
-Server
There'll be an advanced computer (or to be more safe, a command computer) that runs the server. The data will be stored on the computer, encrypted with my super-seeeecret algorythm I use in my PHP authentication system.
Every user will have a folder that's named after it's bank account ID, and has these files:
* pwd - it contains the user's PIN number encrypted a bit different than the others
* trans - contains all the transactions, thus it's encrypted. I'll explain this later
* money - this is here just for performance reasons... the balances are calculated from the transactions on server startup for safety reasons.
* acc - this is a multi-encrypted file that contains all the preferences used in a real banking system. I'll explain this later.
-Client
There'll be other 3+1 types of computers:
* Bank automat
* Trading automat
* CCBay client (located at trading centers)
* Your personal computer with the bank-client installed on it
I'll explain them:
* Bank automat
(Note: Idk if Danny adds physical money to the game, but if there'll be, you'll be able to withdraw and deposit money)
Here you'll be able to send money to other players, pay your bills, activate your card, and manage the billing queue.
About the queue: it's a safety mechanism that allows cancelling the billings before they go to the receivers. If a receiver logs into his account and goes to the receiving queue, he can mark the transaction as locked, meaning that the sender can't cancel it. Or the receiver can cancel it if he doesn't want to receive some money

(Note: this is only available when sending money to other players. It's not available when forcibly deducting from your account, or making a CCBay payout. You can forcibly send money without waiting for a very small fee (configurable))
* Trading automat
These computers are located at the CCBay points (or smaller trading centers). There are exactly 2 of these in every trading room. I'll talk about the trading sequence later.
* CCBay client
This is the computer where you put your items'n'stuff on the CCBay network. You must supply a short name, the exact name of the item/entity/thing, and a price. There are 2 checkboxes. One of them allows bidding, the another one marks the item as special for a small fee, and puts the item on top of the listings. I'll talk about bidding later.
* Bank client (give it a clever name!)
This is just a portable combination of the bank automat (with the exception of withdrawing/depositing), and the CCBay client.
-Account file
(
keywords:
* a period: this is a real life week, from UTC+01 00:00 monday to UTC+01 23:59 sunday
)
While registering your new account, you must chose a plan for your bank account. Currently I have 3 in my mind:
* Basic
This is the account that most of the players should use. An account of this type can be used by 3 persons maximum, any higher than that is considered as a commercial account. The basic one costs in nothing, if the user has less than 15k$ per period (player-to-player transactions aren't considered as an income) (configurable), or if the user generates more than 200k$ traffic (configurable), or requests more than 60times (configurable) over a period. If this is the case, the user hase 2 options: he could pay 15$ this period (configurable), or he could upgrade to a premium account.
* Premium
This account has unlimited everything, except that this account can only be used by 1-3 persons. And it only costs 4$ per period (configurable)
(Note: the first week after registration is always free)
-Notes
* There's no point of rednet snooping, since every packet is encrypted (you can't hack it even if you have the algorythm (only some badasses can do it, but it will be detected, and tempbanned (from the system, but possibly from the server

))
* You'll have to activate the bank client at the bank automat for safety reasons.
=CCBay
CCBay is a trading system that uses the bank system. You can put your items on a list, and if someone wants to buy it, you have 3 options:
- Option#1, the trading method
You don't have to put your item in a CCBay reservoir. This means that both of you must go to a CCBay trading point, and trade the items manually.
Here's how it goes:
* Both of you find an empty trading room, and go into it. After both of you stepped on the pressure plates, the room will be separated.
* The seller drops the item in a hopper, thus preventing stealing.
* The buyer logs into his account, and presses the "pay" button.
* After successful transaction, the item is dropped into the buyer's inventory, after picking up the item, the separators disappear, and both of the players can go.. idk... away

(or the buyer can put it into his vanilla enderchest for later retrieval)
* If the transaction is cancelled, the item is dropped back into the seller's inventory.
- Option#2, the reservoir method
If the seller is at a CCBay point, he can choose an option to drop his item in the CCBay reservoir. The buying process is almost the same as in the first method, except the buyer must go into the retrieval room, and he must make the purchase there. This allows the item to be bought even if the seller is offline.
- Option#3, the bidding method
The method of item submission is the same as in the second method, except that you tick in the "allow bidding" checkbox (note: there's another checkbox that allows the item to be bought for a bigger than or equal to the desired price specified). The item has a timeout (specified at the submission screen), and after the timer timed out, the player with the highest bid wins the item. Please note, that the countdown starts on the first bidding. (note: items marked as special can't have a countdown bigger than 3 days specified (configurable))
=Online store (give it a clever name!)
This is almost the same as the CCBay systen, except that this is meant to be a "commercial" store. The store owner must register itself a commercial bank account, and register himself on the online store, where they can put their stuff on the store available for ordering/purchasing, or they could make an automated system using the Online store API.
How the API works:
There are 2 types of requests:
* Full request
This can be used to fully sync your stocks with the server. This is useful if you got/ordered/stole a bunch of items at the same type, and you don't want to spam the server with a bunch of unnecessary packets.
* Delta (partial) request
This is used to sync an entry in the store. For example, you can use this if someone bought an item, or if the factory just finished crafting the items. Please, don't spam this too often. Try to not send packets more often than one packet per two minutes. If multiple things change in that two minutes, use the full request instead.