1 package OpenILS::Application::Storage::CDBI::money;
4 #-------------------------------------------------------------------------------
6 use base qw/OpenILS::Application::Storage::CDBI/;
7 #-------------------------------------------------------------------------------
9 package money::billable_transaction;
11 __PACKAGE__->table('money_billable_xact');
12 __PACKAGE__->columns(Primary => 'id');
13 __PACKAGE__->columns(Essential => qw/xact_start usr/);
14 __PACKAGE__->columns(Others => qw/xact_finish/);
15 #-------------------------------------------------------------------------------
17 package money::user_summary;
19 __PACKAGE__->table('money_user_summary');
20 __PACKAGE__->columns(Primary => 'usr');
21 __PACKAGE__->columns(Essential => qw/total_paid total_owed balance_owed/);
22 #-------------------------------------------------------------------------------
24 package money::user_circulation_summary;
26 __PACKAGE__->table('money_user_circulation_summary');
27 __PACKAGE__->columns(Primary => 'usr');
28 __PACKAGE__->columns(Essential => qw/total_paid total_owed balance_owed/);
29 #-------------------------------------------------------------------------------
31 package money::billable_transaction_summary;
33 __PACKAGE__->table('money_billable_transaction_summary');
34 __PACKAGE__->columns(Primary => 'id');
35 __PACKAGE__->columns(Essential => qw/xact_start usr xact_finish total_paid
36 last_payment_ts total_owed last_billing_ts
37 balance_owed xact_type last_billing_note last_billing_type
38 last_payment_note last_payment_type/);
39 #-------------------------------------------------------------------------------
41 package money::billing;
43 __PACKAGE__->table('money_billing');
44 __PACKAGE__->columns(Primary => 'id');
45 __PACKAGE__->columns(Essential => qw/xact amount billing_ts note voided/);
46 #-------------------------------------------------------------------------------
48 package money::payment;
50 __PACKAGE__->table('money_payment');
51 __PACKAGE__->columns(Primary => 'id');
52 __PACKAGE__->columns(Essential => qw/xact amount payment_ts payment_type/);
53 __PACKAGE__->columns(Others => qw/note/);
54 #-------------------------------------------------------------------------------
56 package money::cash_payment;
58 __PACKAGE__->table('money_cash_payment');
59 __PACKAGE__->columns(Primary => 'id');
60 __PACKAGE__->columns(Essential => qw/xact amount payment_ts cash_drawer accepting_usr amount_collected/);
61 __PACKAGE__->columns(Others => qw/note/);
62 #-------------------------------------------------------------------------------
64 package money::check_payment;
66 __PACKAGE__->table('money_check_payment');
67 __PACKAGE__->columns(Primary => 'id');
68 __PACKAGE__->columns(Essential => qw/xact amount payment_ts cash_drawer check_number accepting_usr amount_collected/);
69 __PACKAGE__->columns(Others => qw/note/);
70 #-------------------------------------------------------------------------------
72 package money::credit_card_payment;
74 __PACKAGE__->table('money_credit_card_payment');
75 __PACKAGE__->columns(Primary => 'id');
76 __PACKAGE__->columns(Essential => qw/xact amount payment_ts cash_drawer
77 accepting_usr amount_collected cc_type
78 cc_number expire_month expire_year
80 __PACKAGE__->columns(Others => 'note');
81 #-------------------------------------------------------------------------------
83 package money::forgive_payment;
85 __PACKAGE__->table('money_forgive_payment');
86 __PACKAGE__->columns(Primary => 'id');
87 __PACKAGE__->columns(Essential => qw/xact amount payment_ts accepting_usr amount_collected/);
88 __PACKAGE__->columns(Others => qw/note/);
89 #-------------------------------------------------------------------------------
91 package money::work_payment;
92 use base qw/money::forgive_payment/;
93 __PACKAGE__->table('money_work_payment');
94 #-------------------------------------------------------------------------------
96 package money::credit_payment;
97 use base qw/money::forgive_payment/;
98 __PACKAGE__->table('money_credit_payment');
100 #-------------------------------------------------------------------------------