Skip to content

Commit

Permalink
Add a list of core entity schemas
Browse files Browse the repository at this point in the history
  • Loading branch information
anttiviljami committed Nov 4, 2024
1 parent 277d38e commit ab60e46
Show file tree
Hide file tree
Showing 6 changed files with 136 additions and 16 deletions.
2 changes: 1 addition & 1 deletion docs/360-portal/_category_.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"label": "epilot portal",
"label": "360 Portal",
"position": 4
}
18 changes: 3 additions & 15 deletions docs/entities/flexible-entities.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
sidebar_position: 1
sidebar_position: 0
---

# Flexible Entities
Expand All @@ -17,21 +17,9 @@ Each entity can contain arbitrary JSON data, which is made accessible via the En

## Schemas

Schemas represent different types of entities in epilot.
Schemas are used to define the structure of entities and how they are represented in the UI.

Examples of Entity Schemas:

- Contact
- Account
- Product
- Price
- Submission
- Order
- Opportunity
- File
- Message

The primary purpose of schemas is to control how the flexible entities are represented in the epilot portal UI.
View full [List of Schemas](/docs/entities/schemas-list) page for more info.

## Attributes

Expand Down
113 changes: 113 additions & 0 deletions docs/entities/schemas-list.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
---
sidebar_position: 1
title: Schemas
---

import Icon from '@site/src/components/Icon';

# List of Schemas

## Customer Relations

### <Icon name="contact" size={28} style={{ position: 'relative', top: '4px' }} /> Contact

Contacts store details about customers or individuals managed by the epilot organization.

### <Icon name="account" size={28} style={{ position: 'relative', top: '4px' }} /> Account

Accounts store details about companies. Contacts can be linked to an account to represent a business customer.

### <Icon name="partner" size={28} style={{ position: 'relative', top: '4px' }} /> Partner

Partners store details about collaborating third parties, such as installation partners, OEMs and other business partners.

### <Icon name="request" size={28} style={{ position: 'relative', top: '4px' }} /> Request

Requests store customer-initiated service requests or inquiries, usually submitted through contact forms or support channels.

## Sales

### <Icon name="opportunity" size={28} style={{ position: 'relative', top: '4px' }} /> Opportunity

Opportunities store details about sales leads or product inquiries usually made through journeys.

### <Icon name="order" size={28} style={{ position: 'relative', top: '4px' }} /> Order

Orders store details about requested products, pricing and past orders placed by customers.

### Product Hub

### <Icon name="product" size={28} style={{ position: 'relative', top: '4px' }} /> Product

Products represent services or products sold by the epilot organization.

### <Icon name="price" size={28} style={{ position: 'relative', top: '4px' }} /> Price

Prices configure the pricing models for products.

### <Icon name="tax" size={28} style={{ position: 'relative', top: '4px' }} /> Tax

Taxes represent the tax rates applied to prices.

### <Icon name="calculator" size={28} style={{ position: 'relative', top: '4px' }} /> Coupon

Coupons represent discounts or promotions that can be applied to products.


## Contracts

### <Icon name="contract" size={28} style={{ position: 'relative', top: '4px' }} /> Contract

Contracts store details about service agreements, tariffs and other agreements between customers and the epilot organization.

### <Icon name="entity" size={28} style={{ position: 'relative', top: '4px' }} /> Billing Event

Billing events store records of financial transactions, including payments, invoices, and credit notes.

### <Icon name="meter" size={28} style={{ position: 'relative', top: '4px' }} /> Meter

Meters store details about power, gas or water or other devices used to meter consumption.

### <Icon name="meter" size={28} style={{ position: 'relative', top: '4px' }} /> Meter Counter

Meter counters represent the counters used in meter devices, allowing separate tracking for different consumption types or purposes, such as peak and off-peak energy usage.

## Journeys

### <Icon name="journey" size={28} style={{ position: 'relative', top: '4px' }} /> Journey

Journeys contain the configuration of a customer journey, which is used to collect data from customers.

### <Icon name="submission" size={28} style={{ position: 'relative', top: '4px' }} /> Submission

Submissions store raw data collected from Journeys or other outside data sources into epilot.


## Messaging

### <Icon name="message" size={28} style={{ position: 'relative', top: '4px' }} /> Message

Messages are email communications sent and received through the epilot platform.

### <Icon name="entity" size={28} style={{ position: 'relative', top: '4px' }} /> Thread

Threads represent a conversation that groups multiple email messages together.

### <Icon name="entity" size={28} style={{ position: 'relative', top: '4px' }} /> Email Template

Email templates are used as templates containing variables for emails sent from epilot.

## System

### <Icon name="file" size={28} style={{ position: 'relative', top: '4px' }} /> File

Files store details about documents, images, templates and other files uploaded to the epilot platform.

### <Icon name="comment" size={28} style={{ position: 'relative', top: '4px' }} /> Comment

Comments allow users to add notes and have discussions across the platform.

### <Icon name="portal" size={28} style={{ position: 'relative', top: '4px' }} /> Portal User

Portal users are users registered to use end customer portals or installer portals.

10 changes: 10 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
"@docusaurus/plugin-content-docs": "2.0.0-beta.15",
"@docusaurus/preset-classic": "2.0.0-beta.15",
"@edno/docusaurus2-graphql-doc-generator": "^1.9.0",
"@epilot360/icons": "^1.16.7",
"@graphql-tools/url-loader": "^7.9.1",
"@mdx-js/react": "^1.6.21",
"@svgr/webpack": "^5.5.0",
Expand Down
8 changes: 8 additions & 0 deletions src/components/Icon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import { EpilotIcon } from '@epilot360/icons';
import React from 'react';

const Icon = (props: React.ComponentProps<typeof EpilotIcon>) => {
return <EpilotIcon {...props} />;
};

export default Icon;

0 comments on commit ab60e46

Please sign in to comment.