You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
EquityChangeType (Enum): Type of equity change (e.g., Dilution, Conversion).
StakeholdersAffected (Array of Stakeholder): Stakeholders affected by the scenario.
ProjectedEquityValue (Number): Projected value of equity after the scenario.
PredictedOutcome:
OutcomeDescription (String): Description of the predicted outcome.
ImpactOnStakeholders (Array of Stakeholder): The impact on each stakeholder.
4. FinancialReporting.js
Existing Fields: ReportID, Type, Data, Timestamp.
Fields to Add:
Data:
TotalRevenue (Number): Total revenue reported.
TotalExpenses (Number): Total expenses reported.
NetIncome (Number): Net income after expenses.
EquitySummary (Array of ShareClass): Summary of equity distribution and changes.
5. Communication.js
Existing Fields: To be defined.
Fields to Add:
MessageType (Enum): Specifies the type of communication (e.g., Email, SMS, System Notification).
Sender (User): The user sending the communication.
Recipient (User): The user receiving the communication.
Timestamp (Date): Date and time when the communication was sent.
Content (String): The content of the message.
6. DocumentAccess.js and DocumentRepository.js
Existing Fields: To be defined.
Fields to Add:
AccessLevel (Enum): Specifies the access level (e.g., Read, Write, Admin).
RelatedDocument (Document): The document that access is being controlled for.
User (User): The user or group that has access to the document.
Permissions (String): Specific permissions granted.
7. Investor.js
Existing Fields: To be defined.
Fields to Add:
InvestmentAmount (Number): The amount of money invested.
EquityPercentage (Number): The percentage of equity owned by the investor.
InvestorType (Enum): Specifies the type of investor (e.g., Angel, Venture Capital).
RelatedFundraisingRound (FundraisingRound): The fundraising round associated with the investment.
8. Company.js
Existing Fields: To be defined.
**Fields to
Add**:
CompanyName (String): The name of the company.
CompanyType (Enum): Specifies the type of company (e.g., Startup, Corporation).
RegisteredAddress (String): The registered address of the company.
TaxID (String): The tax identification number of the company.
IncorporationDate (Date): The date the company was incorporated.
Step 3: Link Entities and Metadata
Ensure Relationships: Link all relevant models, such as Stakeholders with EquityPlans, FundraisingRounds with ShareClasses, Documents with Activities, and Notifications with Users.
Standardize Metadata: Apply OCTA-compliant metadata to all models, particularly in DocumentRepository and DocumentAccess.
Notes to team
This revised plan explicitly identifies the fields that need to be added to each model to align with OCTA standards while integrating all the critical functionality of the original Musa Capital application, including notifications, tax calculations, equity modeling, and more with the OCTA schema.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Step 1: Schema Expansion - Detailed Field Additions
1. Stakeholder.js
stakeholderId,name,role,projectId.StakeholderRelationshipType(Enum): Specifies the relationship type (e.g., Founder, Investor).ContactInfo(Object):Email(String)Phone(String)Address(String)TaxID(String): Unique tax identifier for the stakeholder.EmailType(Enum): Specifies the type of email (e.g., Work, Personal).PhoneType(Enum): Specifies the type of phone number (e.g., Mobile, Landline).AddressType(Enum): Specifies the type of address (e.g., Home, Office).2. EquityPlanModel.js
planName,description,startDate,endDate,allocation,participants.VestingTerms(Object):VestingStartDate(Date)VestingEndDate(Date)VestingSchedule(String)PlanType(Enum): Specifies the type of equity plan (e.g., Stock Option Plan, Restricted Stock Plan).AllocationType(Enum): Defines how allocations are managed (e.g., Fixed, Performance-Based).PlanAdministrator(String): The entity responsible for managing the equity plan.3. FundraisingRoundModel.js
roundName,amountRaised,date,investors,equityGiven.RoundType(Enum): Specifies the type of fundraising round (e.g., Seed, Series A).TermsOfInvestment(String): Detailed terms for the investment, including valuation caps, discount rates, etc.ShareClassesInvolved(ArrayofShareClass): Links to specific share classes involved in the round.LegalDocuments(ArrayofDocument): References to associated legal documents.4. ShareClass.js
name,description,amountRaised,ownershipPercentage,dilutedShares,authorizedShares,shareClassId.StockClassType(Enum): Specifies the type of stock class (e.g., Common, Preferred).VotingRights(String): Details the voting rights associated with this share class.ConversionRights(String): Terms under which shares can be converted.DividendPreferences(String): Financial rights associated with dividend payments.LiquidationPreferences(String): Preferences related to liquidation events.ParValue(Number): The nominal value of the share.5. Document.js
documentId,name,metadata,uploadedBy,path,title,content.DocumentType(Enum): Specifies the type of document (e.g., Legal, Financial).FileType(Enum): Specifies the file type (e.g., PDF, DOCX).Versioning(String): Information about document versions.AccessControl(Object): Permissions and access control settings for the document.LegalSignificance(String): Metadata related to the document's legal implications.6. DocumentEmbeddingModel.js
documentId,embedding,createdAt,updatedAt.EmbeddingType(Enum): Specifies the type of embedding used.EmbeddingVersion(String): The version of the embedding algorithm.7. Activity.js
ActivityType(Enum): Type of activity (e.g., Document Upload, Stakeholder Update).Timestamp(Date): Date and time when the activity occurred.UserInvolved(User): The user involved in the activity.ChangesMade(String): Description of the changes made during the activity.RelatedObjects(ArrayofString): References to related objects (e.g., Documents, Stakeholders).8. User.js
UserRoles(ArrayofEnum): Roles assigned to the user (e.g., Admin, Editor, Viewer).Permissions(String): Permissions granted to the user based on their roles.AuditLogs(ArrayofActivity): Logs of activities performed by the user.AuthenticationMethods(String): Methods used for user authentication (e.g., Password, OAuth).Step 2: Integration of Additional Functionality
1. Notification.js
NotificationType(Enum): Specifies the type of notification (e.g., System, User-Generated).Timestamp(Date): Date and time when the notification was generated.RelatedObject(String): Reference to the related object (e.g., Document, Activity).UserInvolved(User): The user involved or targeted by the notification.2. TaxCalculator.js
ShareClassInvolved(ShareClass): Link to the share class involved in the sale.SaleAmount(Number): The amount of the sale.TaxRate(Number): Applicable tax rate.CalculatedTax(Number): The calculated tax based on the sale scenario.TaxDueDate(Date): The due date for the tax payment.3. EquitySimulator.js
EquityChangeType(Enum): Type of equity change (e.g., Dilution, Conversion).StakeholdersAffected(ArrayofStakeholder): Stakeholders affected by the scenario.ProjectedEquityValue(Number): Projected value of equity after the scenario.OutcomeDescription(String): Description of the predicted outcome.ImpactOnStakeholders(ArrayofStakeholder): The impact on each stakeholder.4. FinancialReporting.js
TotalRevenue(Number): Total revenue reported.TotalExpenses(Number): Total expenses reported.NetIncome(Number): Net income after expenses.EquitySummary(ArrayofShareClass): Summary of equity distribution and changes.5. Communication.js
MessageType(Enum): Specifies the type of communication (e.g., Email, SMS, System Notification).Sender(User): The user sending the communication.Recipient(User): The user receiving the communication.Timestamp(Date): Date and time when the communication was sent.Content(String): The content of the message.6. DocumentAccess.js and DocumentRepository.js
AccessLevel(Enum): Specifies the access level (e.g., Read, Write, Admin).RelatedDocument(Document): The document that access is being controlled for.User(User): The user or group that has access to the document.Permissions(String): Specific permissions granted.7. Investor.js
InvestmentAmount(Number): The amount of money invested.EquityPercentage(Number): The percentage of equity owned by the investor.InvestorType(Enum): Specifies the type of investor (e.g., Angel, Venture Capital).RelatedFundraisingRound(FundraisingRound): The fundraising round associated with the investment.8. Company.js
Add**:
CompanyName(String): The name of the company.CompanyType(Enum): Specifies the type of company (e.g., Startup, Corporation).RegisteredAddress(String): The registered address of the company.TaxID(String): The tax identification number of the company.IncorporationDate(Date): The date the company was incorporated.Step 3: Link Entities and Metadata
StakeholderswithEquityPlans,FundraisingRoundswithShareClasses,DocumentswithActivities, andNotificationswithUsers.DocumentRepositoryandDocumentAccess.Notes to team
This revised plan explicitly identifies the fields that need to be added to each model to align with OCTA standards while integrating all the critical functionality of the original Musa Capital application, including notifications, tax calculations, equity modeling, and more with the OCTA schema.
Beta Was this translation helpful? Give feedback.
All reactions