import { Address } from './address.model';
import { Image } from './image.model';
import { Product, Stock } from './product.model';
import { GeoPoint, PaginationModel, SortModel } from './misc.model';
import { Cart } from './cart.model';
import { OpeningSchedule } from './point-of-service.model';
export interface CategoryHierarchy {
id?: string;
lastModified?: Date;
name?: string;
subcategories?: CategoryHierarchy[];
url?: string;
}
export interface CatalogVersion {
categories?: CategoryHierarchy[];
id?: string;
lastModified?: Date;
name?: string;
url?: string;
}
export interface Catalog {
catalogVersions?: CatalogVersion[];
id?: string;
lastModified?: Date;
name?: string;
url?: string;
}
export interface Pagination {
count?: number;
page?: number;
totalCount?: number;
totalPages?: number;
}
export interface Sort {
asc?: boolean;
code?: string;
}
export interface ListAdaptedComponents {
components?: any[];
pagination?: Pagination;
sorts?: Sort[];
}
export interface OrderStatusUpdateElement {
baseSiteId?: string;
code?: string;
status?: string;
}
export interface PointOfServiceStock {
address?: Address;
description?: string;
displayName?: string;
distanceKm?: number;
features?: { [propertyName: string]: string };
formattedDistance?: string;
geoPoint?: GeoPoint;
mapIcon?: Image;
name?: string;
openingHours?: OpeningSchedule;
stockInfo?: Stock;
storeContent?: string;
storeImages?: Image[];
url?: string;
}
export interface ProductExpressUpdateElement {
catalogId?: string;
catalogVersion?: string;
code?: string;
}
export interface ProductList {
catalog?: string;
currentPage?: number;
products?: Product[];
totalPageCount?: number;
totalProductCount?: number;
version?: string;
}
export interface SaveCartResult {
savedCartData?: Cart;
}
export interface StoreFinderStockSearchPage {
boundEastLongitude?: number;
boundSouthLatitude?: number;
boundWestLongitude?: number;
locationText?: string;
pagination?: PaginationModel;
product?: Product;
sorts?: SortModel[];
sourceLatitude?: number;
sourceLongitude?: number;
stores?: PointOfServiceStock[];
}