Various embodiments of the present disclosure generally relate to placing listings on an online transactional platform, and more particularly, to generating online listings based on electronic data files uploaded from user devices.
Data files that include spreadsheets can be used as a tool in inventory management systems. For example, a third party seller on electronic commerce (e-commerce) platform may fill or electronically maintain one or more spreadsheets to keep track of products in the seller's current inventory. Some sellers may choose to manage their inventories on a distinct and specialized inventory management application in order to, for example, take advantage of other user friendly features. However, even these sellers may utilize spreadsheets by, for example, exporting inventory data from application to one or more spreadsheet data files.
With a spreadsheet having inventory data, an operator associated with e-commerce, such as a seller or a party associated with a seller, may manually transfer inventory information from the spreadsheet to sales listings. Such a manual process may encounter various bottleneck associated with having an intermediary transcriber and/or manual work involved. Therefore, it may be highly desirable for electronic transaction platforms to recreate a more efficient and/or a uniquely automated process by which sellers' item listing data more efficiently and more optimally transform into online listings at transactional platforms, whether the transacted items are large in volume, wide in variety, or high in value(s).
The background description provided herein is for the purpose of generally presenting the context of the disclosure. Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art, or suggestions of the prior art, by inclusion in this section.
According to certain aspects of the disclosure, systems and methods disclosed relate to receiving a spreadsheet from a user and automatically generating one or more online listings based on the received spreadsheet.
In one embodiment, a computer-implemented method is disclosed for automatically generating listings on an equipment electronic commerce platform. The computer-implemented method may comprise: receiving, by one or more processors, a request to upload one or more spreadsheets for one or more equipment transactions; in response to receiving the request, generating, by the one or more processors, an upload interface, the upload interface including a widget for selecting one or more spreadsheet files; receiving, by the one or more processors, a selection of one or more spreadsheet data files associated with the one or more equipment transactions, at the upload interface; receiving, by the one or more processors, the one or more spreadsheet data files; converting, by the one or more processors, one or more entries of the one or more spreadsheet data files into one or more electronic listings; and generating, by the one or more processors, an updated electronic catalog, the updated electronic catalog including the converted one or more electronic listings.
In accordance with another embodiment, a computer system is disclosed for automatically and dynamically generating listings on an equipment electronic commerce platform. The computer system may comprise: a memory having processor-readable instructions stored therein; and at least one processor configured to access the memory and execute the processor-readable instructions, which when executed by the at least one processor configures the at least one processor to perform a plurality of functions, including functions for: receiving a request to upload one or more spreadsheets for one or more equipment transactions; in response to receiving the request, generating an upload interface, the upload interface including a widget for selecting one or more spreadsheet files; receiving a selection of one or more spreadsheet data files associated with the one or more equipment transactions, at the upload interface; receiving the one or more spreadsheet data files; converting one or more entries of the one or more spreadsheet data files into one or more electronic listings; and generating an updated electronic catalog, the updated electronic catalog including the converted one or more electronic listings.
In accordance with another embodiment, a non-transitory computer-readable medium containing instructions is disclosed for automatically and dynamically generating listings on an equipment electronic commerce platform. The non-transitory computer-readable medium may comprise instructions for: receiving a request to upload one or more spreadsheets for one or more equipment transactions; in response to receiving the request, generating an upload interface, the upload interface including a widget for selecting one or more spreadsheet files; receiving a selection of one or more spreadsheet data files associated with the one or more equipment transactions, at the upload interface; receiving the one or more spreadsheet data files; converting one or more entries of the one or more spreadsheet data files into one or more electronic listings; and generating an updated electronic catalog, the updated electronic catalog including the converted one or more electronic listings.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate various exemplary embodiments and together with the description, serve to explain the principles of the disclosed embodiments.
The following embodiments describe methods and systems for receiving a one or more spreadsheet files from a user and automatically generating one or more electronic listings based on the received spreadsheet. As described above, there is a need for a more efficient and/or automated process, by which sellers may list items on electronic transaction platforms in an automated manner regardless of whether the items to be listed are large in volume, wide in variety, or high in value. As described in more detail below, an automated and dynamic process for listing items on transactions may be implemented by receiving one or more spreadsheet data files from a user, automatically converting one or more entries of the one or more spreadsheet data files into one or more electronic listings, and generating an updated electronic catalog including the converted one or more electronic listings. As further described below, the converting of entries of one or more spreadsheet data files into one or more electronic listings may be performed by steps including, for example, storing data from uploaded spreadsheet file(s) as csv data, validating the csv data, adding the csv data into specifically designated data table(s), importing images for the electronic listings, and enabling or disabling the electronic listings.
The subject matter of the present description will now be described more fully hereinafter with reference to the accompanying drawings, which form a part thereof, and which show, by way of illustration, specific exemplary embodiments. An embodiment or implementation described herein as “exemplary” is not to be construed as preferred or advantageous, for example, over other embodiments or implementations; rather, it is intended to reflect or indicate that the embodiment(s) is/are “example” embodiment(s). Subject matter can be embodied in a variety of different forms and, therefore, covered or claimed subject matter is intended to be construed as not being limited to any exemplary embodiments set forth herein; exemplary embodiments are provided merely to be illustrative. Likewise, a reasonably broad scope for claimed or covered subject matter is intended. Among other things, for example, subject matter may be embodied as methods, devices, components, or systems. Accordingly, embodiments may, for example, take the form of hardware, software, firmware, or any combination thereof (other than software per se). The following detailed description is, therefore, not intended to be taken in a limiting sense.
Throughout the specification and claims, terms may have nuanced meanings suggested or implied in context beyond an explicitly stated meaning. Likewise, the phrase “in one embodiment” as used herein does not necessarily refer to the same embodiment and the phrase “in another embodiment” as used herein does not necessarily refer to a different embodiment. It is intended, for example, that claimed subject matter include combinations of exemplary embodiments in whole or in part.
The terminology used below may be interpreted in its broadest reasonable manner, even though it is being used in conjunction with a detailed description of certain specific examples of the present disclosure. For example, equipment, as used herein throughout the present disclosure, may include products or services traded in primary and secondary marketplaces among organizations. As such, equipment may include, for example, aircraft, aerospace parts and components, time-constrained services such as airline gates or airport runways, or any other aerospace-related product or service traded among airlines, airports, aircraft, or aerospace original equipment manufacturers (OEMs). While the exemplary equipment online marketplace platform of the present disclosure relates to aerospace-related equipment, equipment may also include vehicles, vehicle parts and components, vehicle services, heavy equipment, heavy equipment parts and components, heavy equipment services, computing devices, computing device parts and components, computing device services, or any other products or services traded in primary and secondary marketplaces among organizations.
Certain terms may even be emphasized below; however, any terminology intended to be interpreted in any restricted manner will be overtly and specifically defined as such in this Detailed Description section. Both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the features, as claimed.
Referring now to the appended drawings,
Users may access the equipment online marketplace through the network 108 by user devices 110, such as a computing device or the like. User devices 110 may allow a user to display a web browser for accessing the equipment online marketplace from the server system 104 through the network 108. The user devices 110 may be any type of device for accessing Web pages, such as personal computing device, mobile computing devices, or the like. User devices 110 may be seller devices 112 or buyer devices 114. As such, users may be sellers and/or buyers through the equipment online marketplace. As further shown in
Further, the equipment online marketplace may include a seller interface and a buyer interface. The seller interface may be displayed to a user accessing the equipment online marketplace as a seller on a user device 110. The seller interface may include features to enable a seller to enter, or input, the information of the items or equipment parts (e.g., vehicle parts) that the seller desires to sell through the equipment online marketplace. For example, the seller interface may allow a seller to create, edit, or delete equipment listings based on the information of a corresponding equipment part, as described in more detail below with respect to
The number and arrangement of devices and networks shown in
On the seller interface, a seller (e.g., a user of the equipment online marketplace platform 102 acting as a third party seller) may be presented with one or more options in order to generate a new listing. One option may be, for example, to start by searching for a particular product at an existing database in communication with the user device 110, by typing in one or more keywords at an input feature 202 and selecting a keyword-based sales initiation trigger 204. A user selection of the keyword-based sales initiation trigger 204 may configure the server system 104 to initiate a process of retrieving existing information pertaining to a particular product (e.g., attributes, metadata, former listing, competitor listing, etc.) from an existing database, and generating a listing based on the existing information. Another option to generate a new listing may be, for example, to allow a seller to enter one or more attributes of a product to list for sale by typing in the one or more product attributes at an input feature 202, selecting a keyword-based sales initiation trigger 204, and subsequently entering additional information to create a brand new listing of a product (e.g., filling out information in one or more data fields about the product to be listed).
In accordance with the present disclosure, the server system 104 may, via a user device 110, provide a seller (e.g., a user of the equipment online marketplace platform 102 acting as a third party seller) with an option to upload one or more spreadsheets as a way to generate a new listing. In order to provide this option, the seller interface may include, for example, a spreadsheet upload initiator 206 for selection by sellers, as shown in
The seller interface may include one or more upload features on the exemplary user interface 300. For example, the seller interface may include a browse function 304 or any other widget that allows a user to search for files in the file directory associated with the user device 110 (e.g., local hard drive of the user device 110 or an external storage in communication with the user device 110) and select one or more of the spreadsheet files in the file directory for uploading to the equipment online marketplace platform 102. Additionally, or alternatively, the seller interface may include a drag-and-drop widget 302 that allows a user to select one or more files in a file directory associated with the user device 110 (e.g., local hard drive of the user device 110 or an external storage in communication with the user device 110), and drag the one or more spreadsheet files in the file directory to the drag-and-drop widget 302 to communicate a request (e.g., to the user device 110 and/or the server system 104) for uploading the selected files to the equipment online marketplace platform 102.
The one or more upload features, such as the drag-and-drop widget 302 and/or the browse function 304, may allow user selection of one spreadsheet file at a time, or alternatively, allow a simultaneous selection of multiple spreadsheet files. If multiple spreadsheet files are selected, all entries of the respective files may be converted into seller listings via techniques described in more detail below with respect to
In the exemplary user interface 400, a file identifier 402 associated with one or more selected spreadsheets file may be displayed to the user, in order to, for example, allow users to review that the one or more spreadsheet files have been correctly and accurately selected. For example, the file identifier 402 may be configured to display a name of a selected file (e.g., a file name or a name otherwise associated with the selected file), or another metadata associated with the selected file. Because of the reduction in user mistakes or oversight resulting from this additional review feature, this step may provide a significant technical advantage to the overall equipment online marketplace platform 102, of reducing the likelihood of expending unnecessary bandwidth or memory space. In some implementations, the exemplary user interface 400 may display a file identifier 402 for each of a plurality of spreadsheet files in such way that multiple identifiers of spreadsheet files are displayed on the user interface, if multiple spreadsheet files have been selected for upload (e.g., via upload features 302 or 304 shown in
In some implementations, converting the entries of the selected spreadsheet file into one or more online listings may include retrieving the spreadsheet entries into an independent file (e.g., a data object file or a csv file) and then converting that data object file into a particular format (e.g., XML or any other web-based format), as explained in more detail below with respect to
In the exemplary user interface 600, the server system 104 may load a seller's listings data in order to, for example, allow the user to manage (e.g., remove, modify, confirm, and/or add) data entries associated with one or more listings. In some implementations, existing data entries may correspond to data retrieved from one or more uploaded spreadsheet data files (e.g., one or more spreadsheet files uploaded in the exemplary user interface 300 or identified in file identifier 402 of the exemplary user interface 400). Additionally, or alternatively, existing data entries may correspond to listings data entered by users in one or more data entry methods other than the spreadsheet data file upload option (e.g., listings data entry followed by an keyword input in input feature 202 and selection of a keyword-based sales initiation trigger 204 in
A viewer section 601 may be displayed on the exemplary user interface 600, in order to, for example, allow the user to confirm that the data entries of one or more uploaded spreadsheet data files (e.g., a spreadsheet file corresponding to the file identifier 402) have been correctly and accurately read by the server system 104. Additionally, embedded interface tools or widgets (e.g., an attachment viewer feature 604 and/or a selection feature 606) may be loaded on a viewer section 601 of the exemplary user interface 600, for prompting users for modifications or additions on file attachments for one or more equipment parts, in order to, for example, provide opportunities for users to provide additional descriptions, text edits, corrections of any kind, or image files associated with the seller listings. Until the user chooses to proceed to the next step (e.g., by selecting the icon 608 on the exemplary user interface shown in
In some implementations, the server system 104 may load a bulk upload selector 602 on the exemplary user interface 600, which triggers loading of a spreadsheet file upload user interface (e.g., the exemplary upload user interface 300 depicted in
As shown in
The server system 104 may then validate the CSV data (Step 815), based on various validation rules. The server system 104 may read the CSV data and determine whether the CSV data satisfy a set of validation rules (Step 820). An exemplary set of validation rules is shown in Table 1 below.
If the CSV data is not successfully validated at Step 820 (e.g., the server system 104 determines that the CSV data does not satisfy one or more of the validation rules), the server system 104 may output error(s) to the user at the user device 110 (Step 825). For example, the server system 104 may display first 100 errors to the user on the user device 110 (e.g., in a page or interface loaded after the exemplary user interface 500 depicted in
If the CSV data is successfully validated at Step 820, the server system 104 may upload the CSV data files and/or the one or more uploaded spreadsheet files to one or more processing inbound file repositories (Step 827). Such one or more processing inbound file repositories may reside in one or more databases in communication with the server system 104, such as, for example, database 106. Additionally, or alternatively, if the server system 104 determines that the CSV data is successfully validated at Step 820, the server system 104 may create a record in a data upload master table (e.g., a master data table residing in one or more databases in communication with the server system 104, such as, for example, database 106), with the record flagged as being in a pending status.
After a successful validation, the CSV data may be added as one or more entries in data table(s) (Step 830). In order to do so, first, the server system 104 may read the data upload master table, periodically and/or reactively, and identify all data files (e.g., CSV data files and/or spreadsheet files) having a pending or an in-progress status. For example, a CSV data file, whose record was created in the data upload master table, may be identified from the data upload master table because it was flagged with a pending status in Step 827. Then, for each of the identified one or more data files, the server system 104 may create a record in a data upload child table (e.g., a data table residing in one or more databases in communication with the server system 104, such as, for example, database 106). The record created in the data upload child table may include, for example, any subset of data from the CSV data and/or any metadata associated with the CSV data. Then, the record in the data upload child table, as well as the corresponding record in the data upload master table, may be both flagged as being in a temporary status.
The server system 104 may also read, periodically and/or reactively, at least the data upload master table to identify any data file whose record has been flagged with a temporary status. If such data files are successfully identified, the server system 104 may create, update, or remove electronic listing(s) at the equipment online marketplace platform 102, based on the data table(s) such as the data upload master table and/or the data upload child table (Step 835). In order to do so, first, when a data file in a temporary status is identified, the server system 104 may read all records corresponding to the data file in both the data upload child table and the data upload master table. Then, the server system may determine whether the product identifier (e.g., SKU) for each record is new or existing. A product identifier may be determined to be new, if, for example, the server system 104 determines that equipment online marketplace platform 102 is not hosting any active and/or inactive listing pertaining to that product identifier. Alternatively, the server system 104 may store and apply any other preconfigured rule for determining whether a product identifier is deemed to be new. A product identifier may be determined to be existing if, for example, the server system 104 determines that equipment online marketplace platform 102 has an existing listing and/or a seller record associated with the product identifier. Alternatively, the server system 104 may store and apply any other preconfigured rule for determining whether a product identifier is deemed to be existing.
If the server system 104 determines that the product identifier at the temporary data file(s) has existing listing data (e.g., existing listing data associated with the product identifier at a database in communication with the equipment online marketplace platform 102), the server system 104 may determine whether the temporary data file(s) (e.g., the data files with records flagged with the temporary status as described above) have any difference when compared to the existing listing data. If difference(s) exist, the existing listing data may be updated with the identified difference(s). For example, if new document or record is found in a temporary data file associated with an existing data, the new document or record may be added to the existing listing data. As another example, if no document is found under a particular record in a temporary CSV data file (e.g., a record intentionally left blank or a record having an intentionally removed data), then a corresponding record in the existing listing data having an outdated information may be removed from the existing listing data.
If the seller system 104 determines that the product identifier is new, the server system 104 may assign an identifier of a user (e.g., a first user who uploaded the temporary data file(s), or another user who is designated by the first user to be a seller) as a seller of a new listing associated with the product identifier. The server system 104 may also attach all of the corresponding temporary data file(s) to the new listing data.
After creating a new listing data or updating an existing listing data, the server system 104 may also update metadata (e.g., a binary flag indicating success regarding the listing update, a time stamp associated with the listing update, or any comment associated with the listing update) in the data upload child table. In addition, the server system 104 may also update corresponding records in the data upload master table, with the status being changed to image in progress. The server system 104 may also capture any technical error or missing document error that was generated in the process of creating the new listing data or updating the existing listing data. If any technical error or missing document error was captured, the server system 104 may transmit or display a notification with a missing document list and/or error notification to the seller associated with the listing data and/or a designated administrator of the equipment online marketplace platform 102.
The server system 104 may also read, periodically and/or reactively, the data upload master table to identify any data file whose record has been flagged with the image in progress status. If the server system 104 finds such data file(s), the server system 104 may identify all corresponding data, including one or more product identifiers, from at least the data upload child table, and import one or more images associated with the one or more product identifiers. The one or more images may be imported from, for example, the data file(s) themselves, database 106, or any external data source in communication with the server system 104. After the one or more images have been imported, the server system 104 may determine whether the updated listing data complies with predetermined rules associated with image count and/or document count. If the updated listing is determined to be compliant based on the predetermined rules, the listing may be automatically enabled, by the server system 104, on the equipment online marketplace platform 102. (Step 845). If the updated listing is not determined to be compliant based on the predetermined rules, the listing may be disabled. An exemplary set of the predetermined rules is shown in Table 2 below.
After successfully completing an operation of enabling or disabling electronic listing(s) at the equipment online marketplace platform 102 (Step 845), the server system 104 may update metadata (e.g., a binary flag indicating successful completion of each enable/disable operation, a time stamp associated with the each listing update, or any comment associated with the listing update) in the data upload child table. In addition, the server system 104 may also update corresponding records in the data upload master table, with the status being changed to complete. Furthermore, the server system 104 may transmit or display one or more notifications indicating the completion of the operation, to (i) a seller associated with the listing(s), and/or (ii) a designated administrator of the equipment online marketplace platform 102. The one or more notifications may indicate, for example, that one or more product listings have been successfully created, that one or more product listings have been successfully updated, that one or more listings have been enabled, and/or that one or more listings have been disabled. Additionally, or alternatively, the one or more notifications may indicate, for example, an enabled product listing count and/or disabled product listing count, as well as a list of missing images if applicable. After the operation of enabling or disabling electronic listing(s) at the equipment online marketplace platform 102 (Step 845), the server system may re-index data (e.g., data upload master table, data upload child table, etc.).
Although
Although
If programmable logic is used, such logic may execute on a commercially available processing platform or a special purpose device. One of ordinary skill in the art may appreciate that embodiments of the disclosed subject matter can be practiced with various computer system configurations, including multi-core multiprocessor systems, minicomputers, mainframe computers, computer linked or clustered with distributed functions, as well as pervasive or miniature computers that may be embedded into virtually any device.
For instance, at least one processor device and a memory may be used to implement the above-described embodiments. A processor device may be a single processor, a plurality of processors, or combinations thereof. Processor devices may have one or more processor “cores.”
Various embodiments of the present disclosure, as described above in the examples of
As shown in
A device 1000, such as user device 110, the server system 104, or computer systems of any one or more entities associated with an equipment dismantlement process, may also include a main memory 1040, for example, random access memory (RAM), and may also include a secondary memory 1030. Secondary memory, e.g., a read-only memory (ROM), may be, for example, a hard disk drive or a removable storage drive. Such a removable storage drive may comprise, for example, a floppy disk drive, a magnetic tape drive, an optical disk drive, a flash memory, or the like. The removable storage drive in this example reads from and/or writes to a removable storage unit in a well-known manner. The removable storage unit may comprise a floppy disk, magnetic tape, optical disk, etc., which is read by and written to by the removable storage drive. As will be appreciated by persons skilled in the relevant art, such a removable storage unit generally includes a computer usable storage medium having stored therein computer software and/or data.
In alternative implementations, secondary memory 1030 may include other similar means for allowing computer programs or other instructions to be loaded into device 1000. Examples of such means may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units and interfaces, which allow software and data to be transferred from a removable storage unit to device 1000.
A device 1000 may also include a communications interface (“COM”) 1060. Communications interface 1060 allows software and data to be transferred between device 1000 and external devices. Communications interface 1060 may include a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, or the like. Software and data transferred via communications interface may be in the form of signals, which may be electronic, electromagnetic, optical, or other signals capable of being received by communications interface 1060. These signals may be provided to communications interface 1060 via a communications path of device 1000, which may be implemented using, for example, wire or cable, fiber optics, a phone line, a cellular phone link, an RF link or other communications channels.
The hardware elements, operating systems and programming languages of such equipment are conventional in nature, and it is presumed that those skilled in the art are adequately familiar therewith. A device 1000 also may include input and output ports 1050 to connect with input and output devices such as keyboards, mice, touchscreens, monitors, displays, etc. Of course, the various server functions may be implemented in a distributed fashion on a number of similar platforms, to distribute the processing load. Alternatively, the servers may be implemented by appropriate programming of one computer hardware platform.
The systems, apparatuses, devices, and methods disclosed herein are described in detail by way of examples and with reference to the figures. The examples discussed herein are examples only and are provided to assist in the explanation of the apparatuses, devices, systems, and methods described herein. None of the features or components shown in the drawings or discussed below should be taken as mandatory for any specific implementation of any of these the apparatuses, devices, systems, or methods unless specifically designated as mandatory. For ease of reading and clarity, certain components, modules, or methods may be described solely in connection with a specific figure. In this disclosure, any identification of specific techniques, arrangements, etc. are either related to a specific example presented or are merely a general description of such a technique, arrangement, etc. Identifications of specific details or examples are not intended to be, and should not be, construed as mandatory or limiting unless specifically designated as such. Any failure to specifically describe a combination or sub-combination of components should not be understood as an indication that any combination or sub-combination is not possible. It will be appreciated that modifications to disclosed and described examples, arrangements, configurations, components, elements, apparatuses, devices, systems, methods, etc. can be made and may be desired for a specific application. Also, for any methods described, regardless of whether the method is described in conjunction with a flow diagram, it should be understood that unless otherwise specified or required by context, any explicit or implicit ordering of steps performed in the execution of a method does not imply that those steps must be performed in the order presented but instead may be performed in a different order or in parallel.
Throughout this disclosure, references to components or modules generally refer to items that logically can be grouped together to perform a function or group of related functions. Like reference numerals are generally intended to refer to the same or similar components. Components and modules can be implemented in software, hardware, or a combination of software and hardware. The term “software” is used expansively to include not only executable code, for example machine-executable or machine-interpretable instructions, but also data structures, data stores and computing instructions stored in any suitable electronic format, including firmware, and embedded software. The terms “information” and “data” are used expansively and includes a wide variety of electronic information, including executable code; content such as text, video data, and audio data, among others; and various codes or flags. The terms “information,” “data,” and “content” are sometimes used interchangeably when permitted by context.
It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
This application claims the benefit of priority to U.S. Provisional Application No. 62/758,272, filed Nov. 9, 2018, which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62758272 | Nov 2018 | US |