#ifndef _teller_h
#define _teller_h
#include <queue>
#include "customer.h"
#include <string>
class Market_Simulation;
class Teller
{
public:
	Teller();
	bool is_free() const;
	void start_transaction(Customer*,unsigned long,Market_Simulation&);
	void end_transaction(unsigned long);
	void print_local_stats(Market_Simulation&,std::string);
	static void print_qlobal_stats(Market_Simulation&);
	std::queue<Customer*> Customer_queue;

private:
	long time_transaction_ends;
	bool free;
	int id;
	Customer* current_customer;

	long total_number_of_items_this;
	long total_waiting_time_this;
	long total_free_time_this;
	int  total_number_of_customers_this;

	static long total_number_of_items;
	static long total_waiting_time;
	static long total_free_time;
	static int total_number_of_customers;
};
#endif
