<SEC-DOCUMENT>0001654954-22-005104.txt : 20220419
<SEC-HEADER>0001654954-22-005104.hdr.sgml : 20220419
<ACCEPTANCE-DATETIME>20220418202821
ACCESSION NUMBER:		0001654954-22-005104
CONFORMED SUBMISSION TYPE:	8-K
PUBLIC DOCUMENT COUNT:		15
CONFORMED PERIOD OF REPORT:	20220418
ITEM INFORMATION:		Results of Operations and Financial Condition
ITEM INFORMATION:		Financial Statements and Exhibits
FILED AS OF DATE:		20220419
DATE AS OF CHANGE:		20220418

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			TOMI Environmental Solutions, Inc.
		CENTRAL INDEX KEY:			0000314227
		STANDARD INDUSTRIAL CLASSIFICATION:	INDUSTRIAL ORGANIC CHEMICALS [2860]
		IRS NUMBER:				591947988
		STATE OF INCORPORATION:			FL
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		8-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-39574
		FILM NUMBER:		22833222

	BUSINESS ADDRESS:	
		STREET 1:		8430 SPIRES WAY
		CITY:			FREDERICK
		STATE:			MD
		ZIP:			21701
		BUSINESS PHONE:		8005251698

	MAIL ADDRESS:	
		STREET 1:		8430 SPIRES WAY
		CITY:			FREDERICK
		STATE:			MD
		ZIP:			21701

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	Ozone Man, Inc.
		DATE OF NAME CHANGE:	20071130

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	RPS GROUP INC
		DATE OF NAME CHANGE:	19940818

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	DAUPHIN INC
		DATE OF NAME CHANGE:	19940818
</SEC-HEADER>
<DOCUMENT>
<TYPE>8-K
<SEQUENCE>1
<FILENAME>tomz_8k.htm
<DESCRIPTION>FORM 8-K
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?><html xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:currency="http://xbrl.sec.gov/currency/2021" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:dei="http://xbrl.sec.gov/dei/2021q4" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:us-roles="http://fasb.org/us-roles/2021-01-31" xmlns:country="http://xbrl.sec.gov/country/2021" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:srt-types="http://fasb.org/srt-types/2021-01-31" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:srt="http://fasb.org/srt/2021-01-31" xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31" xmlns:tomz="http://tomz.com/20220418"><head><title>tomz_8k.htm</title><!--Document Created by XBRLMaster--><meta http-equiv="Content-Type" content="text/html" /></head><body style="text-align:justify;font:10pt times new roman"><div style='display:none;text-align:justify;font:10pt times new roman;' id='XBRLDIV'><ix:header><ix:hidden><ix:nonNumeric name="dei:EntityCentralIndexKey" contextRef="From2022-04-18to2022-04-18">0000314227</ix:nonNumeric><ix:nonNumeric name="dei:AmendmentFlag" contextRef="From2022-04-18to2022-04-18" format="ixt:booleanfalse">false</ix:nonNumeric><ix:nonNumeric name="dei:SecurityExchangeName" contextRef="From2022-04-18to2022-04-18">NASDAQ</ix:nonNumeric></ix:hidden><ix:references><link:schemaRef xlink:type='simple' xlink:href='tomz-20220418.xsd'></link:schemaRef></ix:references><ix:resources><xbrli:context id="From2022-04-18to2022-04-18"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000314227</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-18</xbrli:startDate><xbrli:endDate>2022-04-18</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="USD"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:unit id="Shares"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="USDPShares"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit></ix:resources></ix:header></div><table style="font-size:1px;width:100%"><tbody><tr><td style="BORDER-BOTTOM: 5px solid;"></td></tr><tr><td style="BORDER-BOTTOM: 2px solid;"></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>UNITED STATES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>SECURITIES AND EXCHANGE COMMISSION</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Washington, D.C. 20549</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span style="font-size:18pt">FORM <ix:nonNumeric name="dei:DocumentType" contextRef="From2022-04-18to2022-04-18">8-K</ix:nonNumeric></span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>CURRENT REPORT</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Pursuant to Section 13 or 15(d) of the</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Securities Exchange Act of 1934</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Date of Report (Date of earliest event reported): <strong><ix:nonNumeric name="dei:DocumentPeriodEndDate" contextRef="From2022-04-18to2022-04-18" format="ixt:datemonthdayyearen">April 18, 2022</ix:nonNumeric></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><table style="border-spacing:0;font-size:10pt;text-align:left;margin-left:auto;margin-right:auto;width:65%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: #000000 1px solid;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span style="font-size:18pt"><ix:nonNumeric name="dei:EntityRegistrantName" contextRef="From2022-04-18to2022-04-18">TOMI ENVIRONMENTAL SOLUTIONS, INC.</ix:nonNumeric></span></strong></p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(Exact name of registrant as specified in its charter)</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><table style="border-spacing:0;font-size:10pt;text-align:justify;margin-left:auto;margin-right:auto;width:85%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;width:30%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><ix:nonNumeric name="dei:EntityIncorporationStateCountryCode" contextRef="From2022-04-18to2022-04-18" format="ixt-sec:stateprovnameen">Florida</ix:nonNumeric></strong></p></td><td style="width:5%;"></td><td style="BORDER-BOTTOM: 1px solid;width:30%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><ix:nonNumeric name="dei:EntityFileNumber" contextRef="From2022-04-18to2022-04-18">000-09908</ix:nonNumeric></strong></p></td><td style="width:5%;"></td><td style="BORDER-BOTTOM: 1px solid;width:30%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><ix:nonNumeric name="dei:EntityTaxIdentificationNumber" contextRef="From2022-04-18to2022-04-18">59-1947988</ix:nonNumeric></strong></p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(State or other jurisdiction </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">of incorporation)</p></td><td></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(Commission </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">File Number)</p></td><td></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(I.R.S. Employer </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Identification No.)</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;text-align:justify;margin-left:auto;margin-right:auto;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:100%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><span style="text-decoration:underline"><strong><ix:nonNumeric name="dei:EntityAddressAddressLine1" contextRef="From2022-04-18to2022-04-18">8430 SPIRES WAY</ix:nonNumeric> </strong><strong><ix:nonNumeric name="dei:EntityAddressCityOrTown" contextRef="From2022-04-18to2022-04-18">FREDERICK</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressStateOrProvince" contextRef="From2022-04-18to2022-04-18" format="ixt-sec:stateprovnameen">Maryland</ix:nonNumeric> <ix:nonNumeric name="dei:EntityAddressPostalZipCode" contextRef="From2022-04-18to2022-04-18">21701</ix:nonNumeric></strong></span></p></td></tr><tr style="height:15px"><td style="width:100%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(Address of principal executive offices) (Zip Code)</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:100%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span style="text-decoration:underline">(<ix:nonNumeric name="dei:CityAreaCode" contextRef="From2022-04-18to2022-04-18">800</ix:nonNumeric>) <ix:nonNumeric name="dei:LocalPhoneNumber" contextRef="From2022-04-18to2022-04-18">525-1698</ix:nonNumeric></span></strong></p></td></tr><tr style="height:15px"><td style="width:100%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(Registrant's telephone number, including area code)</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:100%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span style="text-decoration:underline">Not Applicable</span></strong></p></td></tr><tr style="height:15px"><td style="width:100%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(Former name or former address, if changed since last report)</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Check the appropriate box below if the Form 8-K filing is intended to simultaneously satisfy the filing obligation of the registrant under any of the following provisions (<em>see</em> General Instruction A.2. below):</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><ix:nonNumeric name="dei:WrittenCommunications" contextRef="From2022-04-18to2022-04-18" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric>&#160;&#160;&#160; &#160;Written communications pursuant to Rule 425 under the Securities Act (17 CFR 230.425)</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><ix:nonNumeric name="dei:SolicitingMaterial" contextRef="From2022-04-18to2022-04-18" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric>&#160;&#160;&#160; &#160;Soliciting material pursuant to Rule 14a-12 under the Exchange Act (17 CFR 240.14a-12)</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><ix:nonNumeric name="dei:PreCommencementTenderOffer" contextRef="From2022-04-18to2022-04-18" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric>&#160;&#160;&#160;&#160; Pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act (17 CFR 240.14d-2(b))</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><ix:nonNumeric name="dei:PreCommencementIssuerTenderOffer" contextRef="From2022-04-18to2022-04-18" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric>&#160;&#160;&#160;&#160; Pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act (17 CFR 240.13e-4(c))</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Securities registered pursuant to Section 12(b) of the Act:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;border-right:#000000 1px solid;border-bottom:#000000 1px solid;text-align:justify;margin-left:auto;margin-right:auto;width:100%" cellpadding="1"><tbody><tr style="height:15px"><td style="border-top:#000000 1px solid;border-left:#000000 1px solid;padding:1px;width:35%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Title of each class</strong></p></td><td style="border-top:#000000 1px solid;padding-bottom:1px;padding-top:1px;padding-left:1px;border-left:#000000 1px solid;padding-right:1px;padding:1px;width:30%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Trading Symbol(s)</strong></p></td><td style="border-top:#000000 1px solid;padding-bottom:1px;padding-top:1px;padding-left:1px;border-left:#000000 1px solid;padding-right:1px;padding:1px;width:35%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Name of each exchange on which registered</strong></p></td></tr><tr style="height:15px"><td style="border-top:#000000 1px solid;padding-bottom:1px;padding-top:1px;padding-left:1px;border-left:#000000 1px solid;padding-right:1px;padding:1px;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><ix:nonNumeric name="dei:Security12bTitle" contextRef="From2022-04-18to2022-04-18">Common Stock, $0.01 par value per share</ix:nonNumeric></p></td><td style="border-top:#000000 1px solid;padding-bottom:1px;padding-top:1px;padding-left:1px;border-left:#000000 1px solid;padding-right:1px;padding:1px;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><ix:nonNumeric name="dei:TradingSymbol" contextRef="From2022-04-18to2022-04-18">TOMZ</ix:nonNumeric></p></td><td style="border-top:#000000 1px solid;padding-bottom:1px;padding-top:1px;padding-left:1px;border-left:#000000 1px solid;padding-right:1px;padding:1px;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Nasdaq Capital Market</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Indicate by check mark whether the registrant is an emerging growth company as defined in Rule 405 of the Securities Act of 1933 (&#167;230.405 of this chapter) or Rule 12b-2 of the Securities Exchange Act of 1934 (&#167;240.12b-2 of this chapter).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 45px; text-align:justify;">Emerging growth company <ix:nonNumeric name="dei:EntityEmergingGrowthCompany" contextRef="From2022-04-18to2022-04-18" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section&#160;13(a) of the Exchange Act.&#160;&#9744;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="font-size:1px;width:100%"><tbody><tr><td style="BORDER-BOTTOM: 2px solid;"></td></tr><tr><td style="BORDER-BOTTOM: 5px solid;"></td></tr></tbody></table><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="TEXT-INDENT: 0px;"></td></tr><tr style="height:15px"><td><p style='page-break-after: always'></p></td></tr><tr style="height:15px"><td>&#160;</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Item 2.02</strong> <strong>Results of Operations and Financial Condition.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">On April 18, 2022, TOMI Environmental Solutions, Inc. (the &#8220;Company&#8221;) issued a press release regarding preliminary financial results for the three months ended March 31, 2022. &#160;A copy of the press release is attached to this Current Report on Form 8-K as Exhibit 99.1. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">The information included in this Current Report on Form 8-K, including the exhibit hereto, shall not be deemed &#8220;filed&#8221; for purposes of, nor shall it be deemed incorporated by reference in, any filing under the Securities Act of 1933 or the Securities Exchange Act of 1934, except as expressly set forth by specific reference in such a filing.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Item 9.01 Financial Statements and Exhibits.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">(d) Exhibits</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">See the Exhibit Index below, which is incorporated by reference herein.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: #000000 1px solid;width:9%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Exhibit No.</strong></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: #000000 1px solid;width:89%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Description</strong></p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:9%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="tomz_ex991.htm">99.1</a></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:89%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><a href="tomz_ex991.htm">Press Release date April 18, 2022</a></p></td></tr><tr style="height:15px"><td style="width:9%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">104</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:89%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Cover Page Interactive Data File (embedded within the Inline XBRL document)</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">2</p></td></tr><tr style="height:15px"><td><p style='page-break-after: always'></p></td></tr><tr style="height:15px"><td>&#160;</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>SIGNATURES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned hereunto duly authorized.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2" style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>TOMI ENVIRONMENTAL SOLUTIONS, INC.</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="width:50%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:5%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:35%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:10%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Date: April 18, 2022</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">By:</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">/s/ Halden S. Shane</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Name:</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Halden S. Shane</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Title:</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Chief Executive Officer</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160; </p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">3</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-99.1
<SEQUENCE>2
<FILENAME>tomz_ex991.htm
<DESCRIPTION>EX-99.1
<TEXT>
<html><head><title>tomz_ex991.htm</title><!--Document created using EDGARMaster--></head><body style="TEXT-ALIGN: left; FONT: 10pt times new roman"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>EXHIBIT 99.1</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>TOMI ANNOUNCES CEO SHAREHOLDER LETTER DISCUSSING PRELIMINARY </strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FIRST QUARTER RESULTS, GROWTH STRATEGY AND SHARE REGISTRATION</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">FREDERICK, MD, April 18, 2022&#8212; TOMI Environmental Solutions, Inc.&#174; (&#8220;TOMI&#8221;) (NASDAQ: TOMZ), a global company that specializes in disinfection and decontamination through the utilization of its premier Binary Ionization Technology (BIT) platform through its SteraMist brand of products, published a letter from the Company&#8217;s Chief Executive Officer, Dr. Halden Shane, to shareholders. The letter is included in its entirety below: </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>SHAREHOLDER LETTER</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">Dear Shareholders,</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">I wanted to take the opportunity to provide some preliminary results for the first quarter ended March 31, 2022 as well as to update you on the progress we are making executing our longer-term growth strategy. Please note that certain preliminary financial information described herein has not been audited and is subject to adjustment based on the Company&#8217;s completion of the quarter-end financial close processes.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:left;">The company ended the first quarter of 2022 with notable improvements when compared to prior periods in 2021.&nbsp; We were cash flow positive from operations for the first time since the second quarter of 2020 and maintained our working capital position.&nbsp; We expect first quarter sales to grow approximately 11% over what was reported in the first quarter of 2021 and 15% sequentially over the fourth quarter of 2021.&nbsp; During the first quarter of 2022 we received approximately $3.5 million in orders, of which we anticipate about $3.2 million will be recognized as revenue in our current calendar year. This strong start of the year bodes well for 2022. </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp; </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">A key driver to our longer-term growth is strengthening demand for our Custom Engineered Systems (CES) from both the life science and hospital sectors. We have secured several new orders for CES that we expect to install and realize revenue in late 2022 and early 2023.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">In order to fulfill this demand for our CES, we enhanced our production capabilities with the addition of ARM Enertech Associates who can manufacture our CES in their Pennsylvania facility. Furthermore, our existing manufacturer Planet Innovation has expanded into California providing easier access to our internal technology team and a lower cost in domestic shipment charges. These developments will reduce our overall costs and lead time. We continue to look to expand our team as we head into the second quarter, and are optimistic that we will be making some key additions to our east and west coast sales teams.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">1</td></tr> <tr style="height:15px"> <td><p style='page-break-after: always'></p></td></tr> <tr style="height:15px"> <td>&nbsp;</td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">As disclosed previously in our Form 8-K, Nasdaq notified the Company that it did not meet the minimum $1.00 per share requirement for continued inclusion on The Nasdaq Capital Market pursuant to Nasdaq Listing Rule 5550(a)(2) (the &#8220;Bid Price Requirement&#8221;). We do not believe that the current trading price of our common stock reflects accurately the value of the Company given our historical and anticipated financial performance.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">The notification received has no immediate effect on the Company&#8217;s Nasdaq listing. In accordance with Nasdaq rules, the Company has been provided an initial period of 6 months or approximately 180 calendar days, or until October 11, 2022 (the &#8220;Compliance Date&#8221;), to regain compliance with the Bid Price Requirement. If, at any time before the Compliance Date, the closing bid price for the Common Stock is at least $1.00 for a minimum of 10 consecutive business days, the Staff will provide the Company written confirmation of compliance with the Bid Price Requirement. If the Company does not regain compliance with the Bid Price Requirement by the Compliance Date, the Company may be eligible for an additional 180-calendar-day compliance period. To qualify, the Company will be required to meet the continued listing requirement for market value of publicly held shares and all other initial listing standards for The Nasdaq Capital Market, with the exception of the Bid Price Requirement, and will need to provide written notice of its intention to cure the deficiency during the second 180-calendar-day compliance period, by effecting a reverse stock split, if necessary.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">If the Company does not regain compliance with the Bid Price Requirement by the Compliance Date and is not eligible for an additional compliance period at that time, the Staff will provide written notification to the Company the Common Stock will be subject to delisting. At that time, the Company may appeal the Staff&#8217;s delisting determination to a Nasdaq Hearings Panel.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">The Company intends to monitor the closing bid price of the Common Stock and may, if appropriate, consider available options to regain compliance with the Bid Price Requirement.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">A few shareholders have expressed concern about the recent registration of shares of common stock subject to certain warrants. The company registered <strong><u>all</u></strong> warrant shares on an equitable basis, including both the investor warrants and executive warrants. The registration of warrant shares is an ordinary course transaction and there is no present intent by management to sell any shares.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">2</td></tr> <tr style="height:15px"> <td><p style='page-break-after: always'></p></td></tr> <tr style="height:15px"> <td>&nbsp;</td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">Respectfully yours,</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">_________________________</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">Dr. Halden Shane</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">Chief Executive Officer</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;"><strong>TOMI&#8482; Environmental Solutions, Inc.: Innovating for a safer world</strong><strong><sup>&#174;</sup></strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">TOMI&#8482; Environmental Solutions, Inc. (NASDAQ:TOMZ) is a global decontamination and infection prevention company, providing environmental solutions for indoor surface disinfection through the manufacturing, sales and licensing of its premier Binary Ionization Technology<sup>&#174;</sup> (BIT<sup>&#8482;</sup>) platform. Invented under a defense grant in association with the Defense Advanced Research Projects Agency (DARPA) of the U.S. Department of Defense, BIT<sup>&#8482;</sup> solution utilizes a low percentage Hydrogen Peroxide as its only active ingredient to produce a fog of ionized Hydrogen Peroxide (iHP<sup>&#8482;</sup>). Represented by the SteraMist<sup>&#174; </sup>brand of products, iHP<sup>&#8482;</sup> produces a germ-killing aerosol that works like a visual non-caustic gas.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">TOMI products are designed to service a broad spectrum of commercial structures, including, but not limited to, hospitals and medical facilities, cruise ships, office buildings, hotel and motel rooms, schools, restaurants, meat and produce processing facilities, military barracks, police and fire departments, and athletic facilities. TOMI products and services have also been used in single-family homes and multi-unit residences.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">TOMI<sup> </sup>develops training programs and application protocols for its clients and is a member in good standing with The American Biological Safety Association, The American Association of Tissue Banks, Association for Professionals in Infection Control and Epidemiology, Society for Healthcare Epidemiology of America, America Seed Trade Association, and The Restoration Industry Association.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">For additional information, please visit http://www.tomimist.com/ or contact us at info@tomimist.com</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">3</td></tr> <tr style="height:15px"> <td><p style='page-break-after: always'></p></td></tr> <tr style="height:15px"> <td>&nbsp;</td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;"><strong>Safe Harbor Statement under the Private Securities Litigation Reform Act of 1995</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">This press release contain forward-looking statements that are based on current expectations, estimates, forecasts and projections of future performance based on management&#8217;s judgment, beliefs, current trends, and anticipated product performance. These forward-looking statements include, without limitation, statements relating to anticipated financial performance and operating results, including result for the March quarter in 2022; expected growth in sales and market demand; intent to sell shares by the management; revenue opportunities of CES products and timing of revenue recognition; growth strategies of the company; anticipated manufacturing capability; and trading price of common stock. Forward-looking statements involve risks and uncertainties that may cause actual results to differ materially from those contained in the forward-looking statements. These factors include, but are not limited to, the impact of COVID-19 pandemic on our business and customers; our ability to maintain and manage growth and generate sales, our reliance on a single or a few products for a majority of revenues; the general business and economic conditions; and other risks as described in our SEC filings, including our Annual Report on Form 10-K for the fiscal year ended December 31, 2020 filed by us with the SEC and other periodic reports we filed with the SEC. The information provided in this document is based upon the facts and circumstances known at this time. Other unknown or unpredictable factors or underlying assumptions subsequently proving to be incorrect could cause actual results to differ materially from those in the forward-looking statements. Although we believe that the expectations reflected in the forward-looking statements are reasonable, we cannot guarantee future results, level of activity, performance, or achievements. You should not place undue reliance on these forward-looking statements. All information provided in this press release is as of today&#8217;s date, unless otherwise stated, and we undertake no duty to update such information, except as required under applicable law..</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">INVESTOR RELATIONS CONTACT:</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">John Nesbett/Jennifer Belodeau</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">IMS Investor Relations</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">tomi@imsinvestorrelations.com</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">4</td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&nbsp;</p><body>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>3
<FILENAME>tomz-20220418.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<!--XBRL Document Created with XBRLMaster-->
<!--Version: 2.3.08-->
<!--Based on XBRL 2.1-->
<!--Date of creation: 04/18/2022-->
<!--Software architectural design and coding: A'c Dharmapremananda Avt.-->
<!--Copyright (c) 2022 I-NET Business Solutions, Inc. All Rights Reserved.-->
<schema xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:currency="http://xbrl.sec.gov/currency/2021" xmlns:us-gaap-att="http://fasb.org/us-gaap/attributes" xmlns:sic="http://xbrl.sec.gov/sic/2021" xmlns:exch="http://xbrl.sec.gov/exch/2021" xmlns:invest="http://xbrl.sec.gov/invest/2013-01-31" xmlns:negated="http://www.xbrl.org/2009/role/negated" xmlns:naics="http://xbrl.sec.gov/naics/2021" xmlns:us-types="http://fasb.org/us-types/2021-01-31" xmlns:stpr="http://xbrl.sec.gov/stpr/2021" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:country="http://xbrl.sec.gov/country/2021" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:srt-types="http://fasb.org/srt-types/2021-01-31" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:srt-roles="http://fasb.org/srt-roles/2021-01-31" xmlns:dei="http://xbrl.sec.gov/dei/2021q4" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:srt="http://fasb.org/srt/2021-01-31" xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31" xmlns:tomz="http://tomz.com/20220418" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://tomz.com/20220418">
 <annotation>
  <appinfo>
   <link:roleType roleURI="http://tomz.com/role/Cover" id="Cover">
    <link:definition>000001 - Document - Cover</link:definition>
    <link:usedOn>link:presentationLink</link:usedOn>
    <link:usedOn>link:calculationLink</link:usedOn>
    <link:usedOn>link:definitionLink</link:usedOn>
   </link:roleType>
   <link:linkbaseRef xlink:type="simple" xlink:href="tomz-20220418_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
   <link:linkbaseRef xlink:type="simple" xlink:href="tomz-20220418_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
   <link:linkbaseRef xlink:type="simple" xlink:href="tomz-20220418_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
   <link:linkbaseRef xlink:type="simple" xlink:href="tomz-20220418_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
  </appinfo>
 </annotation>
 <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
 <import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" />
 <import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
 <import namespace="http://xbrl.sec.gov/country/2021" schemaLocation="https://xbrl.sec.gov/country/2021/country-2021.xsd" />
 <import namespace="http://xbrl.sec.gov/currency/2021" schemaLocation="https://xbrl.sec.gov/currency/2021/currency-2021.xsd" />
 <import namespace="http://xbrl.sec.gov/dei/2021q4" schemaLocation="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd" />
 <import namespace="http://www.xbrl.org/dtr/type/non-numeric" schemaLocation="http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd" />
 <import namespace="http://www.xbrl.org/dtr/type/numeric" schemaLocation="http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd" />
 <import namespace="http://xbrl.sec.gov/exch/2021" schemaLocation="https://xbrl.sec.gov/exch/2021/exch-2021.xsd" />
 <import namespace="http://www.xbrl.org/2009/arcrole/fact-explanatoryFact" schemaLocation="http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd" />
 <import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd" />
 <import namespace="http://www.xbrl.org/2009/role/net" schemaLocation="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd" />
 <import namespace="http://xbrl.sec.gov/naics/2021" schemaLocation="https://xbrl.sec.gov/naics/2021/naics-2021.xsd" />
 <import namespace="http://xbrl.sec.gov/sic/2021" schemaLocation="https://xbrl.sec.gov/sic/2021/sic-2021.xsd" />
 <import namespace="http://fasb.org/srt-roles/2021-01-31" schemaLocation="https://xbrl.fasb.org/srt/2021/elts/srt-roles-2021-01-31.xsd" />
 <import namespace="http://fasb.org/srt-types/2021-01-31" schemaLocation="https://xbrl.fasb.org/srt/2021/elts/srt-types-2021-01-31.xsd" />
 <import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd" />
 <import namespace="http://xbrl.sec.gov/stpr/2021" schemaLocation="https://xbrl.sec.gov/stpr/2021/stpr-2021.xsd" />
 <import namespace="http://fasb.org/us-roles/2021-01-31" schemaLocation="https://xbrl.fasb.org/us-gaap/2021/elts/us-roles-2021-01-31.xsd" />
 <import namespace="http://fasb.org/us-types/2021-01-31" schemaLocation="https://xbrl.fasb.org/us-gaap/2021/elts/us-types-2021-01-31.xsd" />
 <import namespace="http://fasb.org/srt/2021-01-31" schemaLocation="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd" />
 <import namespace="http://fasb.org/us-gaap/2021-01-31" schemaLocation="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>4
<FILENAME>tomz-20220418_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<!--XBRL Document Created with XBRLMaster-->
<!--Version: 2.3.08-->
<!--Based on XBRL 2.1-->
<!--Date of creation: 04/18/2022-->
<!--Software architectural design and coding: A'c Dharmapremananda Avt.-->
<!--Copyright (c) 2022 I-NET Business Solutions, Inc. All Rights Reserved.-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel" />
  <link:roleRef xlink:type="simple" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" />
  <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" />
  <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" />
  <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" />
  <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" />
  <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel" />
  <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US">Cover [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US">Document Period End Date</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US">Entity File Number</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xml:lang="en-US">Entity Incorporation State Country Code</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US">Entity Address Address Line 1</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US">Entity Address City Or Town</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressStateOrProvince_lbl" xml:lang="en-US">Entity Address State Or Province</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US">Entity Address Postal Zip Code</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US">City Area Code</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_WrittenCommunications" xlink:to="dei_WrittenCommunications_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_WrittenCommunications_lbl" xml:lang="en-US">Written Communications</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SolicitingMaterial" xlink:to="dei_SolicitingMaterial_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SolicitingMaterial_lbl" xml:lang="en-US">Soliciting Material</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementTenderOffer" xlink:to="dei_PreCommencementTenderOffer_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementTenderOffer_lbl" xml:lang="en-US">Pre Commencement Tender Offer</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementIssuerTenderOffer" xlink:to="dei_PreCommencementIssuerTenderOffer_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementIssuerTenderOffer_lbl" xml:lang="en-US">Pre Commencement Issuer Tender Offer</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US">Local Phone Number</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US">Security 12b Title</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US">Trading Symbol</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US">Security Exchange Name</link:label>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>5
<FILENAME>tomz-20220418_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<!--XBRL Document Created with XBRLMaster-->
<!--Version: 2.3.08-->
<!--Based on XBRL 2.1-->
<!--Date of creation: 04/18/2022-->
<!--Software architectural design and coding: A'c Dharmapremananda Avt.-->
<!--Copyright (c) 2022 I-NET Business Solutions, Inc. All Rights Reserved.-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef  roleURI="http://tomz.com/role/Cover" xlink:href="tomz-20220418.xsd#Cover" xlink:type="simple" />
  <link:calculationLink xlink:type="extended" xlink:role="http://tomz.com/role/Cover" xlink:title="00000001 - Document - Document and Entity Information" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>6
<FILENAME>tomz-20220418_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<!--XBRL Document Created with XBRLMaster-->
<!--Version: 2.3.08-->
<!--Based on XBRL 2.1-->
<!--Date of creation: 04/18/2022-->
<!--Software architectural design and coding: A'c Dharmapremananda Avt.-->
<!--Copyright (c) 2022 I-NET Business Solutions, Inc. All Rights Reserved.-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://tomz.com/role/Cover" xlink:href="tomz-20220418.xsd#Cover" xlink:type="simple" />
  <link:presentationLink xlink:type="extended" xlink:role="http://tomz.com/role/Cover" xlink:title="00000001 - Document - Cover Page Information">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName" />
    <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityRegistrantName" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey" />
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCentralIndexKey" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentType" xlink:label="loc_deiDocumentType" />
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentType" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AmendmentFlag" xlink:label="loc_deiAmendmentFlag" />
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentFlag" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany" />
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityEmergingGrowthCompany" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_deiDocumentPeriodEndDate" />
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodEndDate" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber" />
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFileNumber" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode" />
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityIncorporationStateCountryCode" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_deiEntityTaxIdentificationNumber" />
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityTaxIdentificationNumber" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1" />
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine1" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown" />
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCityOrTown" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_deiEntityAddressStateOrProvince" />
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressStateOrProvince" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode" />
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressPostalZipCode" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CityAreaCode" xlink:label="loc_deiCityAreaCode" />
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCityAreaCode" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_WrittenCommunications" xlink:label="loc_deiWrittenCommunications" />
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiWrittenCommunications" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_SolicitingMaterial" xlink:label="loc_deiSolicitingMaterial" />
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSolicitingMaterial" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_PreCommencementTenderOffer" xlink:label="loc_deiPreCommencementTenderOffer" />
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementTenderOffer" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="loc_deiPreCommencementIssuerTenderOffer" />
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementIssuerTenderOffer" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_LocalPhoneNumber" xlink:label="loc_deiLocalPhoneNumber" />
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiLocalPhoneNumber" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle" />
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12bTitle" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol" />
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiTradingSymbol" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName" />
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityExchangeName" xlink:type="arc" />
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>7
<FILENAME>tomz-20220418_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<!--XBRL Document Created with XBRLMaster-->
<!--Version: 2.3.08-->
<!--Based on XBRL 2.1-->
<!--Date of creation: 04/18/2022-->
<!--Software architectural design and coding: A'c Dharmapremananda Avt.-->
<!--Copyright (c) 2022 I-NET Business Solutions, Inc. All Rights Reserved.-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef  roleURI="http://tomz.com/role/Cover" xlink:href="tomz-20220418.xsd#Cover" xlink:type="simple" />
  <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" />
  <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" />
  <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" />
  <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" arcroleURI="http://xbrl.org/int/dim/arcrole/all" />
  <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#notAll" arcroleURI="http://xbrl.org/int/dim/arcrole/notAll" />
  <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" />
  <link:definitionLink xlink:type="extended" xlink:role="http://tomz.com/role/Cover" xlink:title="00000001 - Document - Cover Page Information">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CoverAbstract" xlink:label="loc_deiCover" />
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>8
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm139803256886056">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cover<br></strong></div></th>
<th class="th"><div>Apr. 18, 2022</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">TOMI ENVIRONMENTAL SOLUTIONS, INC.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000314227<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">8-K<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Apr. 18,  2022<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">000-09908<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation State Country Code</a></td>
<td class="text">FL<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">59-1947988<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address Address Line 1</a></td>
<td class="text">8430 SPIRES WAY<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address City Or Town</a></td>
<td class="text">FREDERICK<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address State Or Province</a></td>
<td class="text">MD<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address Postal Zip Code</a></td>
<td class="text">21701<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">800<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_WrittenCommunications', window );">Written Communications</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_SolicitingMaterial', window );">Soliciting Material</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_PreCommencementTenderOffer', window );">Pre Commencement Tender Offer</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_PreCommencementIssuerTenderOffer', window );">Pre Commencement Issuer Tender Offer</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">525-1698<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_Security12bTitle', window );">Security 12b Title</a></td>
<td class="text">Common Stock, $0.01 par value per share<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">TOMZ<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_PreCommencementIssuerTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 13e<br> -Subsection 4c<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_PreCommencementIssuerTenderOffer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_PreCommencementTenderOffer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 14d<br> -Subsection 2b<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_PreCommencementTenderOffer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SolicitingMaterial">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Section 14a<br> -Number 240<br> -Subsection 12<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SolicitingMaterial</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_WrittenCommunications">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 425<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_WrittenCommunications</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>9
<FILENAME>tomz_8k_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2021q4"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="tomz-20220418.xsd" xlink:type="simple"/>
    <context id="From2022-04-18to2022-04-18">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000314227</identifier>
        </entity>
        <period>
            <startDate>2022-04-18</startDate>
            <endDate>2022-04-18</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <unit id="USDPShares">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <dei:EntityCentralIndexKey contextRef="From2022-04-18to2022-04-18">0000314227</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="From2022-04-18to2022-04-18">false</dei:AmendmentFlag>
    <dei:SecurityExchangeName contextRef="From2022-04-18to2022-04-18">NASDAQ</dei:SecurityExchangeName>
    <dei:DocumentType contextRef="From2022-04-18to2022-04-18">8-K</dei:DocumentType>
    <dei:DocumentPeriodEndDate contextRef="From2022-04-18to2022-04-18">2022-04-18</dei:DocumentPeriodEndDate>
    <dei:EntityRegistrantName contextRef="From2022-04-18to2022-04-18">TOMI ENVIRONMENTAL SOLUTIONS, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="From2022-04-18to2022-04-18">FL</dei:EntityIncorporationStateCountryCode>
    <dei:EntityFileNumber contextRef="From2022-04-18to2022-04-18">000-09908</dei:EntityFileNumber>
    <dei:EntityTaxIdentificationNumber contextRef="From2022-04-18to2022-04-18">59-1947988</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="From2022-04-18to2022-04-18">8430 SPIRES WAY</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="From2022-04-18to2022-04-18">FREDERICK</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="From2022-04-18to2022-04-18">MD</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="From2022-04-18to2022-04-18">21701</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="From2022-04-18to2022-04-18">800</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="From2022-04-18to2022-04-18">525-1698</dei:LocalPhoneNumber>
    <dei:WrittenCommunications contextRef="From2022-04-18to2022-04-18">false</dei:WrittenCommunications>
    <dei:SolicitingMaterial contextRef="From2022-04-18to2022-04-18">false</dei:SolicitingMaterial>
    <dei:PreCommencementTenderOffer contextRef="From2022-04-18to2022-04-18">false</dei:PreCommencementTenderOffer>
    <dei:PreCommencementIssuerTenderOffer contextRef="From2022-04-18to2022-04-18">false</dei:PreCommencementIssuerTenderOffer>
    <dei:Security12bTitle contextRef="From2022-04-18to2022-04-18">Common Stock, $0.01 par value per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="From2022-04-18to2022-04-18">TOMZ</dei:TradingSymbol>
    <dei:EntityEmergingGrowthCompany contextRef="From2022-04-18to2022-04-18">false</dei:EntityEmergingGrowthCompany>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>10
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( (JCDE0'04UB@0   +$    0    9&]C4')O<',O87!P+GAM
M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG
M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    " "*HY)4I\*A[>\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+!
M3L,P#(9?!>7>.LW0!%'7"X@32$A, G&+'&^+:-HH,6KW]J1EZX3@ 3C&_O/Y
ML^0:@\8^TG/L T5VE*Y&WW9)8]B( W/0  D/Y$TJ<Z++S5T?O>'\C'L(!C_,
MGD!)N09/;*QA Q.P" M1-+5%C9$,]_&$M[C@PV=L9YA%H)8\=9R@*BL0S30Q
M',>VA@M@@C%%G[X+9!?B7/T3.W= G))C<DMJ&(9R6,VYO$,%;T^/+_.ZA>L2
MFPXI_TI.\S'01IPGOZ[N[K</HE%2J4)>%]7M5DJM;G2U?I]<?_A=A'UOW<[]
M8^.S8%/#K[MHO@!02P,$%     @ BJ.25)E<G",0!@  G"<  !,   !X;"]T
M:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M
M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R
M>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2P]R"BPA+>!3+
MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,!
M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K
MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2
MBW <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_KFVB<"HU;3]-K
M=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K>A(5M>5 TR
M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$
MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7<K_WUE[O)I#-ZG7TZSFN4
M?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R.AQG0GS/]O:1
MI24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG LR+7E$8D19_(
M+;KD$3BU20TR$S\(G8:8:E < J0),9:AAOBTQJP1X!-]M[X(R-^-B/>K;YH]
M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M
MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZ<TT#PE"\D^DJ1CVFS(Z=T)LWH
M,QK!1J\;=8=HTCQZ_@7YG#4*')$;'0)G&[-&(81IN_ >KR2.FJW"$2M"/F(9
M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+
MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T
M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+
M.7\N?<^E[[GT/:'2MS<C?6?!TXM;WD9N6\3[KC':US0N*&-7<LW(QU2ODRG8
M.9_ [/UH/I[Q[?K9)(2OFEDM(Q:02X&S022X_(O*\"K$">AD6R4)RU3393>*
M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W<DOJMI2^M28X
M2O2QS'!.'LL,.V<\DAVV=Z =-?OV77;D(Z4P4Y=#N!I"O@-MNIW<.CB>F)&Y
M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_#
M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0
MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR
ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC
MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYN<KGHB=OJ7
M=\%@\OUPR4</Y3OG7_1=0ZY^]MWC^FZ3.TA,G'G%$0%T10(CE1P&%A<RY%#N
MDI &$P'-E,E$\ *"9*8<@)CZ"[WR#+DI%<ZM/CE_12R#ADY>TB42%(JP# 4A
M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF
M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.'<YMZN,)%K/]8UA[Y,M\Y<-LZW@->
MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_
M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]!
MU4#E/]O4#6CV#30<D05>,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04
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
MW&,EC'%BM/XU@LD/['X 4$L#!!0    ( (JCDE2JQ"(6,P$  "("   /
M>&PO=V]R:V)O;VLN>&ULC5'1;L(P#/R5*A^P%K0A#5%>0-N0I@V-B??0NM0B
MB2O'A8VOG]NJ&M)>]I3<V;K<7187XM.!Z)1\>1=B;FJ19IZFL:C!VWA'#02=
M5,3>BD(^IK%AL&6L <2[=)IEL]1;#&:Y&+6VG-X"$B@$*2C9$7N$2_R==S Y
M8\0#.I3OW/1W!R;Q&-#C%<K<9":)-5U>B/%*0:S;%4S.Y68R#/; @L4?>M>9
M_+2'V#-B#Q]6C>1FEJE@A1REW^CUK7H\@RX/J!5Z0B? :ROPS-0V&(Z=C*9(
M;V+T/8SG4.*<_U,C5146L*:B]1!DZ)'!=09#K+&))@G60VY6= ;N\N@#FW+(
M)FKJIBF>HPYX4P[V1D\E5!B@?%.9J+SV4VPYZ8Y>9WK_,'G4'EKG5LJ]AU>R
MY1AQ_)[E#U!+ P04    " "*HY)4)!Z;HJT   #X 0  &@   'AL+U]R96QS
M+W=O<FMB;V]K+GAM;"YR96QSM9$]#H,P#(6O$N4 -5"I0P5,75@K+A %\R,2
M$L6N"K<OA0&0.G1ALIXM?^_)3I]H%'=NH+;S)$9K!LIDR^SO *1;M(HNSN,P
M3VH7K.)9A@:\TKUJ$)(HND'8,V2>[IFBG#S^0W1UW6E\./VR./ /,+Q=Z*E%
M9"E*%1KD3,)HMC;!4N++3):BJ#(9BBJ6<%H@XLD@;6E6?;!/3K3G>1<W]T6N
MS>,)KM\,<'AT_@%02P,$%     @ BJ.25&60>9(9 0  SP,  !,   !;0V]N
M=&5N=%]4>7!E<UTN>&ULK9--3L,P$(6O$F5;)2XL6*"F&V +77 !8T\:J_Z3
M9UK2VS-.VDJ@$A6%3:QXWKS/GI>LWH\1L.B=]=B4'5%\% )5!TYB'2)XKK0A
M.4G\FK8B2K636Q#WR^6#4,$3>*HH>Y3KU3.T<F^I>.EY&TWP39G 8ED\C<+,
M:DH9HS5*$M?%P>L?E.I$J+EST&!G(BY84(JKA%SY'7#J>SM 2D9#L9&)7J5C
ME>BM0#I:P'K:XLH90]L:!3JHO>.6&F,"J;$#(&?KT70Q32:>,(S/N]G\P68*
MR,I-"A$YL01_QYTCR=U59"-(9*:O>"&R]>S[04Y;@[Z1S>/]#&DWY(%B6.;/
M^'O&%_\;SO$1PNZ_/[&\UDX:?^:+X3]>?P%02P$"% ,4    " "*HY)4!T%-
M8H$   "Q    $               @ $     9&]C4')O<',O87!P+GAM;%!+
M 0(4 Q0    ( (JCDE2GPJ'M[P   "L"   1              "  :\   !D
M;V-0<F]P<R]C;W)E+GAM;%!+ 0(4 Q0    ( (JCDE297)PC$ 8  )PG   3
M              "  <T!  !X;"]T:&5M92]T:&5M93$N>&UL4$L! A0#%
M  @ BJ.25&_8I4,R!   *Q   !@              ("!#@@  'AL+W=O<FMS
M:&5E=',O<VAE970Q+GAM;%!+ 0(4 Q0    ( (JCDE2?H!OPL0(  .(,   -
M              "  78,  !X;"]S='EL97,N>&UL4$L! A0#%     @ BJ.2
M5)>*NQS     $P(   L              ( !4@\  %]R96QS+RYR96QS4$L!
M A0#%     @ BJ.25*K$(A8S 0  (@(   \              ( !.Q   'AL
M+W=O<FMB;V]K+GAM;%!+ 0(4 Q0    ( (JCDE0D'INBK0   /@!   :
M          "  9L1  !X;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<U!+ 0(4
M Q0    ( (JCDE1ED'F2&0$  ,\#   3              "  8 2  !;0V]N
E=&5N=%]4>7!E<UTN>&UL4$L%!@     )  D /@(  ,H3      $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
..report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

..report table.authRefData a {
	display: block;
	font-weight: bold;
}

..report table.authRefData p {
	margin-top: 0px;
}

..report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

..report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

..report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

..report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
..pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
..report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

..report hr {
	border: 1px solid #acf;
}

/* Top labels */
..report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

..report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

..report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

..report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

..report td.pl div.a {
	width: 200px;
}

..report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
..report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
..report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
..report .re, .report .reu {
	background-color: #def;
}

..report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
..report .ro, .report .rou {
	background-color: white;
}

..report .rou td {
	border-bottom: 1px solid black;
}

..report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
..report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
..report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

..report .nump {
	padding-left: 2em;
}

..report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
..report .text {
	text-align: left;
	white-space: normal;
}

..report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

..report .text .more {
	display: none;
}

..report .text .note {
	font-style: italic;
	font-weight: bold;
}

..report .text .small {
	width: 10em;
}

..report sup {
	font-style: italic;
}

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.22.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>1</ContextCount>
  <ElementCount>22</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>0</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>3</UnitCount>
  <MyReports>
    <Report instance="tomz_8k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://tomz.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="8-K" original="tomz_8k.htm">tomz_8k.htm</File>
    <File>tomz-20220418.xsd</File>
    <File>tomz-20220418_cal.xml</File>
    <File>tomz-20220418_def.xml</File>
    <File>tomz-20220418_lab.xml</File>
    <File>tomz-20220418_pre.xml</File>
    <File>tomz_ex991.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="22">http://xbrl.sec.gov/dei/2021q4</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>16
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "tomz_8k.htm": {
   "axisCustom": 0,
   "axisStandard": 0,
   "contextCount": 1,
   "dts": {
    "calculationLink": {
     "local": [
      "tomz-20220418_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "tomz-20220418_def.xml"
     ]
    },
    "inline": {
     "local": [
      "tomz_8k.htm"
     ]
    },
    "labelLink": {
     "local": [
      "tomz-20220418_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "tomz-20220418_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "tomz-20220418.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd",
      "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd",
      "https://xbrl.fasb.org/srt/2021/elts/srt-roles-2021-01-31.xsd",
      "https://xbrl.fasb.org/srt/2021/elts/srt-types-2021-01-31.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-roles-2021-01-31.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-types-2021-01-31.xsd",
      "https://xbrl.sec.gov/country/2021/country-2021.xsd",
      "https://xbrl.sec.gov/currency/2021/currency-2021.xsd",
      "https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd",
      "https://xbrl.sec.gov/exch/2021/exch-2021.xsd",
      "https://xbrl.sec.gov/naics/2021/naics-2021.xsd",
      "https://xbrl.sec.gov/sic/2021/sic-2021.xsd",
      "https://xbrl.sec.gov/stpr/2021/stpr-2021.xsd"
     ]
    }
   },
   "elementCount": 23,
   "entityCount": 1,
   "hidden": {
    "http://xbrl.sec.gov/dei/2021q4": 3,
    "total": 3
   },
   "keyCustom": 0,
   "keyStandard": 22,
   "memberCustom": 0,
   "memberStandard": 0,
   "nsprefix": "tomz",
   "nsuri": "http://tomz.com/20220418",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "strong",
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tomz_8k.htm",
      "contextRef": "From2022-04-18to2022-04-18",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:EntityRegistrantName",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "000001 - Document - Cover",
     "role": "http://tomz.com/role/Cover",
     "shortName": "Cover",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "strong",
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "baseRef": "tomz_8k.htm",
      "contextRef": "From2022-04-18to2022-04-18",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:EntityRegistrantName",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 0,
   "tag": {
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]"
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "xbrltype": "stringItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.",
        "label": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address Address Line 1"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address City Or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address State Or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation State Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "auth_ref": [
      "r3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act.",
        "label": "Pre Commencement Issuer Tender Offer"
       }
      }
     },
     "localname": "PreCommencementIssuerTenderOffer",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_PreCommencementTenderOffer": {
     "auth_ref": [
      "r4"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act.",
        "label": "Pre Commencement Tender Offer"
       }
      }
     },
     "localname": "PreCommencementTenderOffer",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r0"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Security 12b Title"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_SolicitingMaterial": {
     "auth_ref": [
      "r5"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act.",
        "label": "Soliciting Material"
       }
      }
     },
     "localname": "SolicitingMaterial",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "dei_WrittenCommunications": {
     "auth_ref": [
      "r6"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act.",
        "label": "Written Communications"
       }
      }
     },
     "localname": "WrittenCommunications",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://tomz.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    }
   },
   "unitCount": 3
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r1": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r2": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r3": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r4": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r5": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14a",
   "Subsection": "12"
  },
  "r6": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "425"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>17
