Skip to content

Instantly share code, notes, and snippets.

@jblac
Created February 5, 2013 10:39
Show Gist options
  • Save jblac/4713639 to your computer and use it in GitHub Desktop.
Save jblac/4713639 to your computer and use it in GitHub Desktop.
Ecs\CrmBundle\Entity\Customer:
type: entity
table: customer
repositoryClass: Ecs\CrmBundle\Entity\CustomerRepository
fields:
id:
type: integer
length: null
nullable: false
unique: true
id: true
generator:
strategy: IDENTITY
#Lead Entry Date
registerDate:
type: datetime
nullable: true
column: register_date
#sale Date
activationDate:
type: datetime
nullable: true
#First Work Auth'd date
processDate:
type: datetime
nullable: true
#First Work Completed and Captured
fwCompletionDate:
type: datetime
nullable: true
#Cancellation Date
cancellationDate:
type: datetime
nullable: true
kickbackDate:
type: datetime
nullable: true
firstName:
type: string
length: 30
nullable: false
column: first_name
middleName:
type: string
length: 30
nullable: true
unique: false
column: middle_name
lastName:
type: string
length: 30
nullable: true
unique: false
suffix:
type: string
length: 4
nullable: true
emailAddress:
type: string
length: 75
nullable: true
unique: false
column: email_address
phonePrimary:
type: string
length: 16
nullable: true
unique: false
column: phone_primary
phoneSecondary:
type: string
length: 16
nullable: true
unique: false
column: phone_secondary
address1:
type: string
length: 60
nullable: true
unique: false
address2:
type: string
length: 60
nullable: true
unique: false
city:
type: string
length: 60
nullable: true
unique: false
state:
type: string
length: 2
nullable: true
unique: false
zip:
type: string
length: 15
nullable: true
unique: false
country:
type: string
length: 2
nullable: true
unique: false
leadsourceold:
type: string
length: 255
nullable: true
processor_notes:
type: text
nullable: true
isduplicate:
type: boolean
nullable: true
membership_length:
type: string
nullable: true
lastContactDate:
type: datetime
nullable: true
lastContactAttempts:
type: integer
nullable: true
ficoTransUnion:
type: string
length: 3
nullable: true
ficoEquifax:
type: string
length: 3
nullable: true
ficoExperian:
type: string
length: 3
nullable: true
websiteUsername:
type: string
length: 255
nullable: true
websitePassword:
type: string
length: 255
nullable: true
creditScoreWebsite:
type: string
length: 255
nullable: true
creditScoreWebsiteLogin:
type: string
length: 255
nullable: true
creditScoreWebsitePassword:
type: string
length: 255
nullable: true
creditScoreWebsiteOrderNumber:
type: string
length: 255
nullable: true
creditScoreWebsiteSecretAnswer:
type: string
length: 255
nullable: true
lexingtonLawClient:
type: boolean
nullable: true
nextAppointment:
type: datetime
nullable: true
oneToMany:
customerNotes:
targetEntity: Ecs\CrmBundle\Entity\CustomerNote
mappedBy: customer
paymentMethods:
targetEntity: Ecs\CrmBundle\Entity\PaymentMethod
cascade: ["persist"]
mappedBy: customer
orphanRemoval: false
orderBy: null
purchases:
targetEntity: Ecs\CrmBundle\Entity\Purchase
cascade: ["persist"]
mappedBy: customer
orderBy: null
subscriptions:
targetEntity: Ecs\CrmBundle\Entity\Subscription
cascade: ["persist"]
mappedBy: customer
myduplicates:
targetEntity: Ecs\CrmBundle\Entity\Customer
mappedBy: duplicates
transactions:
targetEntity: Ecs\CrmBundle\Entity\Transaction
mappedBy: customer
accessLogs:
targetEntity: Ecs\CrmBundle\Entity\CustomerAccessLog
mappedBy: customer
fileUploads:
targetEntity: Ecs\CrmBundle\Entity\FileUpload
mappedBy: customer
duveraApiLogs:
targetEntity: Ecs\CrmBundle\Entity\DuveraApiLog
mappedBy: customer
workDone:
targetEntity: Ecs\CrmBundle\Entity\CustomerWorkLog
mappedBy: customer
customerActionLogs:
targetEntity: Ecs\CrmBundle\Entity\CustomerActionLog
mappedBy: customer
openCustomerLogs:
targetEntity: Ecs\CrmBundle\Entity\OpenCustomer
mappedBy: customer
customerEmails:
targetEntity: Ecs\CrmBundle\Entity\CustomerEmail
mappedBy: customer
cancellationRequests:
targetEntity: Ecs\CrmBundle\Entity\CancellationRequest
mappedBy: customer
refunds:
targetEntity: Ecs\CrmBundle\Entity\Refund
mappedBy: customer
kickbacks:
targetEntity: Ecs\CrmBundle\Entity\Kickback
mappedBy: customer
tagsRemoved:
targetEntity: Ecs\CrmBundle\Entity\TagRemoved
mappedBy: customer
manyToOne:
customerStatus:
targetEntity: Ecs\CrmBundle\Entity\CustomerStatus
nullable: true
salesRep:
targetEntity: Ecs\AgentManagerBundle\Entity\User
nullable: true
setRep:
targetEntity: Ecs\AgentManagerBundle\Entity\User
nullable: true
paralegal:
targetEntity: Ecs\AgentManagerBundle\Entity\User
nullable: true
caseManager:
targetEntity: Ecs\AgentManagerBundle\Entity\User
nullable: true
inversedBy: cmCases
salesCompany:
targetEntity: Ecs\CrmBundle\Entity\Company
nullable: true
duplicates:
targetEntity: Ecs\CrmBundle\Entity\Customer
nullable: true
inversedBy: myduplicates
leadSource:
targetEntity: Ecs\CrmBundle\Entity\LeadSource
nullable: true
inversedBy: customers
saleType:
targetEntity: Ecs\CrmBundle\Entity\SaleType
nullable: true
inversedBy: customers
lastContactBy:
targetEntity: Ecs\AgentManagerBundle\Entity\User
nullable: true
inversedBy: customers
postDateChargedStatus:
targetEntity: Ecs\CrmBundle\Entity\PostDateStatus
inversedBy: customers
duverPortfolio:
targetEntity: Ecs\CrmBundle\Entity\DuveraPortfolio
inversedBy: customers
manyToMany:
tags:
targetEntity: Ecs\CrmBundle\Entity\CustomerTag
inversedBy: customers #owning side
orderBy: {tag_order_index ASC}
joinTable:
name: customers_tags
joinColumns:
customer_id:
referencedColumnName: id
inverseJoinColumns:
customertag_id:
referencedColumnName: id
oneToOne:
customerProfile:
targetEntity: Ecs\CrmBundle\Entity\CustomerProfile
cascade: ["persist"]
spouse:
targetEntity: Ecs\CrmBundle\Entity\Customer
saleSet:
targetEntity: Ecs\CrmBundle\Entity\SaleSet
lifecycleCallbacks:
prePersist: [initRegisterDate, initCheckForDuplicates]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment