Rev 1910 | Rev 1967 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
namespace java in.shop2020.model.v1.catalognamespace py shop2020.thriftpy.model.v1.catalog/**Objects*//**Caution :- Never ever change the numbers in it. Please confirm from @Chandranshu or @Rajveer before any changes in enum and other entries in file.**/enum status{PHASED_OUT = 0, //Item is no longer sellingDELETED = 1, //Item has been deliberately deletedPAUSED = 2, //Item's sale is currently pausedACTIVE = 3, //Item is available for sale as of nowIN_PROCESS = 4 //Item has been added, but content is not available for the sameCONTENT_COMPLETE = 5 //The content for this item has been completed. We can start selling the item now.}enum WarehouseLocation{Mumbai = 0,Delhi = 1,Bangalore = 2,Kolkata = 3}struct Vendor{1:i64 id,2:string name}/*Warehouse fields detailslocation: it is full addressvendorString: some key for the warehouse*/struct Warehouse{1:i64 id,2:string displayName,3:string location,4:status warehouseStatus,5:i64 addedOn,6:i64 lastCheckedOn,7:string tinNumber,8:string pincode,9:string vendorString,10:WarehouseLocation logisticsLocation11:string vendor}/* */struct ItemInventory{1:i64 id,2:map<i64,i64> availability}struct ItemInventoryHistory{1:i64 item_id,2:i64 warehouse_id,3:i64 timestamp,4:i64 availability}struct Item{1:i64 id,2:string productGroup3:string brand,4:string modelNumber,5:string modelName,6:string color,7:i64 category,8:string comments,9:i64 catalogItemId,10:i64 featureId,11:string featureDescription,12:ItemInventory itemInventory,13:double mrp, //maxmimum retail price14:double mop, //market operative price15:double sellingPrice, //Selling price16:double transferPrice,17:double weight,18:i64 addedOn,19:i64 startDate,20:i64 retireDate,21:status itemStatus,22:map<string,string> otherInfo,23:string bestDealText,24:double bestDealValue,25:double dealerPrice,26:bool defaultForEntity,27:i64 updatedOn}struct VendorItemPricing{1:i64 vendorId,2:i64 itemId,3:double transferPrice,4:double mop,5:double dealerPrice}exception InventoryServiceException{1:i64 id,2:string message}service InventoryService{/*** For closing the open session in sqlalchemy*/void closeSession(),/**Availability and inventory attributes*///all add and update methods - added by Ashishi64 addItem(1:Item item) throws (1:InventoryServiceException cex),i64 updateItem(1:Item item) throws (1:InventoryServiceException cex),i64 addWarehouse(1:Warehouse warehouse) throws (1:InventoryServiceException cex),bool isActive(1:i64 itemId) throws (1:InventoryServiceException isex),void updateInventory(1:i64 warehouse_id, 2:string timestamp, 3:map<string, i64> availability) throws (1:InventoryServiceException cex),// commented right now. write on based of requirement// void updatePrice(1:i64 item_id, 2:i64 warehouse_id, 3:double price) throws (1:InventoryServiceException cex),//all delete methodsvoid retireWarehouse(1:i64 warehouse_id) throws (1:InventoryServiceException cex),//Item management apisvoid startItemOn(1:i64 item_id, 2:i64 timestamp) throws (1:InventoryServiceException cex),void retireItemOn(1:i64 item_id, 2:i64 timestamp) throws (1:InventoryServiceException cex),void changeItemStatus(1:i64 item_id, 2:i64 timestamp, 3:status newstatus) throws (1:InventoryServiceException cex),//Other accessor methods - added by AshishItem getItem(1:i64 item_id) throws (1:InventoryServiceException cex),list<Item> getItemsByCatalogId(1:i64 catalog_item_id) throws (1:InventoryServiceException cex),list<Item> getAllItems(1:bool isActive) throws (1:InventoryServiceException cex),list<Item> getAllItemsByStatus(1:status itemStatus) throws (1:InventoryServiceException cex),ItemInventory getItemInventory(1:i64 item_id) throws (1:InventoryServiceException cex),ItemInventory getItemInventoryByItemId(1:i64 item_id) throws (1:InventoryServiceException cex),//ItemInventory getItemInventoryByCatalogId(1:i64 item_id) throws (1:InventoryServiceException cex),i64 getItemAvailibilityAtWarehouse(1:i64 warehouse_id, 2:i64 item_id) throws (1:InventoryServiceException cex),bool markItemAsContentComplete(1:i64 entityId) throws (1:InventoryServiceException cex),/**Returns the id of the warehouse with the largest inventory of the item and the inventory size in the given locations.The size of list will always be 2.*/list<i64> getItemAvailabilityAtLocation(1:i64 warehouse_loc, 2:i64 item_id) throws (1:InventoryServiceException isex),list<Warehouse> getAllWarehouses(1:bool isActive) throws (1:InventoryServiceException cex),/**Returns the warehouse with the given id.*/Warehouse getWarehouse(1:i64 warehouse_id) throws (1:InventoryServiceException cex),list<Warehouse> getAllWarehousesForItem(1:i64 item_id) throws (1:InventoryServiceException cex),list<Item> getAllItemsForWarehouse(1:i64 warehouse_id) throws (1:InventoryServiceException cex),/**Increases the reservation count for an item in a warehouse. Should always succeed normally.*/bool reserveItemInWarehouse(1:i64 itemId, 2:i64 warehouseId, 3:double quantity) throws (1:InventoryServiceException cex),/**Decreases the reservation count for an item in a warehouse. Should always succeed normally.*/bool reduceReservationCount(1:i64 itemId, 2:i64 warehouseId, 3:double quantity) throws (1:InventoryServiceException cex),// for home page .... best deals, best sellers and latest arrivalslist<Item> getBestSellers() throws (1:InventoryServiceException isex),list<i64> getBestSellersCatalogIds(1:i64 beginIndex, 2:i64 totalItems, 3:string brand, 4:i64 category) throws (1:InventoryServiceException cex),i64 getBestSellersCount() throws (1:InventoryServiceException cex),list<Item> getBestDeals() throws (1:InventoryServiceException isex),list<i64> getBestDealsCatalogIds(1:i64 beginIndex, 2:i64 totalItems, 3:string brand, 4:i64 category) throws (1:InventoryServiceException cex),i64 getBestDealsCount() throws (1:InventoryServiceException cex),list<Item> getLatestArrivals() throws (1:InventoryServiceException isex),list<i64> getLatestArrivalsCatalogIds(1:i64 beginIndex, 2:i64 totalItems, 3:string brand, 4:i64 category) throws (1:InventoryServiceException cex),i64 getLatestArrivalsCount() throws (1:InventoryServiceException cex),i64 generateNewEntityID(),/**Returns the pricing information of an item associated with the vendor of the given warehouse.Raises an exception if either the item, vendor or the associated pricing information can't be found.*/VendorItemPricing getItemPricing(1:i64 itemId, 2:i64 warehouseId) throws (1:InventoryServiceException cex),/*** Store category object and retrieve it*/bool putCategoryObject(1:binary object),binary getCategoryObject()}