<FILENAME>0001654954-22-005104-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001654954-22-005104-xbrl.zip
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
MBR@>*NWAU#K#N&NR239%66D\>,RFD$V'Z)X6A=E&=X;;Q1]02P,$%     @
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
M\K7"G_);2!"8"4W\>'C]_P!02P,$%     @ BJ.25 <A5F:S$0  *T(   X
M  !T;VUZ7V5X.3DQ+FAT;>U<_7,;M]'^5_"Z36K/D+2HQ&]M2=64EFB;C2VI
M)-TV_:4#WH$DK+O#!;@3S?[U?787=SQ)EN-T8G>4L6=BTB1NL5CLQ[,?S-&Z
MRK/CH[71Z?%19:O,'%<N__>_S/MGSX8#?'GT6#X]^K]^_]0E=6Z*2B7>Z,JD
MJ@ZV6*GQZ<O1](T.E?']_O'18R&V<.E6A6J;F3\]F(__,>^/7D]>GAVHS"RK
M0_7B_&Q^H(9[9:4JFYN@"K-1WN6Z>'!\5#;/T:K^;/+/L2R5Q_HO1F\FKW\\
MN/G@H7HSFKZ<8(N]\OVAJLS[JJ\SNRH.O%VMJT,0#I5WQ>IX_(]7D^>3N7KV
M;# \>AP_/'I<'JM??>L$XC(>>W];+$)Y^)DW:0XX/W\S4:.SL_.W9R?CF3H9
MGZO9J]%T_.K\]>EXJEZ/YW.\G$YF)V]GL\G92W4Q';^>O)F<C:8_JB\ED8;9
M%Y/I;*[^^G8T)::FX]G;U_-93[V<GO]]_DK-YM/1?/SR1QSG5 Z!)2\G_/'D
M_.PS,\O*^GDO+V[Q8CK&U4Q.?NBI-Z<]-2J]S=3P:4_M[^WO?_N[I_O#_4/%
M]SHNKBR.3(:H,S5S65U95X2>FA3)X-O?#?_X_:%Z2$_L[QW2 _QV>/A(/3P;
MS4Y'?ST@,O]\U%-:K3*W (W$Y:4NMJI:ZTJ%TB06K/T;[-M"I18VOC0)[:%T
MD:K4) X[Y[;0_%FU]JY>K?%J%#C!@_*Y6RI;!55ZDUOCU7.L]ULU<46S8&Z2
M=>$RM]JJA[#&1ZK,=+5T/F])TO,S*(M^8T.E%IZV!]G2N[1.*IRXK!>9#6MX
M(@V_4F&I6D+<S,N)'(I%]\?#H$[6UBS5^+U)P.654>?+I4V,[ZE3/U"O=)::
M0LW6NC ]53D5UMJ;M<.G/@S4'/0B?4M22;(ZQ:80#[&(B[#>5%NU,)G;'*A[
MJXJW3/.VT_C-V-NIT9[NN[WEWGT_T41M=$%1&>I;Z4O#5N#*TOFJ+BS4$Y_#
M=*YL:E1PN2'3S&PN=NE-J#/H,NR/GUM:#Y/[J=:>E-X4I.YOM$_6ZKNA^"2E
M@]J8+*-74*[+%)! ;5VMV"D0>;<"65JE(&:5ZTM""T8L$.]<[54&70)LP":Y
M6GFWJ=80C@>EU7:@+C*C@U&%JXSX)MAKI6%U7<Z7>"G(8\$<R7N(<TE-2+Q=
M@.NU\0:/K,$F",%&8>>Z3BU)BAP*##K4BW?P<'0,G;ZK0\4@9X&]T^8P-[T)
MN4QXA.CH:$6451^RZO"49"ZP*!)(PH3!?5*RW7^V^-!VY!6;T"$:<EMS(!Q6
MEHW%S4+^>I$997/20T-2AG:L<2%,QHON(O)!"4N#EY1#$ @,!W(V]7<#=8(R
M)3JLU1+N5I4N6';H[/D=GF,-N*G*=%"%4):(702*8ND--O=8(7)H&&D973XT
M=.,\ZVVB2TL!5_9S18<C\[XD];E^\J SPY9!:JUTB2._M]!.DVW5</B-@@!
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
M7W?]^;QMZAO#"9]ULSM&).[[S76GHH"GOG^Z?_CQ(9J#MHR-D"$I9]!+P[W
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
M^#]02P$"% ,4    " "*HY)4DHSI:9H$  #Q%@  $0              @ $
M    =&]M>BTR,#(R,#0Q."YX<V102P$"% ,4    " "*HY)49*CT/=L!  "+
M P  %0              @ ')!   =&]M>BTR,#(R,#0Q.%]C86PN>&UL4$L!
M A0#%     @ BJ.25$'C%RJ7 @  2 @  !4              ( !UP8  '1O
M;7HM,C R,C T,3A?9&5F+GAM;%!+ 0(4 Q0    ( (JCDE2NO&VU"@8  -,W
M   5              "  :$)  !T;VUZ+3(P,C(P-#$X7VQA8BYX;6Q02P$"
M% ,4    " "*HY)4C+=-"(D$  !>(P  %0              @ '>#P  =&]M
M>BTR,#(R,#0Q.%]P<F4N>&UL4$L! A0#%     @ BJ.25'7/#Z;]#@  ?6$
M  L              ( !FA0  '1O;7I?.&LN:'1M4$L! A0#%     @ BJ.2
M5 <A5F:S$0  *T(   X              ( !P",  '1O;7I?97@Y.3$N:'1M
64$L%!@     '  < P $  )\U      $!

end
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
