propel: property: key: { primaryKey: true, required: true, type: varchar, size: 50 } value: longvarchar # Limit length trough forms. invoice: id: series: varchar(25) number: integer # Client Details customer: varchar(100) customer_identification: varchar(50) customer_email: varchar(100) #Address invoicing_address: longvarchar shipping_address: longvarchar # Information contact_person: varchar(100) terms: longvarchar notes: longvarchar # Status issue_date: date due_date: date draft: { type: boolean, default: true } sent_by_email: { type: boolean, default: false } created_at: updated_at: # Totals base: double discount: double net: double taxes: double gross: double paid: double due: double _indexes: prefx_index: [series, number] cstnm_index: [customer] cstid_index: [customer_identification] cstml_index: [customer_email] cntct_index: [contact_person] invoice_item: id: invoice_id: { type: integer, foreignTable: invoice, foreignReference: id, onDelete: cascade } description: varchar(255) unitary_cost: double quantity: { type: integer, default: 1 } discount: { type: integer, default: 0 } invoice_item_tax: id: invoice_item_id: { type: integer, foreignTable: invoice_item, foreignReference: id, onDelete: cascade } name: varchar(50) value: double payment: id: invoice_id: { type: integer, foreignTable: invoice, foreignReference: id, onDelete: cascade } date: date amount: double notes: longvarchar sf_guard_user_profile: _attributes: { phpName: sfGuardUserProfile } id: user_id: { type: integer, foreignTable: sf_guard_user, foreignReference: id, required: true, onDelete: cascade } first_name: varchar(20) last_name: varchar(20) birthday: date nb_display_results: { type: integer, default: 10 } culture: varchar(2) search_filter: varchar(30) series: varchar(50) # # recurring PROFILES # recurring_invoice: id: series: varchar(25) name: varchar(255) # Client Details customer: varchar(100) customer_identification: varchar(50) customer_email: varchar(100) #Address invoicing_address: longvarchar shipping_address: longvarchar # Information contact_person: varchar(100) terms: longvarchar notes: longvarchar # Status days_to_due: { type: smallint, default: 30 } draft: { type: boolean, default: true } enabled: { type: boolean, default: false } # Job queueing day_of_week: varchar(3) month_period: varchar(3) day_period: varchar(4) year_period: varchar(2) starting_date: date last_execution_date: date max_occurrences: { type: integer, default: 0} occurrences: { type: integer, default: 0} created_at: updated_at: _indexes: prefx_index: [series] cstnm_index: [customer] cstid_index: [customer_identification] cstml_index: [customer_email] cntct_index: [contact_person] recurring_invoice_item: id: recurring_invoice_id: { type: integer, foreignTable: recurring_invoice, foreignReference: id, onDelete: cascade } description: varchar(255) unitary_cost: double quantity: { type: integer, default: 1 } discount: { type: integer, default: 0 } recurring_invoice_item_tax: id: recurring_invoice_item_id: { type: integer, foreignTable: recurring_invoice_item, foreignReference: id, onDelete: cascade } name: varchar(50) value: double