XML 61 R47.htm IDEA: XBRL DOCUMENT
v3.19.3.a.u2

Revenue Recognition, Contracts with Customers, Remaining Performance Obligations, Assets Recognized for the Costs to Obtain or Fulfill a Contract (Details) - USD ($) $ in Thousands | 3 Months Ended | 9 Months Ended
--- | --- | ---
Jan. 31, 2020 | Jan. 31, 2019 | Jan. 31, 2020 | Jan. 31, 2019
Remaining Performance Obligations [Abstract] |  |  |  |
Remaining performance obligations | $ 428,900 |  | $ 428,900 |
Assets Recognized for the Costs to Obtain or Fulfill a Contract [Abstract] |  |  |  |
Costs capitalized | 11,200 |  | 11,200 |
Amortization | 1,000 | $ 700 | 3,100 | $ 1,900
Cost of revenue [Abstract] |  |  |  |
Operating and administrative expenses | 245,683 | 240,715 | 736,233 | 717,348
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2020-02-01 |  |  |  |
Remaining Performance Obligations [Abstract] |  |  |  |
Remaining performance obligations | $ 372,600 |  | $ 372,600 |
Expected timing of satisfaction, period | 12 months |  | 12 months |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-02-01 |  |  |  |
Remaining Performance Obligations [Abstract] |  |  |  |
Remaining performance obligations | $ 15,800 |  | $ 15,800 |
Expected timing of satisfaction, period |  |  |  |
Shipping and Handling [Member] |  |  |  |
Cost of revenue [Abstract] |  |  |  |
Operating and administrative expenses | $ 7,700 | $ 7,900 | $ 22,700 | $ 24,400

X
- References No definition available. + Details
Name: | us-gaap_CapitalizedContractCostAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 340 -SubTopic 40 -Section 50 -Paragraph 3 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=68051541&loc=SL49131252-203054 + Details
Name: | us-gaap_CapitalizedContractCostAmortization
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 340 -SubTopic 40 -Section 50 -Paragraph 3 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=68051541&loc=SL49131252-203054 + Details
Name: | us-gaap_CapitalizedContractCostNet
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- References No definition available. + Details
Name: | us-gaap_OperatingCostsAndExpensesAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of transaction price allocated to performance obligation that has not been recognized as revenue. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 13 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=118956577&loc=SL49130556-203045 + Details
Name: | us-gaap_RevenueRemainingPerformanceObligation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 13 -Subparagraph (b)(1) -URI http://asc.fasb.org/extlink&oid=118956577&loc=SL49130556-203045 + Details
Name: | us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Definition The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 330 -SubTopic 10 -Section 30 -Paragraph 8 -URI http://asc.fasb.org/extlink&oid=68048583&loc=d3e3636-108311 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 220 -SubTopic 10 -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03.4) -URI http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227 + Details
Name: | us-gaap_SellingGeneralAndAdministrativeExpense
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Details
Name: | us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2020-02-01
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2021-02-01
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_ProductOrServiceAxis=us-gaap_ShippingAndHandlingMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |