diff --git a/src/services/components/ServiceCreatePage/ServiceCreatePage.stories.tsx b/src/services/components/ServiceCreatePage/ServiceCreatePage.stories.tsx
new file mode 100644
index 000000000..b4e1884ec
--- /dev/null
+++ b/src/services/components/ServiceCreatePage/ServiceCreatePage.stories.tsx
@@ -0,0 +1,26 @@
+import { storiesOf } from "@storybook/react";
+import React from "react";
+
+import { permissions } from "@saleor/fixtures";
+import Decorator from "@saleor/storybook/Decorator";
+import { formError } from "@saleor/storybook/misc";
+import ServiceCreatePage, { ServiceCreatePageProps } from "./ServiceCreatePage";
+
+const props: ServiceCreatePageProps = {
+ disabled: false,
+ errors: [],
+ onBack: () => undefined,
+ onSubmit: () => undefined,
+ permissions,
+ saveButtonBarState: "default"
+};
+storiesOf("Views / Services / Create service", module)
+ .addDecorator(Decorator)
+ .add("default", () => )
+ .add("loading", () => )
+ .add("form errors", () => (
+ formError(field))}
+ />
+ ));
diff --git a/src/services/components/ServiceCreatePage/ServiceCreatePage.tsx b/src/services/components/ServiceCreatePage/ServiceCreatePage.tsx
new file mode 100644
index 000000000..9105526f8
--- /dev/null
+++ b/src/services/components/ServiceCreatePage/ServiceCreatePage.tsx
@@ -0,0 +1,101 @@
+import React from "react";
+import { useIntl } from "react-intl";
+
+import AccountPermissions from "@saleor/components/AccountPermissions";
+import AccountStatus from "@saleor/components/AccountStatus";
+import AppHeader from "@saleor/components/AppHeader";
+import CardSpacer from "@saleor/components/CardSpacer";
+import { ConfirmButtonTransitionState } from "@saleor/components/ConfirmButton";
+import Container from "@saleor/components/Container";
+import Form from "@saleor/components/Form";
+import Grid from "@saleor/components/Grid";
+import PageHeader from "@saleor/components/PageHeader";
+import SaveButtonBar from "@saleor/components/SaveButtonBar";
+import { ShopInfo_shop_permissions } from "@saleor/components/Shop/types/ShopInfo";
+import { sectionNames } from "@saleor/intl";
+import { UserError } from "@saleor/types";
+import { PermissionEnum } from "@saleor/types/globalTypes";
+import ServiceInfo from "../ServiceInfo";
+
+export interface ServiceDetailsPageFormData {
+ hasFullAccess: boolean;
+ isActive: boolean;
+ name: string;
+ permissions: PermissionEnum[];
+}
+export interface ServiceCreatePageProps {
+ disabled: boolean;
+ errors: UserError[];
+ permissions: ShopInfo_shop_permissions[];
+ saveButtonBarState: ConfirmButtonTransitionState;
+ onBack: () => void;
+ onSubmit: (data: ServiceDetailsPageFormData) => void;
+}
+
+const ServiceCreatePage: React.FC = props => {
+ const {
+ disabled,
+ errors: formErrors,
+ permissions,
+ saveButtonBarState,
+ onBack,
+ onSubmit
+ } = props;
+ const intl = useIntl();
+
+ const initialForm: ServiceDetailsPageFormData = {
+ hasFullAccess: false,
+ isActive: false,
+ name: "",
+ permissions: []
+ };
+ return (
+
+ );
+};
+
+ServiceCreatePage.displayName = "ServiceCreatePage";
+export default ServiceCreatePage;
diff --git a/src/services/components/ServiceCreatePage/index.ts b/src/services/components/ServiceCreatePage/index.ts
new file mode 100644
index 000000000..c02c29357
--- /dev/null
+++ b/src/services/components/ServiceCreatePage/index.ts
@@ -0,0 +1,2 @@
+export { default } from "./ServiceCreatePage";
+export * from "./ServiceCreatePage";