﻿<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="PersonalLaundryModel" Alias="Self" xmlns:annotation="http://schemas.microsoft.com/ado/2009/02/edm/annotation" xmlns="http://schemas.microsoft.com/ado/2008/09/edm">
  <EntityContainer Name="PersonalLaundryEntities" annotation:LazyLoadingEnabled="true">
    <FunctionImport Name="LoginOperator" EntitySet="OperatorLogins" ReturnType="Collection(PersonalLaundryModel.OperatorLogin)">
      <Parameter Name="Username" Mode="In" Type="String" />
      <Parameter Name="Password" Mode="In" Type="String" />
    </FunctionImport>
    <FunctionImport Name="UpdateOperatorLogin" EntitySet="OperatorLogins" ReturnType="Collection(PersonalLaundryModel.OperatorLogin)">
      <Parameter Name="Username" Mode="In" Type="String" />
      <Parameter Name="Password" Mode="In" Type="String" />
      <Parameter Name="OperatorRoleId" Mode="In" Type="Int32" />
    </FunctionImport>
    <FunctionImport Name="UpdateCustomerLogin" EntitySet="CustomerLogins" ReturnType="Collection(PersonalLaundryModel.CustomerLogin)">
      <Parameter Name="CustomerId" Mode="In" Type="Int32" />
      <Parameter Name="EmailAddress" Mode="In" Type="String" />
      <Parameter Name="Password" Mode="In" Type="String" />
      <Parameter Name="IsActive" Mode="In" Type="Boolean" />
      <Parameter Name="IsLockedOut" Mode="In" Type="Boolean" />
    </FunctionImport>
    <FunctionImport Name="GetCustomerInventory" ReturnType="Collection(PersonalLaundryModel.GetCustomerInventory_Result)">
      <Parameter Name="CustomerId" Mode="In" Type="Int32" />
    </FunctionImport>
    <FunctionImport Name="UpdateCustomerInventory" EntitySet="CustomerInventories" ReturnType="Collection(PersonalLaundryModel.CustomerInventory)">
      <Parameter Name="CustomerId" Mode="In" Type="Int32" />
      <Parameter Name="InventoryItemTypeId" Mode="In" Type="Int32" />
      <Parameter Name="CostGeneralWash" Mode="In" Type="Int32" />
      <Parameter Name="CostRepeatWash" Mode="In" Type="Int32" />
      <Parameter Name="CostStainWash" Mode="In" Type="Int32" />
      <Parameter Name="OperatorLoginId" Mode="In" Type="Int32" />
    </FunctionImport>
    <FunctionImport Name="LoginCustomer" EntitySet="CustomerLogins" ReturnType="Collection(PersonalLaundryModel.CustomerLogin)">
      <Parameter Name="EmailAddress" Mode="In" Type="String" />
      <Parameter Name="Password" Mode="In" Type="String" />
      <Parameter Name="IPAddress" Mode="In" Type="String" />
    </FunctionImport>
    <FunctionImport Name="CreateWorkload" EntitySet="Workloads" ReturnType="Collection(PersonalLaundryModel.Workload)">
      <Parameter Name="CustomerLoginId" Mode="In" Type="Int32" />
      <Parameter Name="WorkloadTypeId" Mode="In" Type="Int32" />
    </FunctionImport>
    <FunctionImport Name="GetCustomerLoginFromGuid" EntitySet="CustomerLogins" ReturnType="Collection(PersonalLaundryModel.CustomerLogin)">
      <Parameter Name="Guid" Mode="In" Type="String" />
    </FunctionImport>
    <FunctionImport Name="UpdateCustomerWorkloadBag" EntitySet="CustomerWorkloadBags" ReturnType="Collection(PersonalLaundryModel.CustomerWorkloadBag)">
      <Parameter Name="CustomerLoginId" Mode="In" Type="Int32" />
      <Parameter Name="WorkloadId" Mode="In" Type="Int32" />
      <Parameter Name="UniqueReference" Mode="In" Type="String" />
    </FunctionImport>
    <EntitySet Name="BillingProfiles" EntityType="PersonalLaundryModel.BillingProfile" />
    <EntitySet Name="CustomerInventories" EntityType="PersonalLaundryModel.CustomerInventory" />
    <EntitySet Name="CustomerLogins" EntityType="PersonalLaundryModel.CustomerLogin" />
    <EntitySet Name="Customers" EntityType="PersonalLaundryModel.Customer" />
    <EntitySet Name="CustomerWorkloadBags" EntityType="PersonalLaundryModel.CustomerWorkloadBag" />
    <EntitySet Name="InventoryItems" EntityType="PersonalLaundryModel.InventoryItem" />
    <EntitySet Name="InventoryItemTypeCategories" EntityType="PersonalLaundryModel.InventoryItemTypeCategory" />
    <EntitySet Name="InventoryItemTypes" EntityType="PersonalLaundryModel.InventoryItemType" />
    <EntitySet Name="InventoryItemTypeSizes" EntityType="PersonalLaundryModel.InventoryItemTypeSize" />
    <EntitySet Name="OperatorLogins" EntityType="PersonalLaundryModel.OperatorLogin" />
    <EntitySet Name="OperatorRoles" EntityType="PersonalLaundryModel.OperatorRole" />
    <EntitySet Name="Workloads" EntityType="PersonalLaundryModel.Workload" />
    <EntitySet Name="WorkloadStatuses" EntityType="PersonalLaundryModel.WorkloadStatus" />
    <EntitySet Name="WorkloadTypes" EntityType="PersonalLaundryModel.WorkloadType" />
    <EntitySet Name="vwCustomerBagsWaitingCountings" EntityType="PersonalLaundryModel.vwCustomerBagsWaitingCounting" />
    <EntitySet Name="vwWorkloadStatusReports" EntityType="PersonalLaundryModel.vwWorkloadStatusReport" />
    <AssociationSet Name="FK_Customers_BillingProfiles" Association="PersonalLaundryModel.FK_Customers_BillingProfiles">
      <End Role="BillingProfile" EntitySet="BillingProfiles" />
      <End Role="Customer" EntitySet="Customers" />
    </AssociationSet>
    <AssociationSet Name="FK_CustomerInventory_Customer" Association="PersonalLaundryModel.FK_CustomerInventory_Customer">
      <End Role="Customer" EntitySet="Customers" />
      <End Role="CustomerInventory" EntitySet="CustomerInventories" />
    </AssociationSet>
    <AssociationSet Name="FK_CustomerInventory_InventoryItemTypes" Association="PersonalLaundryModel.FK_CustomerInventory_InventoryItemTypes">
      <End Role="InventoryItemType" EntitySet="InventoryItemTypes" />
      <End Role="CustomerInventory" EntitySet="CustomerInventories" />
    </AssociationSet>
    <AssociationSet Name="FK_CustomerInventory_OperatorLogins" Association="PersonalLaundryModel.FK_CustomerInventory_OperatorLogins">
      <End Role="OperatorLogin" EntitySet="OperatorLogins" />
      <End Role="CustomerInventory" EntitySet="CustomerInventories" />
    </AssociationSet>
    <AssociationSet Name="FK_CustomerLogins_Customers" Association="PersonalLaundryModel.FK_CustomerLogins_Customers">
      <End Role="Customer" EntitySet="Customers" />
      <End Role="CustomerLogin" EntitySet="CustomerLogins" />
    </AssociationSet>
    <AssociationSet Name="FK_WorkloadBags_CustomerLogins" Association="PersonalLaundryModel.FK_WorkloadBags_CustomerLogins">
      <End Role="CustomerLogin" EntitySet="CustomerLogins" />
      <End Role="CustomerWorkloadBag" EntitySet="CustomerWorkloadBags" />
    </AssociationSet>
    <AssociationSet Name="FK_Workloads_CustomerLogins" Association="PersonalLaundryModel.FK_Workloads_CustomerLogins">
      <End Role="CustomerLogin" EntitySet="CustomerLogins" />
      <End Role="Workload" EntitySet="Workloads" />
    </AssociationSet>
    <AssociationSet Name="FK_Customers_OperatorLogins" Association="PersonalLaundryModel.FK_Customers_OperatorLogins">
      <End Role="OperatorLogin" EntitySet="OperatorLogins" />
      <End Role="Customer" EntitySet="Customers" />
    </AssociationSet>
    <AssociationSet Name="FK_InventoryItems_Customers" Association="PersonalLaundryModel.FK_InventoryItems_Customers">
      <End Role="Customer" EntitySet="Customers" />
      <End Role="InventoryItem" EntitySet="InventoryItems" />
    </AssociationSet>
    <AssociationSet Name="FK_Workloads_Customers" Association="PersonalLaundryModel.FK_Workloads_Customers">
      <End Role="Customer" EntitySet="Customers" />
      <End Role="Workload" EntitySet="Workloads" />
    </AssociationSet>
    <AssociationSet Name="FK_WorkloadBags_Workloads" Association="PersonalLaundryModel.FK_WorkloadBags_Workloads">
      <End Role="Workload" EntitySet="Workloads" />
      <End Role="CustomerWorkloadBag" EntitySet="CustomerWorkloadBags" />
    </AssociationSet>
    <AssociationSet Name="FK_InventoryItems_InventoryItemTypes" Association="PersonalLaundryModel.FK_InventoryItems_InventoryItemTypes">
      <End Role="InventoryItemType" EntitySet="InventoryItemTypes" />
      <End Role="InventoryItem" EntitySet="InventoryItems" />
    </AssociationSet>
    <AssociationSet Name="FK_InventoryItemTypes_InventoryItemTypeCategories" Association="PersonalLaundryModel.FK_InventoryItemTypes_InventoryItemTypeCategories">
      <End Role="InventoryItemTypeCategory" EntitySet="InventoryItemTypeCategories" />
      <End Role="InventoryItemType" EntitySet="InventoryItemTypes" />
    </AssociationSet>
    <AssociationSet Name="FK_InventoryItemTypes_InventoryItemTypeSize" Association="PersonalLaundryModel.FK_InventoryItemTypes_InventoryItemTypeSize">
      <End Role="InventoryItemTypeSize" EntitySet="InventoryItemTypeSizes" />
      <End Role="InventoryItemType" EntitySet="InventoryItemTypes" />
    </AssociationSet>
    <AssociationSet Name="FK_OperatorLogins_OperatorRoles" Association="PersonalLaundryModel.FK_OperatorLogins_OperatorRoles">
      <End Role="OperatorRole" EntitySet="OperatorRoles" />
      <End Role="OperatorLogin" EntitySet="OperatorLogins" />
    </AssociationSet>
    <AssociationSet Name="FK_Workloads_OperatorLogins" Association="PersonalLaundryModel.FK_Workloads_OperatorLogins">
      <End Role="OperatorLogin" EntitySet="OperatorLogins" />
      <End Role="Workload" EntitySet="Workloads" />
    </AssociationSet>
    <AssociationSet Name="FK_Workloads_WorkloadStatus" Association="PersonalLaundryModel.FK_Workloads_WorkloadStatus">
      <End Role="WorkloadStatu" EntitySet="WorkloadStatuses" />
      <End Role="Workload" EntitySet="Workloads" />
    </AssociationSet>
    <AssociationSet Name="FK_Workloads_WorkloadTypes" Association="PersonalLaundryModel.FK_Workloads_WorkloadTypes">
      <End Role="WorkloadType" EntitySet="WorkloadTypes" />
      <End Role="Workload" EntitySet="Workloads" />
    </AssociationSet>
    <FunctionImport Name="AcceptCustomerBag" EntitySet="CustomerWorkloadBags" ReturnType="Collection(PersonalLaundryModel.CustomerWorkloadBag)">
      <Parameter Name="CustomerId" Mode="In" Type="Int32" />
      <Parameter Name="UniqueReference" Mode="In" Type="String" />
      <Parameter Name="OperatorLoginId" Mode="In" Type="Int32" />
    </FunctionImport>
    <EntitySet Name="vwWorkloadCategoryTypeCounts" EntityType="PersonalLaundryModel.vwWorkloadCategoryTypeCount" />
    <EntitySet Name="vwInventoryItemTypes" EntityType="PersonalLaundryModel.vwInventoryItemType" />
    <EntitySet Name="InvoiceItems" EntityType="PersonalLaundryModel.InvoiceItem" />
    <EntitySet Name="Invoices" EntityType="PersonalLaundryModel.Invoice" />
    <EntitySet Name="InvoiceStatuses" EntityType="PersonalLaundryModel.InvoiceStatus" />
    <AssociationSet Name="FK_Invoices_Customers" Association="PersonalLaundryModel.FK_Invoices_Customers">
      <End Role="Customer" EntitySet="Customers" />
      <End Role="Invoice" EntitySet="Invoices" />
    </AssociationSet>
    <AssociationSet Name="FK_InvoiceItems_InventoryItemTypes" Association="PersonalLaundryModel.FK_InvoiceItems_InventoryItemTypes">
      <End Role="InventoryItemType" EntitySet="InventoryItemTypes" />
      <End Role="InvoiceItem" EntitySet="InvoiceItems" />
    </AssociationSet>
    <AssociationSet Name="FK_InvoiceItems_Invoices" Association="PersonalLaundryModel.FK_InvoiceItems_Invoices">
      <End Role="Invoice" EntitySet="Invoices" />
      <End Role="InvoiceItem" EntitySet="InvoiceItems" />
    </AssociationSet>
    <AssociationSet Name="FK_InvoiceItems_OperatorLogins" Association="PersonalLaundryModel.FK_InvoiceItems_OperatorLogins">
      <End Role="OperatorLogin" EntitySet="OperatorLogins" />
      <End Role="InvoiceItem" EntitySet="InvoiceItems" />
    </AssociationSet>
    <AssociationSet Name="FK_Invoices_InvoiceStatus" Association="PersonalLaundryModel.FK_Invoices_InvoiceStatus">
      <End Role="InvoiceStatu" EntitySet="InvoiceStatuses" />
      <End Role="Invoice" EntitySet="Invoices" />
    </AssociationSet>
    <AssociationSet Name="FK_Invoices_OperatorLogins" Association="PersonalLaundryModel.FK_Invoices_OperatorLogins">
      <End Role="OperatorLogin" EntitySet="OperatorLogins" />
      <End Role="Invoice" EntitySet="Invoices" />
    </AssociationSet>
    <AssociationSet Name="FK_Invoices_Workloads" Association="PersonalLaundryModel.FK_Invoices_Workloads">
      <End Role="Workload" EntitySet="Workloads" />
      <End Role="Invoice" EntitySet="Invoices" />
    </AssociationSet>
    <FunctionImport Name="GenerateInvoiceFromWorkloadCounts" EntitySet="Invoices" ReturnType="Collection(PersonalLaundryModel.Invoice)">
      <Parameter Name="WorkloadId" Mode="In" Type="Int32" />
      <Parameter Name="OperatorLoginId" Mode="In" Type="Int32" />
    </FunctionImport>
    <FunctionImport Name="UpdateInvoiceItemCount" EntitySet="InvoiceItems" ReturnType="Collection(PersonalLaundryModel.InvoiceItem)">
      <Parameter Name="InvoiceId" Mode="In" Type="Int32" />
      <Parameter Name="InventoryItemTypeId" Mode="In" Type="Int32" />
      <Parameter Name="Count" Mode="In" Type="Int32" />
      <Parameter Name="OperatorLoginId" Mode="In" Type="Int32" />
    </FunctionImport>
    <FunctionImport Name="FinishCounting" EntitySet="Invoices" ReturnType="Collection(PersonalLaundryModel.Invoice)">
      <Parameter Name="WorkloadId" Mode="In" Type="Int32" />
      <Parameter Name="OperatorLoginId" Mode="In" Type="Int32" />
    </FunctionImport>
    <EntitySet Name="Settings" EntityType="PersonalLaundryModel.Setting" />
    <FunctionImport Name="GetInvoiceForPrinter" ReturnType="Collection(PersonalLaundryModel.GetInvoiceForPrinter_Result)">
      <Parameter Name="InvoiceId" Mode="In" Type="Int32" />
    </FunctionImport>
    <EntitySet Name="CustomerInventoryForWorkloads" EntityType="PersonalLaundryModel.CustomerInventoryForWorkload" />
    <EntitySet Name="CustomerInventoryForWorkloadCloseds" EntityType="PersonalLaundryModel.CustomerInventoryForWorkloadClosed" />
    <EntitySet Name="Dispatches" EntityType="PersonalLaundryModel.Dispatch" />
    <EntitySet Name="DispatchItems" EntityType="PersonalLaundryModel.DispatchItem" />
    <EntitySet Name="DispatchStatus" EntityType="PersonalLaundryModel.DispatchStatu" />
    <AssociationSet Name="FK_Dispatches_DispatchStatus" Association="PersonalLaundryModel.FK_Dispatches_DispatchStatus">
      <End Role="DispatchStatu" EntitySet="DispatchStatus" />
      <End Role="Dispatch" EntitySet="Dispatches" />
    </AssociationSet>
    <AssociationSet Name="FK_Dispatches_Invoices" Association="PersonalLaundryModel.FK_Dispatches_Invoices">
      <End Role="Invoice" EntitySet="Invoices" />
      <End Role="Dispatch" EntitySet="Dispatches" />
    </AssociationSet>
    <AssociationSet Name="FK_Dispatches_OperatorLogins" Association="PersonalLaundryModel.FK_Dispatches_OperatorLogins">
      <End Role="OperatorLogin" EntitySet="OperatorLogins" />
      <End Role="Dispatch" EntitySet="Dispatches" />
    </AssociationSet>
    <AssociationSet Name="FK_DispatchItems_Dispatches" Association="PersonalLaundryModel.FK_DispatchItems_Dispatches">
      <End Role="Dispatch" EntitySet="Dispatches" />
      <End Role="DispatchItem" EntitySet="DispatchItems" />
    </AssociationSet>
    <AssociationSet Name="FK_DispatchItems_InvoiceItems" Association="PersonalLaundryModel.FK_DispatchItems_InvoiceItems">
      <End Role="InvoiceItem" EntitySet="InvoiceItems" />
      <End Role="DispatchItem" EntitySet="DispatchItems" />
    </AssociationSet>
    <FunctionImport Name="DispatchItem" EntitySet="Dispatches" ReturnType="Collection(PersonalLaundryModel.Dispatch)">
      <Parameter Name="InvoiceItemId" Mode="In" Type="Int32" />
      <Parameter Name="Count" Mode="In" Type="Int32" />
      <Parameter Name="OperatorLoginId" Mode="In" Type="Int32" />
    </FunctionImport>
    <EntitySet Name="WorkloadItems" EntityType="PersonalLaundryModel.WorkloadItem" />
    <AssociationSet Name="FK_WorkloadItems_CustomerInventory" Association="PersonalLaundryModel.FK_WorkloadItems_CustomerInventory">
      <End Role="CustomerInventory" EntitySet="CustomerInventories" />
      <End Role="WorkloadItem" EntitySet="WorkloadItems" />
    </AssociationSet>
    <AssociationSet Name="FK_WorkloadItems_CustomerLogins" Association="PersonalLaundryModel.FK_WorkloadItems_CustomerLogins">
      <End Role="CustomerLogin" EntitySet="CustomerLogins" />
      <End Role="WorkloadItem" EntitySet="WorkloadItems" />
    </AssociationSet>
    <AssociationSet Name="FK_WorkloadItems_OperatorLogins" Association="PersonalLaundryModel.FK_WorkloadItems_OperatorLogins">
      <End Role="OperatorLogin" EntitySet="OperatorLogins" />
      <End Role="WorkloadItem" EntitySet="WorkloadItems" />
    </AssociationSet>
    <AssociationSet Name="FK_WorkloadItems_Workloads" Association="PersonalLaundryModel.FK_WorkloadItems_Workloads">
      <End Role="Workload" EntitySet="Workloads" />
      <End Role="WorkloadItem" EntitySet="WorkloadItems" />
    </AssociationSet>
    <FunctionImport Name="UpdateWorkloadItem" EntitySet="WorkloadItems" ReturnType="Collection(PersonalLaundryModel.WorkloadItem)">
      <Parameter Name="WorkloadId" Mode="In" Type="Int32" />
      <Parameter Name="CustomerInventoryId" Mode="In" Type="Int32" />
      <Parameter Name="Count" Mode="In" Type="Int32" />
      <Parameter Name="CustomerLoginId" Mode="In" Type="Int32" />
      <Parameter Name="OperatorLoginId" Mode="In" Type="Int32" />
    </FunctionImport>
  </EntityContainer>
  <ComplexType Name="GetCustomerInventory_Result">
    <Property Type="Int32" Name="InventoryItemTypeId" Nullable="false" />
    <Property Type="String" Name="Category" Nullable="false" MaxLength="50" />
    <Property Type="String" Name="ItemType" Nullable="false" MaxLength="100" />
    <Property Type="String" Name="Size" Nullable="false" MaxLength="50" />
    <Property Type="Int32" Name="CostGeneralWash" Nullable="true" />
    <Property Type="Int32" Name="CostRepeatWash" Nullable="true" />
    <Property Type="Int32" Name="CostStainWash" Nullable="true" />
  </ComplexType>
  <EntityType Name="BillingProfile">
    <Key>
      <PropertyRef Name="BillingProfileId" />
    </Key>
    <Property Type="Int32" Name="BillingProfileId" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
    <Property Type="String" Name="ProfileName" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
    <Property Type="Boolean" Name="IncludeRewashInInvoice" Nullable="false" />
    <NavigationProperty Name="Customers" Relationship="PersonalLaundryModel.FK_Customers_BillingProfiles" FromRole="BillingProfile" ToRole="Customer" />
  </EntityType>
  <EntityType Name="CustomerInventory">
    <Key>
      <PropertyRef Name="CustomerInventoryId" />
    </Key>
    <Property Type="Int32" Name="CustomerInventoryId" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
    <Property Type="Int32" Name="CustomerId" Nullable="false" />
    <Property Type="Int32" Name="InventoryItemTypeId" Nullable="false" />
    <Property Type="Int32" Name="OperatorLoginId" Nullable="false" />
    <Property Type="DateTime" Name="TimeStamp" Nullable="false" />
    <Property Type="Int32" Name="CostGeneralWash" Nullable="false" />
    <Property Type="Int32" Name="CostRepeatWash" Nullable="false" />
    <Property Type="Int32" Name="CostStainWash" Nullable="false" />
    <NavigationProperty Name="Customer" Relationship="PersonalLaundryModel.FK_CustomerInventory_Customer" FromRole="CustomerInventory" ToRole="Customer" />
    <NavigationProperty Name="InventoryItemType" Relationship="PersonalLaundryModel.FK_CustomerInventory_InventoryItemTypes" FromRole="CustomerInventory" ToRole="InventoryItemType" />
    <NavigationProperty Name="OperatorLogin" Relationship="PersonalLaundryModel.FK_CustomerInventory_OperatorLogins" FromRole="CustomerInventory" ToRole="OperatorLogin" />
    <NavigationProperty Name="WorkloadItems" Relationship="PersonalLaundryModel.FK_WorkloadItems_CustomerInventory" FromRole="CustomerInventory" ToRole="WorkloadItem" />
  </EntityType>
  <EntityType Name="CustomerLogin">
    <Key>
      <PropertyRef Name="CustomerLoginId" />
    </Key>
    <Property Type="Int32" Name="CustomerLoginId" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
    <Property Type="Guid" Name="GUID" Nullable="false" />
    <Property Type="Int32" Name="CustomerId" Nullable="false" />
    <Property Type="String" Name="EmailAddress" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" />
    <Property Type="String" Name="Password" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
    <Property Type="Boolean" Name="IsActive" Nullable="false" />
    <Property Type="Boolean" Name="IsLockedOut" Nullable="false" />
    <NavigationProperty Name="Customer" Relationship="PersonalLaundryModel.FK_CustomerLogins_Customers" FromRole="CustomerLogin" ToRole="Customer" />
    <NavigationProperty Name="CustomerWorkloadBags" Relationship="PersonalLaundryModel.FK_WorkloadBags_CustomerLogins" FromRole="CustomerLogin" ToRole="CustomerWorkloadBag" />
    <NavigationProperty Name="Workloads" Relationship="PersonalLaundryModel.FK_Workloads_CustomerLogins" FromRole="CustomerLogin" ToRole="Workload" />
    <NavigationProperty Name="WorkloadItems" Relationship="PersonalLaundryModel.FK_WorkloadItems_CustomerLogins" FromRole="CustomerLogin" ToRole="WorkloadItem" />
  </EntityType>
  <EntityType Name="Customer">
    <Key>
      <PropertyRef Name="CustomerId" />
    </Key>
    <Property Type="Int32" Name="CustomerId" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
    <Property Type="String" Name="Name" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" />
    <Property Type="Int32" Name="BillingProfileId" Nullable="false" />
    <Property Type="Int32" Name="OperatorLoginId" Nullable="false" />
    <Property Type="String" Name="EmailAddress" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" />
    <Property Type="String" Name="ContactName" MaxLength="50" FixedLength="false" Unicode="true" />
    <Property Type="String" Name="AddressLine1" MaxLength="100" FixedLength="false" Unicode="true" />
    <Property Type="String" Name="AddressLine2" MaxLength="100" FixedLength="false" Unicode="true" />
    <Property Type="String" Name="AddressCity" MaxLength="100" FixedLength="false" Unicode="true" />
    <Property Type="String" Name="AddressPostCode" MaxLength="100" FixedLength="false" Unicode="true" />
    <Property Type="String" Name="VATNumber" MaxLength="50" FixedLength="false" Unicode="true" />
    <NavigationProperty Name="BillingProfile" Relationship="PersonalLaundryModel.FK_Customers_BillingProfiles" FromRole="Customer" ToRole="BillingProfile" />
    <NavigationProperty Name="CustomerInventories" Relationship="PersonalLaundryModel.FK_CustomerInventory_Customer" FromRole="Customer" ToRole="CustomerInventory" />
    <NavigationProperty Name="CustomerLogins" Relationship="PersonalLaundryModel.FK_CustomerLogins_Customers" FromRole="Customer" ToRole="CustomerLogin" />
    <NavigationProperty Name="OperatorLogin" Relationship="PersonalLaundryModel.FK_Customers_OperatorLogins" FromRole="Customer" ToRole="OperatorLogin" />
    <NavigationProperty Name="InventoryItems" Relationship="PersonalLaundryModel.FK_InventoryItems_Customers" FromRole="Customer" ToRole="InventoryItem" />
    <NavigationProperty Name="Workloads" Relationship="PersonalLaundryModel.FK_Workloads_Customers" FromRole="Customer" ToRole="Workload" />
    <NavigationProperty Name="Invoices" Relationship="PersonalLaundryModel.FK_Invoices_Customers" FromRole="Customer" ToRole="Invoice" />
  </EntityType>
  <EntityType Name="CustomerWorkloadBag">
    <Key>
      <PropertyRef Name="WorkloadBagId" />
    </Key>
    <Property Type="Int32" Name="WorkloadBagId" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
    <Property Type="Int32" Name="WorkloadId" Nullable="false" />
    <Property Type="String" Name="UniqueReference" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
    <Property Type="DateTime" Name="TimeStamp" Nullable="false" />
    <Property Type="Int32" Name="CustomerLoginId" Nullable="false" />
    <NavigationProperty Name="CustomerLogin" Relationship="PersonalLaundryModel.FK_WorkloadBags_CustomerLogins" FromRole="CustomerWorkloadBag" ToRole="CustomerLogin" />
    <NavigationProperty Name="Workload" Relationship="PersonalLaundryModel.FK_WorkloadBags_Workloads" FromRole="CustomerWorkloadBag" ToRole="Workload" />
    <Property Type="DateTime" Name="TimeReceived" Nullable="false" />
    <Property Type="Int32" Name="OperatorLoginId" Nullable="false" />
  </EntityType>
  <EntityType Name="InventoryItem">
    <Key>
      <PropertyRef Name="InventoryItemId" />
    </Key>
    <Property Type="Int32" Name="InventoryItemId" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
    <Property Type="Int32" Name="InventoryItemTypeId" Nullable="false" />
    <Property Type="Int32" Name="CustomerId" Nullable="false" />
    <Property Type="Int32" Name="UniqueId" Nullable="false" />
    <NavigationProperty Name="Customer" Relationship="PersonalLaundryModel.FK_InventoryItems_Customers" FromRole="InventoryItem" ToRole="Customer" />
    <NavigationProperty Name="InventoryItemType" Relationship="PersonalLaundryModel.FK_InventoryItems_InventoryItemTypes" FromRole="InventoryItem" ToRole="InventoryItemType" />
  </EntityType>
  <EntityType Name="InventoryItemTypeCategory">
    <Key>
      <PropertyRef Name="InventoryItemTypeCategoryId" />
    </Key>
    <Property Type="Int32" Name="InventoryItemTypeCategoryId" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
    <Property Type="String" Name="Category" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
    <Property Type="Int32" Name="OrderPriority" Nullable="false" />
    <NavigationProperty Name="InventoryItemTypes" Relationship="PersonalLaundryModel.FK_InventoryItemTypes_InventoryItemTypeCategories" FromRole="InventoryItemTypeCategory" ToRole="InventoryItemType" />
  </EntityType>
  <EntityType Name="InventoryItemType">
    <Key>
      <PropertyRef Name="InventoryItemTypeId" />
    </Key>
    <Property Type="Int32" Name="InventoryItemTypeId" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
    <Property Type="Int32" Name="InventoryItemTypeCategoryId" Nullable="false" />
    <Property Type="Int32" Name="InventoryItemTypeSizeId" Nullable="false" />
    <Property Type="String" Name="ItemType" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" />
    <NavigationProperty Name="CustomerInventories" Relationship="PersonalLaundryModel.FK_CustomerInventory_InventoryItemTypes" FromRole="InventoryItemType" ToRole="CustomerInventory" />
    <NavigationProperty Name="InventoryItems" Relationship="PersonalLaundryModel.FK_InventoryItems_InventoryItemTypes" FromRole="InventoryItemType" ToRole="InventoryItem" />
    <NavigationProperty Name="InventoryItemTypeCategory" Relationship="PersonalLaundryModel.FK_InventoryItemTypes_InventoryItemTypeCategories" FromRole="InventoryItemType" ToRole="InventoryItemTypeCategory" />
    <NavigationProperty Name="InventoryItemTypeSize" Relationship="PersonalLaundryModel.FK_InventoryItemTypes_InventoryItemTypeSize" FromRole="InventoryItemType" ToRole="InventoryItemTypeSize" />
    <NavigationProperty Name="InvoiceItems" Relationship="PersonalLaundryModel.FK_InvoiceItems_InventoryItemTypes" FromRole="InventoryItemType" ToRole="InvoiceItem" />
  </EntityType>
  <EntityType Name="InventoryItemTypeSize">
    <Key>
      <PropertyRef Name="InventoryItemTypeSizeId" />
    </Key>
    <Property Type="Int32" Name="InventoryItemTypeSizeId" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
    <Property Type="String" Name="Size" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
    <Property Type="Int32" Name="OrderPriority" Nullable="false" />
    <NavigationProperty Name="InventoryItemTypes" Relationship="PersonalLaundryModel.FK_InventoryItemTypes_InventoryItemTypeSize" FromRole="InventoryItemTypeSize" ToRole="InventoryItemType" />
  </EntityType>
  <EntityType Name="OperatorLogin">
    <Key>
      <PropertyRef Name="OperatorLoginId" />
    </Key>
    <Property Type="Int32" Name="OperatorLoginId" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
    <Property Type="String" Name="Username" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
    <Property Type="String" Name="Password" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
    <Property Type="Int32" Name="OperatorRoleId" Nullable="false" />
    <NavigationProperty Name="CustomerInventories" Relationship="PersonalLaundryModel.FK_CustomerInventory_OperatorLogins" FromRole="OperatorLogin" ToRole="CustomerInventory" />
    <NavigationProperty Name="Customers" Relationship="PersonalLaundryModel.FK_Customers_OperatorLogins" FromRole="OperatorLogin" ToRole="Customer" />
    <NavigationProperty Name="OperatorRole" Relationship="PersonalLaundryModel.FK_OperatorLogins_OperatorRoles" FromRole="OperatorLogin" ToRole="OperatorRole" />
    <NavigationProperty Name="Workloads" Relationship="PersonalLaundryModel.FK_Workloads_OperatorLogins" FromRole="OperatorLogin" ToRole="Workload" />
    <NavigationProperty Name="InvoiceItems" Relationship="PersonalLaundryModel.FK_InvoiceItems_OperatorLogins" FromRole="OperatorLogin" ToRole="InvoiceItem" />
    <NavigationProperty Name="Invoices" Relationship="PersonalLaundryModel.FK_Invoices_OperatorLogins" FromRole="OperatorLogin" ToRole="Invoice" />
    <NavigationProperty Name="Dispatches" Relationship="PersonalLaundryModel.FK_Dispatches_OperatorLogins" FromRole="OperatorLogin" ToRole="Dispatch" />
    <NavigationProperty Name="WorkloadItems" Relationship="PersonalLaundryModel.FK_WorkloadItems_OperatorLogins" FromRole="OperatorLogin" ToRole="WorkloadItem" />
  </EntityType>
  <EntityType Name="OperatorRole">
    <Key>
      <PropertyRef Name="OperatorRoleId" />
    </Key>
    <Property Type="Int32" Name="OperatorRoleId" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
    <Property Type="String" Name="RoleName" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
    <Property Type="Boolean" Name="CanLogin" Nullable="false" />
    <NavigationProperty Name="OperatorLogins" Relationship="PersonalLaundryModel.FK_OperatorLogins_OperatorRoles" FromRole="OperatorRole" ToRole="OperatorLogin" />
  </EntityType>
  <EntityType Name="Workload">
    <Key>
      <PropertyRef Name="WorkloadId" />
    </Key>
    <Property Type="Int32" Name="WorkloadId" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
    <Property Type="Int32" Name="CustomerId" Nullable="false" />
    <Property Type="Int32" Name="CustomerLoginId" Nullable="false" />
    <Property Type="DateTime" Name="DateCreated" Nullable="false" />
    <Property Type="Int32" Name="WorkloadStatusId" Nullable="false" />
    <Property Type="Int32" Name="OperatorLoginId" Nullable="false" />
    <Property Type="Int32" Name="WorkloadTypeId" Nullable="false" />
    <NavigationProperty Name="CustomerLogin" Relationship="PersonalLaundryModel.FK_Workloads_CustomerLogins" FromRole="Workload" ToRole="CustomerLogin" />
    <NavigationProperty Name="Customer" Relationship="PersonalLaundryModel.FK_Workloads_Customers" FromRole="Workload" ToRole="Customer" />
    <NavigationProperty Name="CustomerWorkloadBags" Relationship="PersonalLaundryModel.FK_WorkloadBags_Workloads" FromRole="Workload" ToRole="CustomerWorkloadBag" />
    <NavigationProperty Name="OperatorLogin" Relationship="PersonalLaundryModel.FK_Workloads_OperatorLogins" FromRole="Workload" ToRole="OperatorLogin" />
    <NavigationProperty Name="WorkloadStatus" Relationship="PersonalLaundryModel.FK_Workloads_WorkloadStatus" FromRole="Workload" ToRole="WorkloadStatu" />
    <NavigationProperty Name="WorkloadType" Relationship="PersonalLaundryModel.FK_Workloads_WorkloadTypes" FromRole="Workload" ToRole="WorkloadType" />
    <NavigationProperty Name="Invoices" Relationship="PersonalLaundryModel.FK_Invoices_Workloads" FromRole="Workload" ToRole="Invoice" />
    <NavigationProperty Name="WorkloadItems" Relationship="PersonalLaundryModel.FK_WorkloadItems_Workloads" FromRole="Workload" ToRole="WorkloadItem" />
  </EntityType>
  <EntityType Name="WorkloadStatus">
    <Key>
      <PropertyRef Name="WorkloadStatusId" />
    </Key>
    <Property Type="Int32" Name="WorkloadStatusId" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
    <Property Type="String" Name="Status" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
    <NavigationProperty Name="Workloads" Relationship="PersonalLaundryModel.FK_Workloads_WorkloadStatus" FromRole="WorkloadStatu" ToRole="Workload" />
  </EntityType>
  <EntityType Name="WorkloadType">
    <Key>
      <PropertyRef Name="WorkloadTypeId" />
    </Key>
    <Property Type="Int32" Name="WorkloadTypeId" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
    <Property Type="String" Name="Type" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
    <Property Type="Boolean" Name="CanStartCycle" Nullable="false" />
    <NavigationProperty Name="Workloads" Relationship="PersonalLaundryModel.FK_Workloads_WorkloadTypes" FromRole="WorkloadType" ToRole="Workload" />
  </EntityType>
  <EntityType Name="vwCustomerBagsWaitingCounting">
    <Key>
      <PropertyRef Name="CustomerId" />
      <PropertyRef Name="Name" />
    </Key>
    <Property Type="Int32" Name="CustomerId" Nullable="false" />
    <Property Type="String" Name="Name" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" />
    <Property Type="Int32" Name="BagCount" />
  </EntityType>
  <EntityType Name="vwWorkloadStatusReport">
    <Key>
      <PropertyRef Name="WorkloadStatusId" />
      <PropertyRef Name="Status" />
    </Key>
    <Property Type="Int32" Name="WorkloadStatusId" Nullable="false" />
    <Property Type="String" Name="Status" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
    <Property Type="Int32" Name="Customers" />
    <Property Type="Int32" Name="TotalItems" />
  </EntityType>
  <Association Name="FK_Customers_BillingProfiles">
    <End Type="PersonalLaundryModel.BillingProfile" Role="BillingProfile" Multiplicity="1" />
    <End Type="PersonalLaundryModel.Customer" Role="Customer" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="BillingProfile">
        <PropertyRef Name="BillingProfileId" />
      </Principal>
      <Dependent Role="Customer">
        <PropertyRef Name="BillingProfileId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_CustomerInventory_Customer">
    <End Type="PersonalLaundryModel.Customer" Role="Customer" Multiplicity="1" />
    <End Type="PersonalLaundryModel.CustomerInventory" Role="CustomerInventory" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Customer">
        <PropertyRef Name="CustomerId" />
      </Principal>
      <Dependent Role="CustomerInventory">
        <PropertyRef Name="CustomerId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_CustomerInventory_InventoryItemTypes">
    <End Type="PersonalLaundryModel.InventoryItemType" Role="InventoryItemType" Multiplicity="1" />
    <End Type="PersonalLaundryModel.CustomerInventory" Role="CustomerInventory" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="InventoryItemType">
        <PropertyRef Name="InventoryItemTypeId" />
      </Principal>
      <Dependent Role="CustomerInventory">
        <PropertyRef Name="InventoryItemTypeId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_CustomerInventory_OperatorLogins">
    <End Type="PersonalLaundryModel.OperatorLogin" Role="OperatorLogin" Multiplicity="1" />
    <End Type="PersonalLaundryModel.CustomerInventory" Role="CustomerInventory" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="OperatorLogin">
        <PropertyRef Name="OperatorLoginId" />
      </Principal>
      <Dependent Role="CustomerInventory">
        <PropertyRef Name="OperatorLoginId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_CustomerLogins_Customers">
    <End Type="PersonalLaundryModel.Customer" Role="Customer" Multiplicity="1" />
    <End Type="PersonalLaundryModel.CustomerLogin" Role="CustomerLogin" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Customer">
        <PropertyRef Name="CustomerId" />
      </Principal>
      <Dependent Role="CustomerLogin">
        <PropertyRef Name="CustomerId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_WorkloadBags_CustomerLogins">
    <End Type="PersonalLaundryModel.CustomerLogin" Role="CustomerLogin" Multiplicity="1" />
    <End Type="PersonalLaundryModel.CustomerWorkloadBag" Role="CustomerWorkloadBag" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="CustomerLogin">
        <PropertyRef Name="CustomerLoginId" />
      </Principal>
      <Dependent Role="CustomerWorkloadBag">
        <PropertyRef Name="CustomerLoginId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_Workloads_CustomerLogins">
    <End Type="PersonalLaundryModel.CustomerLogin" Role="CustomerLogin" Multiplicity="1" />
    <End Type="PersonalLaundryModel.Workload" Role="Workload" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="CustomerLogin">
        <PropertyRef Name="CustomerLoginId" />
      </Principal>
      <Dependent Role="Workload">
        <PropertyRef Name="CustomerLoginId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_Customers_OperatorLogins">
    <End Type="PersonalLaundryModel.OperatorLogin" Role="OperatorLogin" Multiplicity="1" />
    <End Type="PersonalLaundryModel.Customer" Role="Customer" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="OperatorLogin">
        <PropertyRef Name="OperatorLoginId" />
      </Principal>
      <Dependent Role="Customer">
        <PropertyRef Name="OperatorLoginId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_InventoryItems_Customers">
    <End Type="PersonalLaundryModel.Customer" Role="Customer" Multiplicity="1" />
    <End Type="PersonalLaundryModel.InventoryItem" Role="InventoryItem" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Customer">
        <PropertyRef Name="CustomerId" />
      </Principal>
      <Dependent Role="InventoryItem">
        <PropertyRef Name="CustomerId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_Workloads_Customers">
    <End Type="PersonalLaundryModel.Customer" Role="Customer" Multiplicity="1" />
    <End Type="PersonalLaundryModel.Workload" Role="Workload" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Customer">
        <PropertyRef Name="CustomerId" />
      </Principal>
      <Dependent Role="Workload">
        <PropertyRef Name="CustomerId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_WorkloadBags_Workloads">
    <End Type="PersonalLaundryModel.Workload" Role="Workload" Multiplicity="1" />
    <End Type="PersonalLaundryModel.CustomerWorkloadBag" Role="CustomerWorkloadBag" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Workload">
        <PropertyRef Name="WorkloadId" />
      </Principal>
      <Dependent Role="CustomerWorkloadBag">
        <PropertyRef Name="WorkloadId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_InventoryItems_InventoryItemTypes">
    <End Type="PersonalLaundryModel.InventoryItemType" Role="InventoryItemType" Multiplicity="1" />
    <End Type="PersonalLaundryModel.InventoryItem" Role="InventoryItem" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="InventoryItemType">
        <PropertyRef Name="InventoryItemTypeId" />
      </Principal>
      <Dependent Role="InventoryItem">
        <PropertyRef Name="InventoryItemTypeId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_InventoryItemTypes_InventoryItemTypeCategories">
    <End Type="PersonalLaundryModel.InventoryItemTypeCategory" Role="InventoryItemTypeCategory" Multiplicity="1" />
    <End Type="PersonalLaundryModel.InventoryItemType" Role="InventoryItemType" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="InventoryItemTypeCategory">
        <PropertyRef Name="InventoryItemTypeCategoryId" />
      </Principal>
      <Dependent Role="InventoryItemType">
        <PropertyRef Name="InventoryItemTypeCategoryId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_InventoryItemTypes_InventoryItemTypeSize">
    <End Type="PersonalLaundryModel.InventoryItemTypeSize" Role="InventoryItemTypeSize" Multiplicity="1" />
    <End Type="PersonalLaundryModel.InventoryItemType" Role="InventoryItemType" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="InventoryItemTypeSize">
        <PropertyRef Name="InventoryItemTypeSizeId" />
      </Principal>
      <Dependent Role="InventoryItemType">
        <PropertyRef Name="InventoryItemTypeSizeId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_OperatorLogins_OperatorRoles">
    <End Type="PersonalLaundryModel.OperatorRole" Role="OperatorRole" Multiplicity="1" />
    <End Type="PersonalLaundryModel.OperatorLogin" Role="OperatorLogin" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="OperatorRole">
        <PropertyRef Name="OperatorRoleId" />
      </Principal>
      <Dependent Role="OperatorLogin">
        <PropertyRef Name="OperatorRoleId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_Workloads_OperatorLogins">
    <End Type="PersonalLaundryModel.OperatorLogin" Role="OperatorLogin" Multiplicity="1" />
    <End Type="PersonalLaundryModel.Workload" Role="Workload" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="OperatorLogin">
        <PropertyRef Name="OperatorLoginId" />
      </Principal>
      <Dependent Role="Workload">
        <PropertyRef Name="OperatorLoginId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_Workloads_WorkloadStatus">
    <End Type="PersonalLaundryModel.WorkloadStatus" Role="WorkloadStatu" Multiplicity="1" />
    <End Type="PersonalLaundryModel.Workload" Role="Workload" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="WorkloadStatu">
        <PropertyRef Name="WorkloadStatusId" />
      </Principal>
      <Dependent Role="Workload">
        <PropertyRef Name="WorkloadStatusId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_Workloads_WorkloadTypes">
    <End Type="PersonalLaundryModel.WorkloadType" Role="WorkloadType" Multiplicity="1" />
    <End Type="PersonalLaundryModel.Workload" Role="Workload" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="WorkloadType">
        <PropertyRef Name="WorkloadTypeId" />
      </Principal>
      <Dependent Role="Workload">
        <PropertyRef Name="WorkloadTypeId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <EntityType Name="vwWorkloadCategoryTypeCount">
    <Key>
      <PropertyRef Name="WorkloadId" />
      <PropertyRef Name="Category" />
      <PropertyRef Name="ItemType" />
    </Key>
    <Property Type="Int32" Name="WorkloadId" Nullable="false" />
    <Property Type="String" Name="Category" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
    <Property Type="String" Name="ItemType" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" />
    <Property Type="Int32" Name="ItemCount" />
  </EntityType>
  <EntityType Name="vwInventoryItemType">
    <Key>
      <PropertyRef Name="Category" />
      <PropertyRef Name="ItemType" />
    </Key>
    <Property Type="String" Name="Category" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
    <Property Type="String" Name="ItemType" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" />
  </EntityType>
  <EntityType Name="InvoiceItem">
    <Key>
      <PropertyRef Name="InvoiceItemId" />
    </Key>
    <Property Type="Int32" Name="InvoiceItemId" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
    <Property Type="Int32" Name="InvoiceId" Nullable="false" />
    <Property Type="Int32" Name="InventoryItemTypeId" Nullable="false" />
    <Property Type="Int32" Name="Cost" />
    <Property Type="Int32" Name="OperatorLoginId" Nullable="false" />
    <NavigationProperty Name="InventoryItemType" Relationship="PersonalLaundryModel.FK_InvoiceItems_InventoryItemTypes" FromRole="InvoiceItem" ToRole="InventoryItemType" />
    <NavigationProperty Name="Invoice" Relationship="PersonalLaundryModel.FK_InvoiceItems_Invoices" FromRole="InvoiceItem" ToRole="Invoice" />
    <NavigationProperty Name="OperatorLogin" Relationship="PersonalLaundryModel.FK_InvoiceItems_OperatorLogins" FromRole="InvoiceItem" ToRole="OperatorLogin" />
    <NavigationProperty Name="DispatchItems" Relationship="PersonalLaundryModel.FK_DispatchItems_InvoiceItems" FromRole="InvoiceItem" ToRole="DispatchItem" />
    <Property Type="Int32" Name="ItemCount" Nullable="false" />
  </EntityType>
  <EntityType Name="Invoice">
    <Key>
      <PropertyRef Name="InvoiceId" />
    </Key>
    <Property Type="Int32" Name="InvoiceId" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
    <Property Type="Int32" Name="CustomerId" Nullable="false" />
    <Property Type="Int32" Name="WorkloadId" Nullable="false" />
    <Property Type="DateTime" Name="DateCreated" Nullable="false" />
    <Property Type="Int32" Name="OperatorLoginId" Nullable="false" />
    <Property Type="Int32" Name="InvoiceStatusId" Nullable="false" />
    <NavigationProperty Name="Customer" Relationship="PersonalLaundryModel.FK_Invoices_Customers" FromRole="Invoice" ToRole="Customer" />
    <NavigationProperty Name="InvoiceItems" Relationship="PersonalLaundryModel.FK_InvoiceItems_Invoices" FromRole="Invoice" ToRole="InvoiceItem" />
    <NavigationProperty Name="InvoiceStatu" Relationship="PersonalLaundryModel.FK_Invoices_InvoiceStatus" FromRole="Invoice" ToRole="InvoiceStatu" />
    <NavigationProperty Name="OperatorLogin" Relationship="PersonalLaundryModel.FK_Invoices_OperatorLogins" FromRole="Invoice" ToRole="OperatorLogin" />
    <NavigationProperty Name="Workload" Relationship="PersonalLaundryModel.FK_Invoices_Workloads" FromRole="Invoice" ToRole="Workload" />
    <NavigationProperty Name="Dispatches" Relationship="PersonalLaundryModel.FK_Dispatches_Invoices" FromRole="Invoice" ToRole="Dispatch" />
  </EntityType>
  <EntityType Name="InvoiceStatus">
    <Key>
      <PropertyRef Name="InvoiceStatusId" />
    </Key>
    <Property Type="Int32" Name="InvoiceStatusId" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
    <Property Type="String" Name="Status" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
    <NavigationProperty Name="Invoices" Relationship="PersonalLaundryModel.FK_Invoices_InvoiceStatus" FromRole="InvoiceStatu" ToRole="Invoice" />
  </EntityType>
  <Association Name="FK_Invoices_Customers">
    <End Type="PersonalLaundryModel.Customer" Role="Customer" Multiplicity="1" />
    <End Type="PersonalLaundryModel.Invoice" Role="Invoice" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Customer">
        <PropertyRef Name="CustomerId" />
      </Principal>
      <Dependent Role="Invoice">
        <PropertyRef Name="CustomerId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_InvoiceItems_InventoryItemTypes">
    <End Type="PersonalLaundryModel.InventoryItemType" Role="InventoryItemType" Multiplicity="1" />
    <End Type="PersonalLaundryModel.InvoiceItem" Role="InvoiceItem" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="InventoryItemType">
        <PropertyRef Name="InventoryItemTypeId" />
      </Principal>
      <Dependent Role="InvoiceItem">
        <PropertyRef Name="InventoryItemTypeId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_InvoiceItems_Invoices">
    <End Type="PersonalLaundryModel.Invoice" Role="Invoice" Multiplicity="1" />
    <End Type="PersonalLaundryModel.InvoiceItem" Role="InvoiceItem" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Invoice">
        <PropertyRef Name="InvoiceId" />
      </Principal>
      <Dependent Role="InvoiceItem">
        <PropertyRef Name="InvoiceId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_InvoiceItems_OperatorLogins">
    <End Type="PersonalLaundryModel.OperatorLogin" Role="OperatorLogin" Multiplicity="1" />
    <End Type="PersonalLaundryModel.InvoiceItem" Role="InvoiceItem" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="OperatorLogin">
        <PropertyRef Name="OperatorLoginId" />
      </Principal>
      <Dependent Role="InvoiceItem">
        <PropertyRef Name="OperatorLoginId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_Invoices_InvoiceStatus">
    <End Type="PersonalLaundryModel.InvoiceStatus" Role="InvoiceStatu" Multiplicity="1" />
    <End Type="PersonalLaundryModel.Invoice" Role="Invoice" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="InvoiceStatu">
        <PropertyRef Name="InvoiceStatusId" />
      </Principal>
      <Dependent Role="Invoice">
        <PropertyRef Name="InvoiceStatusId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_Invoices_OperatorLogins">
    <End Type="PersonalLaundryModel.OperatorLogin" Role="OperatorLogin" Multiplicity="1" />
    <End Type="PersonalLaundryModel.Invoice" Role="Invoice" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="OperatorLogin">
        <PropertyRef Name="OperatorLoginId" />
      </Principal>
      <Dependent Role="Invoice">
        <PropertyRef Name="OperatorLoginId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_Invoices_Workloads">
    <End Type="PersonalLaundryModel.Workload" Role="Workload" Multiplicity="1" />
    <End Type="PersonalLaundryModel.Invoice" Role="Invoice" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Workload">
        <PropertyRef Name="WorkloadId" />
      </Principal>
      <Dependent Role="Invoice">
        <PropertyRef Name="WorkloadId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <EntityType Name="Setting">
    <Key>
      <PropertyRef Name="SettingId" />
    </Key>
    <Property Type="Int32" Name="SettingId" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
    <Property Type="String" Name="SettingName" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
    <Property Type="String" Name="SettingValue" MaxLength="200" FixedLength="false" Unicode="true" />
  </EntityType>
  <ComplexType Name="GetInvoiceForPrinter_Result">
    <Property Type="String" Name="Category" Nullable="false" MaxLength="50" />
    <Property Type="String" Name="ItemType" Nullable="false" MaxLength="100" />
    <Property Type="String" Name="Size" Nullable="false" MaxLength="50" />
    <Property Type="Int32" Name="Count" Nullable="false" />
    <Property Type="Int32" Name="Cost" Nullable="true" />
  </ComplexType>
  <EntityType Name="CustomerInventoryForWorkload">
    <Key>
      <PropertyRef Name="CustomerId" />
      <PropertyRef Name="CustomerInventoryId" />
      <PropertyRef Name="Category" />
      <PropertyRef Name="ItemType" />
      <PropertyRef Name="Size" />
      <PropertyRef Name="TCOrderPriority" />
      <PropertyRef Name="TSOrderPriority" />
    </Key>
    <Property Type="Int32" Name="CustomerId" Nullable="false" />
    <Property Type="Int32" Name="CustomerInventoryId" Nullable="false" />
    <Property Type="String" Name="Category" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
    <Property Type="String" Name="ItemType" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" />
    <Property Type="String" Name="Size" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
    <Property Type="String" Name="Count" MaxLength="30" FixedLength="false" Unicode="true" />
    <Property Type="Int32" Name="TCOrderPriority" Nullable="false" />
    <Property Type="Int32" Name="TSOrderPriority" Nullable="false" />
    <Property Type="Int32" Name="WorkloadId" />
  </EntityType>
  <EntityType Name="CustomerInventoryForWorkloadClosed">
    <Key>
      <PropertyRef Name="CustomerId" />
      <PropertyRef Name="CustomerInventoryId" />
      <PropertyRef Name="Category" />
      <PropertyRef Name="ItemType" />
      <PropertyRef Name="Size" />
      <PropertyRef Name="TCOrderPriority" />
      <PropertyRef Name="TSOrderPriority" />
    </Key>
    <Property Type="Int32" Name="CustomerId" Nullable="false" />
    <Property Type="Int32" Name="CustomerInventoryId" Nullable="false" />
    <Property Type="String" Name="Category" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
    <Property Type="String" Name="ItemType" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" />
    <Property Type="String" Name="Size" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
    <Property Type="String" Name="Count" MaxLength="30" FixedLength="false" Unicode="true" />
    <Property Type="Int32" Name="TCOrderPriority" Nullable="false" />
    <Property Type="Int32" Name="TSOrderPriority" Nullable="false" />
    <Property Type="Int32" Name="WorkloadId" />
  </EntityType>
  <EntityType Name="Dispatch">
    <Key>
      <PropertyRef Name="DispatchId" />
    </Key>
    <Property Type="Int32" Name="DispatchId" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
    <Property Type="Int32" Name="InvoiceId" Nullable="false" />
    <Property Type="DateTime" Name="DateCreated" Nullable="false" />
    <Property Type="Int32" Name="OperatorLoginId" Nullable="false" />
    <Property Type="Int32" Name="DispatchStatusId" Nullable="false" />
    <NavigationProperty Name="DispatchStatu" Relationship="PersonalLaundryModel.FK_Dispatches_DispatchStatus" FromRole="Dispatch" ToRole="DispatchStatu" />
    <NavigationProperty Name="Invoice" Relationship="PersonalLaundryModel.FK_Dispatches_Invoices" FromRole="Dispatch" ToRole="Invoice" />
    <NavigationProperty Name="OperatorLogin" Relationship="PersonalLaundryModel.FK_Dispatches_OperatorLogins" FromRole="Dispatch" ToRole="OperatorLogin" />
    <NavigationProperty Name="DispatchItems" Relationship="PersonalLaundryModel.FK_DispatchItems_Dispatches" FromRole="Dispatch" ToRole="DispatchItem" />
  </EntityType>
  <EntityType Name="DispatchItem">
    <Key>
      <PropertyRef Name="DispatchItemId" />
    </Key>
    <Property Type="Int32" Name="DispatchItemId" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
    <Property Type="Int32" Name="DispatchId" Nullable="false" />
    <Property Type="Int32" Name="InvoiceItemId" Nullable="false" />
    <Property Type="Int32" Name="ItemCount" Nullable="false" />
    <NavigationProperty Name="Dispatch" Relationship="PersonalLaundryModel.FK_DispatchItems_Dispatches" FromRole="DispatchItem" ToRole="Dispatch" />
    <NavigationProperty Name="InvoiceItem" Relationship="PersonalLaundryModel.FK_DispatchItems_InvoiceItems" FromRole="DispatchItem" ToRole="InvoiceItem" />
  </EntityType>
  <EntityType Name="DispatchStatu">
    <Key>
      <PropertyRef Name="DispatchStatusId" />
    </Key>
    <Property Type="Int32" Name="DispatchStatusId" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
    <Property Type="String" Name="Status" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
    <NavigationProperty Name="Dispatches" Relationship="PersonalLaundryModel.FK_Dispatches_DispatchStatus" FromRole="DispatchStatu" ToRole="Dispatch" />
  </EntityType>
  <Association Name="FK_Dispatches_DispatchStatus">
    <End Type="PersonalLaundryModel.DispatchStatu" Role="DispatchStatu" Multiplicity="1" />
    <End Type="PersonalLaundryModel.Dispatch" Role="Dispatch" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="DispatchStatu">
        <PropertyRef Name="DispatchStatusId" />
      </Principal>
      <Dependent Role="Dispatch">
        <PropertyRef Name="DispatchStatusId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_Dispatches_Invoices">
    <End Type="PersonalLaundryModel.Invoice" Role="Invoice" Multiplicity="1" />
    <End Type="PersonalLaundryModel.Dispatch" Role="Dispatch" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Invoice">
        <PropertyRef Name="InvoiceId" />
      </Principal>
      <Dependent Role="Dispatch">
        <PropertyRef Name="InvoiceId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_Dispatches_OperatorLogins">
    <End Type="PersonalLaundryModel.OperatorLogin" Role="OperatorLogin" Multiplicity="1" />
    <End Type="PersonalLaundryModel.Dispatch" Role="Dispatch" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="OperatorLogin">
        <PropertyRef Name="OperatorLoginId" />
      </Principal>
      <Dependent Role="Dispatch">
        <PropertyRef Name="OperatorLoginId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_DispatchItems_Dispatches">
    <End Type="PersonalLaundryModel.Dispatch" Role="Dispatch" Multiplicity="1" />
    <End Type="PersonalLaundryModel.DispatchItem" Role="DispatchItem" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Dispatch">
        <PropertyRef Name="DispatchId" />
      </Principal>
      <Dependent Role="DispatchItem">
        <PropertyRef Name="DispatchId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_DispatchItems_InvoiceItems">
    <End Type="PersonalLaundryModel.InvoiceItem" Role="InvoiceItem" Multiplicity="1" />
    <End Type="PersonalLaundryModel.DispatchItem" Role="DispatchItem" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="InvoiceItem">
        <PropertyRef Name="InvoiceItemId" />
      </Principal>
      <Dependent Role="DispatchItem">
        <PropertyRef Name="InvoiceItemId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <EntityType Name="WorkloadItem">
    <Key>
      <PropertyRef Name="WorkloadItemId" />
    </Key>
    <Property Type="Int32" Name="WorkloadItemId" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
    <Property Type="Int32" Name="WorkloadId" Nullable="false" />
    <Property Type="Int32" Name="CustomerInventoryId" Nullable="false" />
    <Property Type="Int32" Name="ItemCount" Nullable="false" />
    <Property Type="Int32" Name="CustomerLoginId" Nullable="false" />
    <Property Type="Int32" Name="OperatorLoginId" Nullable="false" />
    <Property Type="DateTime" Name="TimeStamp" Nullable="false" />
    <NavigationProperty Name="CustomerInventory" Relationship="PersonalLaundryModel.FK_WorkloadItems_CustomerInventory" FromRole="WorkloadItem" ToRole="CustomerInventory" />
    <NavigationProperty Name="CustomerLogin" Relationship="PersonalLaundryModel.FK_WorkloadItems_CustomerLogins" FromRole="WorkloadItem" ToRole="CustomerLogin" />
    <NavigationProperty Name="OperatorLogin" Relationship="PersonalLaundryModel.FK_WorkloadItems_OperatorLogins" FromRole="WorkloadItem" ToRole="OperatorLogin" />
    <NavigationProperty Name="Workload" Relationship="PersonalLaundryModel.FK_WorkloadItems_Workloads" FromRole="WorkloadItem" ToRole="Workload" />
  </EntityType>
  <Association Name="FK_WorkloadItems_CustomerInventory">
    <End Type="PersonalLaundryModel.CustomerInventory" Role="CustomerInventory" Multiplicity="1" />
    <End Type="PersonalLaundryModel.WorkloadItem" Role="WorkloadItem" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="CustomerInventory">
        <PropertyRef Name="CustomerInventoryId" />
      </Principal>
      <Dependent Role="WorkloadItem">
        <PropertyRef Name="CustomerInventoryId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_WorkloadItems_CustomerLogins">
    <End Type="PersonalLaundryModel.CustomerLogin" Role="CustomerLogin" Multiplicity="1" />
    <End Type="PersonalLaundryModel.WorkloadItem" Role="WorkloadItem" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="CustomerLogin">
        <PropertyRef Name="CustomerLoginId" />
      </Principal>
      <Dependent Role="WorkloadItem">
        <PropertyRef Name="CustomerLoginId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_WorkloadItems_OperatorLogins">
    <End Type="PersonalLaundryModel.OperatorLogin" Role="OperatorLogin" Multiplicity="1" />
    <End Type="PersonalLaundryModel.WorkloadItem" Role="WorkloadItem" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="OperatorLogin">
        <PropertyRef Name="OperatorLoginId" />
      </Principal>
      <Dependent Role="WorkloadItem">
        <PropertyRef Name="OperatorLoginId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
  <Association Name="FK_WorkloadItems_Workloads">
    <End Type="PersonalLaundryModel.Workload" Role="Workload" Multiplicity="1" />
    <End Type="PersonalLaundryModel.WorkloadItem" Role="WorkloadItem" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Workload">
        <PropertyRef Name="WorkloadId" />
      </Principal>
      <Dependent Role="WorkloadItem">
        <PropertyRef Name="WorkloadId" />
      </Dependent>
    </ReferentialConstraint>
  </Association>
</Schema>