diff --git a/docs/orders.md b/docs/orders.md
new file mode 100644
index 0000000..30a10ce
--- /dev/null
+++ b/docs/orders.md
@@ -0,0 +1,67 @@
+---
+id: orders
+title: Orders
+---
+
+## How do orders work?
+
+Orders can be created either by publishers or by advertisers through self-serve booking portal.
+
+## How to create a manual order?
+
+Manual orders can be useful when you want to set up an order for client by yourself. All manual orders are automatically approved once you've created them. Just as with orders that come from self-serve booking portal, manual orders will also show up in your advertisers self-serve portal so that they can manage creatives and see delivery stats.
+
+1. To create a manual order just go to Orders page and click **Create order**.
+2. Choose advertiser.
+3. Give a meaningful name for your order.
+4. Choose which property...
+5. Use calendar and country selector of the booking interface to request inventory availability and configure campaign line items.
+6. Click **Create** once you are happy with your selection.
+
+## How to negotiate orders?
+
+Currently we don't have negotiation functionality within Pubops, however it is on our roadmap.
+
+## How to process self-serve orders?
+
+All self-serve orders need to be reviewed before they go live. You will receive an email when a new order has been made. All orders including those that are un-reviewed will show up in the Orders page. When reviewing orders your main objective is to verify that advertiser conforms to your standards and that you can and willing to fulfill the order.
+
+If you unable or don't want to fulfill some line items, you can cancel them and approve the rest of the order. If some creatives are missing or need to be changed you can still approve the order and deal with creatives later. Line items with missing or unapproved creatives won't serve until resolved.
+
+Accepting an order will reserve inventory for all un-canceled line items.
+
+## How to edit an order?
+
+Currently we don't support editing orders. The only thing you can do is pause or cancel line items. You can also cancel the whole order and recreate it. In such cases you may want to duplicate it to speed up the process.
+
+## How to cancel a line item?
+
+Sometimes you may need to cancel some line items in yet to be approved or already approved orders. It can happen because you are unable or don't want to fulfill specific item. To do so simply click on "Cancel" in the line item's menu. All undelivered impressions will show up as credit note in the order's balance. It's your responsibility to process refunds if needed. This action cannot be undone.
+
+## How to cancel an order?
+
+To cancel an order just open the order and click **Cancel order** from the menu. All undelivered impressions will show up as credit note in the order's balance. It's your responsibility to process refunds if needed. This action cannot be undone.
+
+## How to pause a line item?
+
+Generally it's not a good idea to pause line items for direct sold campaigns because they can end up being underdelivered. If you are pausing line item because creative needs to be changed a better workflow is to disapprove that creative so that advertiser will get notified about it and revise it. For line items that are connected to your ad server, rejected creatives won't serve, and once approved will start serving again. However if you still wish to pause line items you can do so by pressing **Pause** in the line item's menu.
+
+## How to duplicate an order?
+
+Duplicating an order is often much more convenient that creating a new order especially if all you need to do is change a few parameters. To duplicate an order simply navigate to your existing order and click on **Duplicate order** in the order's menu.
+
+
+- How to invoice advertisers?
+- How to record payment?
+- How to record refund?
+- How to issue discount?
+- How to edit or delete order transactions?
+- How to change order billing settings?
+- How to record impressions and clicks for manual lime items?
+- How to use impressions tracking pixels?
+- How to use click tracking links?
+- How does creative approval process works?
+- How to add or change creatives?
+- What reports do advertiser have access to?
+- How are line items trafficked to ad servers?
+- What happens when there's a problem with ad server synchronization?
diff --git a/docs/self-serve.md b/docs/self-serve.md
new file mode 100644
index 0000000..a26de91
--- /dev/null
+++ b/docs/self-serve.md
@@ -0,0 +1,34 @@
+---
+id: self-serve
+title: Self-serve
+---
+
+A self-serve advertising platform allows advertisers to easily book and manage their ad campaigns without troubling publishers with inquiry emails, ad server trafficking, creative updates, billing and so on. This means that advertisers are able to get answers for their booking and reporting needs faster and set up campaigns in a more efficient manner. As for publishers it means that a lot of sales tasks that they were previously doing manually can now be automated. It noy only saves time for publishers but actually allows for more sales as the workflows are now much more optimized and welcoming for advertisers.
+
+## What actions can advertisers perform through self-serve platform?
+
+- See audience stats through media kit.
+- See inventory prices and availability.
+- Book campaigns.
+- Setup and update creatives.
+- Pause campaign items.
+- See campaign delivery stats.
+- See payment instructions and order balance.
+
+## Where is my self-serve portal?
+
+Each property has its own self-serve portal associated with it. A link to your property's self-serve portal can be found in the property's settings page. You probably want to put a link to self-serve portal in the footer of your website or on your "Advertise" page.
+
+:::note
+Currently all self-serve portals are accessed through pubops.io domain. Full white labeling of the portal including using your own domain is on our roadmap.
+:::
+
+## What happens when advertisers book campaigns through self-serve portal?
+
+All campaigns booked through self-serve portal need to be approved by publishers before they go live.
+
+## What campaign delivery stats are available to advertisers?
+
+Currently advertisers can see total number of delivered impressions and total number of clicks.
+
+
\ No newline at end of file
diff --git a/website/package-lock.json b/website/package-lock.json
index c0fd391..7cffa9d 100644
--- a/website/package-lock.json
+++ b/website/package-lock.json
@@ -4978,9 +4978,9 @@
"dev": true
},
"lodash.merge": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz",
- "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==",
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
"dev": true
},
"lodash.pick": {
diff --git a/website/pages/en/index.js b/website/pages/en/index.js
index 27b6268..38cd648 100644
--- a/website/pages/en/index.js
+++ b/website/pages/en/index.js
@@ -56,7 +56,6 @@ class HomeSplash extends React.Component {
-
diff --git a/website/sidebars.json b/website/sidebars.json
index 16ec4f9..b372c75 100644
--- a/website/sidebars.json
+++ b/website/sidebars.json
@@ -2,14 +2,13 @@
"publisher": {
"Guide": [
"publisher",
+ "self-serve",
"properties",
"ad-slots",
"ad-servers",
"analytics",
- "accounts"
+ "accounts",
+ "orders"
]
- },
- "advertiser": {
- "Guide": ["advertiser"]
}
}
diff --git a/website/siteConfig.js b/website/siteConfig.js
index 2500905..3f6e32c 100644
--- a/website/siteConfig.js
+++ b/website/siteConfig.js
@@ -13,8 +13,6 @@ const siteConfig = {
organizationName: 'pubops',
headerLinks: [
- {doc: 'publisher', label: 'Publisher'},
- {doc: 'advertiser', label: 'Advertiser'},
{ href: 'https://pubops.io/', label: 'Go to Pubops', external: true },
{ search: true },
],
diff --git a/website/static/css/custom.css b/website/static/css/custom.css
index 882f335..094b34c 100644
--- a/website/static/css/custom.css
+++ b/website/static/css/custom.css
@@ -18,10 +18,11 @@
.fixedHeaderContainer header .headerTitleWithLogo {
color: #f5efff;
line-height: initial;
+ font-weight: normal;
}
.fixedHeaderContainer header img {
- height: 73%;
+ height: 65%;
}
.nav-footer {